]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
* configure.in: Search for AUTOCONF unconditionally.
authorRoland McGrath <roland@gnu.org>
Wed, 30 Apr 2003 04:18:12 +0000 (04:18 +0000)
committerRoland McGrath <roland@gnu.org>
Wed, 30 Apr 2003 04:18:12 +0000 (04:18 +0000)
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.

ChangeLog
Makerules
include/libc-symbols.h

index d47b2e565504294ef4e63215d693d0b25124a187..6f8c41661ed4e1c6160f1ac91fee421aa737856e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2003-04-29  Roland McGrath  <roland@redhat.com>
+
+       * 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.
+
 2003-04-29  Ulrich Drepper  <drepper@redhat.com>
 
        * sysdeps/unix/sysv/linux/ifaddrs.c (getifaddrs): Use __ protected
index 0929e6e92c0db617adf0007fd635c1d9a2957bc5..d855ae344c4fa08df5dafabcdef1d4c92142eb97 100644 (file)
--- a/Makerules
+++ b/Makerules
@@ -511,7 +511,7 @@ endif
 ifeq (yes,$(elf))
 # binutils only position loadable notes into the first page for binaries,
 # not for shared objects
-$(common-objpfx)shlib.lds: $(common-objpfx)config.make
+$(common-objpfx)shlib.lds: $(common-objpfx)config.make $(..)Makerules
        $(LINK.o) -shared -Wl,-O1 \
                  $(sysdep-LDFLAGS) $(config-LDFLAGS) $(LDFLAGS.so) \
                  -Wl,--verbose 2>&1 | \
@@ -519,9 +519,9 @@ $(common-objpfx)shlib.lds: $(common-objpfx)config.make
              -e '/^=========/,/^=========/!d;/^=========/d' \
              -e 's/^.*\.hash[  ]*:.*$$/  .note.ABI-tag : { *(.note.ABI-tag) } &/' \
              -e 's/^.*\*(\.dynbss).*$$/& \
-                __start___libc_freeres_ptrs = .; \
+                PROVIDE(__start___libc_freeres_ptrs = .); \
                 *(__libc_freeres_ptrs) \
-                __stop___libc_freeres_ptrs = .;/'
+                PROVIDE(__stop___libc_freeres_ptrs = .);/'
        mv -f $@T $@
 common-generated += shlib.lds
 
index c4bd02835edafea08700a6a81ae3a82bf3cb87eb..79add73307d0c16667f92eba0452c5504a04a8a7 100644 (file)
    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)