[PATCH newlib] libc/include/malloc.h: Add prototype for GNU extension malloc_usable_size()

C Howland cc1964t@gmail.com
Tue Mar 15 15:38:20 GMT 2022


>
> ------------------------------
> *From:* Newlib <newlib-bounces+craig.howland=caci.com@sourceware.org> on
> behalf of Joel Sherrill <joel@rtems.org>
> *Sent:* Tuesday, March 15, 2022 11:16 AM
> *To:* newlib@sourceware.org <newlib@sourceware.org>
> *Subject:* [PATCH newlib] libc/include/malloc.h: Add prototype for GNU
> extension malloc_usable_size()
>
>
> This is not provided by the newlib malloc implementation but may
> be available in external implementations.
> ---
>  newlib/libc/include/malloc.h | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/newlib/libc/include/malloc.h b/newlib/libc/include/malloc.h
> index a9dc5bca6..e73095e1e 100644
> --- a/newlib/libc/include/malloc.h
> +++ b/newlib/libc/include/malloc.h
> @@ -137,6 +137,10 @@ extern void __malloc_lock(struct _reent *);
>
>  extern void __malloc_unlock(struct _reent *);
>
> +#if __GNU_VISIBLE
> +extern size_t malloc_usable_size(void *);
> +#endif
> +
>  /* A compatibility routine for an earlier version of the allocator.  */
>
>  extern void mstats (char *);
> --
> 2.24.4
>
>
     Sorry, but I fail to see why adding this makes sense.  If there's an
application which adds a function they should be editing the header file
when they add it.  (There's not even a stub being supplied here.)
Additionally, the Linux man page for the function says "The main use of
this function is for debugging and introspection."  That is, it is not even
a general application utility, but of very limited use.  Either provide the
function with the prototype or no prototype.
                                    Craig


More information about the Newlib mailing list