Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Mon, 6 Nov 2023 22:51:42 +0100
From: Szabolcs Nagy <nsz@...t70.net>
To: Rich Felker <dalias@...c.org>
Cc: musl@...ts.openwall.com
Subject: Re: [PATCH] make __getauxval a public ABI symbol

* Rich Felker <dalias@...c.org> [2023-11-06 13:49:33 -0500]:
> On Thu, Oct 12, 2023 at 08:31:48PM +0200, Szabolcs Nagy wrote:
> > This is needed so that libgcc can access AT_HWCAP without violating
> > link namespace rules.
> > 
> > Internally musl already used __getauxval symbol for the same reason,
> > we just remove the hidden marking.
> > 
> > Currently libgcc only uses __getauxval on aarch64 for outline atomics
> > and only on glibc, but there is plan to add more usage (this time in
> > the unwinder) which may cause link failure on musl in the future.
> > (libgcc cannot easily check for libc symbols due to bootstrap order,
> > the feature could be unconditionally disabled for *-linux-musl, but
> > it's probably more future proof to provide the symbol.)
> > ---
> >  src/include/sys/auxv.h | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/src/include/sys/auxv.h b/src/include/sys/auxv.h
> > index 9358a4a5..63c5bfe9 100644
> > --- a/src/include/sys/auxv.h
> > +++ b/src/include/sys/auxv.h
> > @@ -5,6 +5,6 @@
> >  
> >  #include <features.h>
> >  
> > -hidden unsigned long __getauxval(unsigned long);
> > +unsigned long __getauxval(unsigned long);
> >  
> >  #endif
> > -- 
> > 2.41.0
> 
> This is probably okay. Are error/errno semantics expected to be the
> same as the public getauxval? IIRC this was a topic of confusion at
> one point in the past.

this is not documented or publicly declared symbol, but in glibc
it is an alias of getauxval so has the exact same semantics.
(it is an abi symbol so won't change)

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.