From: Florian Weimer Date: Fri, 6 Sep 2024 12:07:00 +0000 (+0200) Subject: stdlib: Do not use GLIBC_PRIVATE ABI for errno in libc_nonshared.a X-Git-Tag: glibc-2.41~681 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7d6e30b4b4e83429cc77222d4fe4d5e8843d8e2b;p=thirdparty%2Fglibc.git stdlib: Do not use GLIBC_PRIVATE ABI for errno in libc_nonshared.a Using TLS directly introduces a GLIBC_PRIVATE ABI dependency into libc_nonshared.a, and thus indirectly into applications. Adding the !defined LIBC_NONSHARED condition deactivates direct TLS access, and libc_nonshared.a code switches to using __errno_location, like application code. Currently, this has no effect because there is no code in libc_nonshared.a that accesses errno. Reviewed-by: Carlos O'Donell --- diff --git a/include/errno.h b/include/errno.h index c361a785c2..f0ccaa74dd 100644 --- a/include/errno.h +++ b/include/errno.h @@ -20,7 +20,7 @@ # define errno rtld_errno extern int rtld_errno attribute_hidden; -# elif IS_IN_LIB && !IS_IN (rtld) +# elif IS_IN_LIB && !IS_IN (rtld) && !defined LIBC_NONSHARED # undef errno # if IS_IN (libc)