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

Mike Frysinger vapier@gentoo.org
Tue Mar 15 20:36:28 GMT 2022


On 15 Mar 2022 19:42, Sebastian Huber wrote:
> On 15/03/2022 16:47, Mike Frysinger wrote:
> > On 15 Mar 2022 10:16, Joel Sherrill wrote:
> >> 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
> >> +
> > i'm confused.  isn't this prototype already defined in this header file
> > on line 101 above where you added this ?
> 
> Yes, and it is implemented by the Newlib malloc.

while true, we disable malloc in newlib for rtems:

newlib/configure.host:
# RTEMS supplies its own versions of some routines:
#       malloc()            (reentrant version)
#...
  *-*-rtems*)
    ...
    newlib_cflags="${newlib_cflags} ... -DMALLOC_PROVIDED ...

so i'm not sure what trouble Joel is running into.  maybe rtems also provides
its own malloc.h and that's what is missing this prototype.
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/newlib/attachments/20220315/6e8414e6/attachment.sig>


More information about the Newlib mailing list