From d8b8842b047cf1119609fa24b2ee59ddc69da7fb Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Thu, 14 Nov 2002 21:23:12 +0000 Subject: * sysdeps/generic/errno.c [! USE___THREAD] [HAVE_ELF && SHARED && DO_VERSIONING] (errno, _errno): Declare these with compat_symbol so they are not link-time visible. [! USE___THREAD] (__libc_errno): New alias for errno. * csu/Versions [!(USE_TLS && HAVE___THREAD)] (libc: GLIBC_PRIVATE): Add __libc_errno here. * inet/herrno.c [USE___THREAD]: Use this conditional in place of [USE_TLS && HAVE___THREAD]. [! USE___THREAD] [HAVE_ELF && SHARED && DO_VERSIONING] (h_errno, _h_errno): Declare these with compat_symbol so they are not link-time visible. [! USE___THREAD] (__libc_h_errno): New alias for h_errno. * resolv/res_libc.c [! USE___THREAD] [HAVE_ELF && SHARED && DO_VERSIONING] (_res): Likewise. (_res): Use __attribute__ ((section (".bss"))) so we can have an alias. (__libc_res): Define as alias for _res. * resolv/Versions [!(USE_TLS && HAVE___THREAD)] (libc: GLIBC_PRIVATE): Add __libc_h_errno and __libc_res here. 2002-11-14 Jakub Jelinek * csu/Versions (errno): Move STT_TLS symbol to GLIBC_PRIVATE for now. * resolv/Versions (h_errno, _res): Likewise. 2002-11-14 Roland McGrath --- sysdeps/generic/errno.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'sysdeps') diff --git a/sysdeps/generic/errno.c b/sysdeps/generic/errno.c index e33c6b8..45c9639 100644 --- a/sysdeps/generic/errno.c +++ b/sysdeps/generic/errno.c @@ -31,4 +31,15 @@ extern __thread int __libc_errno __attribute__ ((alias ("errno"))) which can have an alias. */ int errno __attribute__ ((section (".bss"))); strong_alias (errno, _errno) + +/* This alias is needed by libpthread. */ +strong_alias (errno, __libc_errno) + +/* We declare these with compat_symbol so that they are not + visible at link time. Programs must use the accessor functions. */ +# if defined HAVE_ELF && defined SHARED && defined DO_VERSIONING +# include +compat_symbol (libc, errno, errno, GLIBC_2_0); +compat_symbol (libc, _errno, _errno, GLIBC_2_0); +# endif #endif -- cgit v1.1