From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.3 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 2266 invoked from network); 6 Nov 2023 22:00:27 -0000 Received: from second.openwall.net (193.110.157.125) by inbox.vuxu.org with ESMTPUTF8; 6 Nov 2023 22:00:27 -0000 Received: (qmail 3997 invoked by uid 550); 6 Nov 2023 22:00:24 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Reply-To: musl@lists.openwall.com Received: (qmail 3953 invoked from network); 6 Nov 2023 22:00:23 -0000 Date: Mon, 6 Nov 2023 22:51:42 +0100 From: Szabolcs Nagy To: Rich Felker Cc: musl@lists.openwall.com Message-ID: <20231106215142.GG1427497@port70.net> Mail-Followup-To: Rich Felker , musl@lists.openwall.com References: <20231012183148.GD1427497@port70.net> <20231106184933.GU4163@brightrain.aerifal.cx> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20231106184933.GU4163@brightrain.aerifal.cx> Subject: Re: [musl] [PATCH] make __getauxval a public ABI symbol * Rich Felker [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 > > > > -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)