From: Roland McGrath Date: Mon, 30 Dec 2002 00:10:07 +0000 (+0000) Subject: * resolv/res_libc.c: Move _res defn magic after res_init defn X-Git-Tag: cvs/glibc-2_3_2~442 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4aeb650e63ca7d7cdb62ce081ba7ddd9b6dfb683;p=thirdparty%2Fglibc.git * resolv/res_libc.c: Move _res defn magic after res_init defn so _res macro is in effect for that code. --- diff --git a/ChangeLog b/ChangeLog index 8cf0aef0183..a128a8018d5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2002-12-29 Roland McGrath + * resolv/res_libc.c: Move _res defn magic after res_init defn + so _res macro is in effect for that code. + * Makerules ($(common-objpfx)%.h $(common-objpfx)%.h.d): Fix sed pattern for prepending $(..) so it doesn't affect $(foo). diff --git a/resolv/res_libc.c b/resolv/res_libc.c index 4f67a31785e..67a3467aa7d 100644 --- a/resolv/res_libc.c +++ b/resolv/res_libc.c @@ -20,28 +20,6 @@ #include #include -#undef _res - -#include - -#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. */ -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. */ -# if defined HAVE_ELF && defined SHARED && defined DO_VERSIONING -# include -compat_symbol (libc, _res, _res, GLIBC_2_0); -# endif -#endif - /* The following bit is copied from res_data.c (where it is #ifdef'ed out) since res_init() should go into libc.so but the rest of that @@ -87,6 +65,28 @@ res_init(void) { return (__res_vinit(&_res, 1)); } +/* This needs to be after the use of _res in res_init, above. */ +#undef _res + +#include + +#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. */ +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. */ +# if defined HAVE_ELF && defined SHARED && defined DO_VERSIONING +# include +compat_symbol (libc, _res, _res, GLIBC_2_0); +# endif +#endif #include