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