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

Joel Sherrill joel@rtems.org
Tue Mar 15 15:44:33 GMT 2022


On Tue, Mar 15, 2022, 10:38 AM C Howland <cc1964t@gmail.com> wrote:

> >
> > ------------------------------
> > *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.
>

RTEMS provides its own malloc family implementation and we are providing
it. I can wrap all that in an RTEMS conditional if you like.

I have no experience with the malloc implementation in Newlib or any idea
how to implement it.

--joel

>                                     Craig
>


More information about the Newlib mailing list