From: Roland McGrath Date: Tue, 27 Aug 2013 18:04:46 +0000 (-0700) Subject: Clean up _res declaration to use __thread unconditionally. X-Git-Tag: glibc-2.19~866 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fb431262c12a8e2630225518300a4e1e0c4e918b;p=thirdparty%2Fglibc.git Clean up _res declaration to use __thread unconditionally. --- diff --git a/ChangeLog b/ChangeLog index e73a3013612..d5fc59bd796 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,12 @@ 2013-08-27 Roland McGrath + * include/resolv.h [_RESOLV_H_]: + Don't include . + (__resp, _res): Move declaration and macro out of [_LIBC_REENTRANT]. + * resolv/res_libc.c: Don't include . + (_res): Use __attribute__ ((nocommon)) in place of + __attribute__ ((section (".bss"))). + * Makefile ($(common-objpfx)linkobj/libc_pic.a): If [sunrpc not in $(subdirs)], define to use libc_pic.a directly. diff --git a/include/resolv.h b/include/resolv.h index 30ea8776b5d..87b3598330a 100644 --- a/include/resolv.h +++ b/include/resolv.h @@ -13,20 +13,12 @@ #ifdef _RESOLV_H_ -# ifdef _LIBC_REENTRANT -# include -# undef _res -# ifndef NOT_IN_libc -# define __resp __libc_resp -# endif -# define _res (*__resp) -extern __thread struct __res_state *__resp attribute_tls_model_ie; -# else -# ifndef __BIND_NOSTATIC -# undef _res -extern struct __res_state _res; -# endif +# ifndef NOT_IN_libc +# define __resp __libc_resp # endif +extern __thread struct __res_state *__resp attribute_tls_model_ie; +# undef _res +# define _res (*__resp) /* Now define the internal interfaces. */ extern int __res_vinit (res_state, int); diff --git a/resolv/res_libc.c b/resolv/res_libc.c index 48d3200b7e2..0b37f46aea5 100644 --- a/resolv/res_libc.c +++ b/resolv/res_libc.c @@ -122,9 +122,7 @@ libc_hidden_def (__res_maybe_init) This differs from plain `struct __res_state _res;' 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"))); - -#include +struct __res_state _res __attribute__ ((nocommon)); #undef __resp __thread struct __res_state *__resp = &_res;