* 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.
This commit is contained in:
parent
476e7d78f4
commit
20792f9946
12
ChangeLog
12
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>
|
2003-04-29 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
* sysdeps/unix/sysv/linux/ifaddrs.c (getifaddrs): Use __ protected
|
* sysdeps/unix/sysv/linux/ifaddrs.c (getifaddrs): Use __ protected
|
||||||
|
|
|
@ -511,7 +511,7 @@ endif
|
||||||
ifeq (yes,$(elf))
|
ifeq (yes,$(elf))
|
||||||
# binutils only position loadable notes into the first page for binaries,
|
# binutils only position loadable notes into the first page for binaries,
|
||||||
# not for shared objects
|
# 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 \
|
$(LINK.o) -shared -Wl,-O1 \
|
||||||
$(sysdep-LDFLAGS) $(config-LDFLAGS) $(LDFLAGS.so) \
|
$(sysdep-LDFLAGS) $(config-LDFLAGS) $(LDFLAGS.so) \
|
||||||
-Wl,--verbose 2>&1 | \
|
-Wl,--verbose 2>&1 | \
|
||||||
|
@ -519,9 +519,9 @@ $(common-objpfx)shlib.lds: $(common-objpfx)config.make
|
||||||
-e '/^=========/,/^=========/!d;/^=========/d' \
|
-e '/^=========/,/^=========/!d;/^=========/d' \
|
||||||
-e 's/^.*\.hash[ ]*:.*$$/ .note.ABI-tag : { *(.note.ABI-tag) } &/' \
|
-e 's/^.*\.hash[ ]*:.*$$/ .note.ABI-tag : { *(.note.ABI-tag) } &/' \
|
||||||
-e 's/^.*\*(\.dynbss).*$$/& \
|
-e 's/^.*\*(\.dynbss).*$$/& \
|
||||||
__start___libc_freeres_ptrs = .; \
|
PROVIDE(__start___libc_freeres_ptrs = .); \
|
||||||
*(__libc_freeres_ptrs) \
|
*(__libc_freeres_ptrs) \
|
||||||
__stop___libc_freeres_ptrs = .;/'
|
PROVIDE(__stop___libc_freeres_ptrs = .);/'
|
||||||
mv -f $@T $@
|
mv -f $@T $@
|
||||||
common-generated += shlib.lds
|
common-generated += shlib.lds
|
||||||
|
|
||||||
|
|
|
@ -345,11 +345,18 @@
|
||||||
be able to use the set's contents. */
|
be able to use the set's contents. */
|
||||||
# define symbol_set_define(set) symbol_set_declare(set)
|
# 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) \
|
# define symbol_set_declare(set) \
|
||||||
extern void *const __start_##set __attribute__ ((__weak__)); \
|
extern void *const __start_##set __symbol_set_attribute; \
|
||||||
extern void *const __stop_##set __attribute__ ((__weak__)); \
|
extern void *const __stop_##set __symbol_set_attribute;
|
||||||
weak_extern (__start_##set) weak_extern (__stop_##set)
|
# 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. */
|
/* Return a pointer (void *const *) to the first element of SET. */
|
||||||
# define symbol_set_first_element(set) (&__start_##set)
|
# define symbol_set_first_element(set) (&__start_##set)
|
||||||
|
|
Loading…
Reference in New Issue