diff --git a/csu/Versions b/csu/Versions index bd82a96149..a1321a9df8 100644 --- a/csu/Versions +++ b/csu/Versions @@ -21,10 +21,6 @@ libc { %if USE_TLS && HAVE___THREAD # This version is for the TLS symbol, GLIBC_2.0 is the old object symbol. errno; -%else - # This internal alias is solely to give libpthread access - # to the variable that is not directly user-visible at link time. - __libc_errno; %endif } } diff --git a/inet/herrno.c b/inet/herrno.c index f0ee81b804..b85d75be53 100644 --- a/inet/herrno.c +++ b/inet/herrno.c @@ -34,9 +34,6 @@ extern __thread int __libc_h_errno __attribute__ ((alias ("h_errno"))) int h_errno = 0; weak_alias (h_errno, _h_errno) -/* This alias is needed by libpthread. */ -strong_alias (h_errno, __libc_h_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 diff --git a/resolv/Versions b/resolv/Versions index 238d579d8c..2449a41cea 100644 --- a/resolv/Versions +++ b/resolv/Versions @@ -35,10 +35,6 @@ libc { %if USE_TLS && HAVE___THREAD # This version is for the TLS symbol, GLIBC_2.0 is the old object symbol. h_errno; _res; -%else - # These internal aliases are solely to give libpthread access - # to the variables that are not directly user-visible. - __libc_h_errno; __libc_res; %endif } } diff --git a/resolv/res_libc.c b/resolv/res_libc.c index b1132b0ffd..7c4fd7a119 100644 --- a/resolv/res_libc.c +++ b/resolv/res_libc.c @@ -24,22 +24,15 @@ #include -#if USE_TLS && HAVE___THREAD +#if USE___THREAD /* With __thread support, this per-thread variable is used in all cases. */ __thread struct __res_state _res; extern __thread struct __res_state __libc_res __attribute__ ((alias ("_res"))) attribute_hidden; # define _res __libc_res #else -/* The resolver state for use by single-threaded programs. - - This differs from a plain uninitialized definition in that it doesn't - create a common definition, but a plain symbol that resides in .bss, - which can have an alias. */ -struct __res_state _res __attribute__ ((section (".bss"))); - -/* This alias is needed by libpthread. */ -strong_alias (_res, __libc_res) +/* The resolver state for use by single-threaded programs. */ +struct __res_state _res; /* We declare this with compat_symbol so that it's not visible at link time. Programs must use the accessor functions. */ @@ -52,7 +45,9 @@ compat_symbol (libc, _res, _res, GLIBC_2_0); /* This function is used to access the resolver state in single-threaded programs. */ struct __res_state * +#if ! USE___THREAD weak_const_function +#endif __res_state (void) { return &_res; diff --git a/sysdeps/generic/errno.c b/sysdeps/generic/errno.c index 45c9639095..1c0561c2d7 100644 --- a/sysdeps/generic/errno.c +++ b/sysdeps/generic/errno.c @@ -32,9 +32,6 @@ extern __thread int __libc_errno __attribute__ ((alias ("errno"))) 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