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 21535 invoked from network); 6 Nov 2023 18:49:41 -0000 Received: from second.openwall.net (193.110.157.125) by inbox.vuxu.org with ESMTPUTF8; 6 Nov 2023 18:49:41 -0000 Received: (qmail 7960 invoked by uid 550); 6 Nov 2023 18:49:37 -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 7922 invoked from network); 6 Nov 2023 18:49:36 -0000 Date: Mon, 6 Nov 2023 13:49:33 -0500 From: Rich Felker To: musl@lists.openwall.com Message-ID: <20231106184933.GU4163@brightrain.aerifal.cx> References: <20231012183148.GD1427497@port70.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20231012183148.GD1427497@port70.net> User-Agent: Mutt/1.5.21 (2010-09-15) Subject: Re: [musl] [PATCH] make __getauxval a public ABI symbol 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. Rich