diff options
author | Roland McGrath <roland@gnu.org> | 2003-04-30 04:18:12 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2003-04-30 04:18:12 +0000 |
commit | 20792f9946b2ef0c9e6b75f4243d4404850ecd38 (patch) | |
tree | 56f10d817758d626bf23ade6071db5c74a6d736b /include | |
parent | 476e7d78f4db291606903b9616515d47598dc791 (diff) | |
download | glibc-20792f9946b2ef0c9e6b75f4243d4404850ecd38.tar glibc-20792f9946b2ef0c9e6b75f4243d4404850ecd38.tar.gz glibc-20792f9946b2ef0c9e6b75f4243d4404850ecd38.tar.bz2 glibc-20792f9946b2ef0c9e6b75f4243d4404850ecd38.zip |
* configure.in: Search for AUTOCONF unconditionally.
Just don't complain about missing it under --without-cvs.
* configure: Regenerated.
* include/libc-symbols.h (__symbol_set_attribute): New macro,
give hidden for [SHARED] and weak for [! SHARED].
(symbol_set_declare): Use that. Never need weak_extern these days.
* Makerules ($(common-objpfx)shlib.lds): Go back to using PROVIDE.
Depend on $(..)Makerules.
Diffstat (limited to 'include')
-rw-r--r-- | include/libc-symbols.h | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/include/libc-symbols.h b/include/libc-symbols.h index c4bd02835e..79add73307 100644 --- a/include/libc-symbols.h +++ b/include/libc-symbols.h @@ -345,11 +345,18 @@ be able to use the set's contents. */ # define symbol_set_define(set) symbol_set_declare(set) -/* Declare SET for use in this module, if defined in another module. */ +/* Declare SET for use in this module, if defined in another module. + In a shared library, this is always local to that shared object. + For static linking, the set might be wholly absent and so we use + weak references. */ # define symbol_set_declare(set) \ - extern void *const __start_##set __attribute__ ((__weak__)); \ - extern void *const __stop_##set __attribute__ ((__weak__)); \ - weak_extern (__start_##set) weak_extern (__stop_##set) + extern void *const __start_##set __symbol_set_attribute; \ + extern void *const __stop_##set __symbol_set_attribute; +# ifdef SHARED +# define __symbol_set_attribute attribute_hidden +# else +# define __symbol_set_attribute __attribute__ ((weak)) +# endif /* Return a pointer (void *const *) to the first element of SET. */ # define symbol_set_first_element(set) (&__start_##set) |