public inbox for newlib@sourceware.org
 help / color / mirror / Atom feed
From: Joel Sherrill <joel@rtems.org>
To: Sebastian Huber <sebastian.huber@embedded-brains.de>,
	Joel Sherrill <joel@rtems.org>, Newlib <newlib@sourceware.org>
Subject: Re: [PATCH newlib] libc/include/malloc.h: Add prototype for GNU extension malloc_usable_size()
Date: Tue, 15 Mar 2022 16:14:32 -0500	[thread overview]
Message-ID: <CAF9ehCWc5W04rMXU0aWrJgo+u_kpUv7eZBoxiHukbCaaVnDWpg@mail.gmail.com> (raw)
In-Reply-To: <YjD4zB5ajXrAuwae@vapier>

On Tue, Mar 15, 2022 at 4:04 PM Mike Frysinger <vapier@gentoo.org> wrote:

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

We disable their implementation -- not the malloc.h header.

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

I was reviewing the submitted code which added malloc_usable_size
to RTEMS. It also added the prototype to an RTEMS internal file. I took
it on faith that the prototype was missing and looked at the Linux man
page for where the prototype should be. Then I just stupidly missed it.

Their code should have include malloc.h and not an internal RTEMS file.

Sorry and thanks.

--joel

-mike
>

  reply	other threads:[~2022-03-15 21:14 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-15 15:16 Joel Sherrill
     [not found] ` <BN2P110MB1544D6E89DF3E9BB09EC091D9A109@BN2P110MB1544.NAMP110.PROD.OUTLOOK.COM>
2022-03-15 15:38   ` C Howland
2022-03-15 15:44     ` Joel Sherrill
2022-03-15 15:54       ` C Howland
2022-03-15 15:47 ` Mike Frysinger
2022-03-15 18:42   ` Sebastian Huber
2022-03-15 20:36     ` Mike Frysinger
2022-03-15 21:14       ` Joel Sherrill [this message]
2022-03-15 20:54     ` Joel Sherrill
2022-03-15 23:50       ` Mike Frysinger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAF9ehCWc5W04rMXU0aWrJgo+u_kpUv7eZBoxiHukbCaaVnDWpg@mail.gmail.com \
    --to=joel@rtems.org \
    --cc=newlib@sourceware.org \
    --cc=sebastian.huber@embedded-brains.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).