mirror of git://sourceware.org/git/glibc.git
Update.
2003-12-17 Ulrich Drepper <drepper@redhat.com> * elf/rtld.c: Don't use strong_alias to define _rtld_local. This removes the visibility attributes which might be defined earlier for some gcc versions. Instead spell out what strong_alias does plus the visibility.
This commit is contained in:
parent
93226feb21
commit
27a754a97b
|
|
@ -1,3 +1,10 @@
|
||||||
|
2003-12-17 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
|
* elf/rtld.c: Don't use strong_alias to define _rtld_local. This
|
||||||
|
removes the visibility attributes which might be defined earlier
|
||||||
|
for some gcc versions. Instead spell out what strong_alias does
|
||||||
|
plus the visibility.
|
||||||
|
|
||||||
2003-12-16 Petter Reinholdtsen <pere@hungry.com>
|
2003-12-16 Petter Reinholdtsen <pere@hungry.com>
|
||||||
|
|
||||||
* posix/regex_internal.h: Make sure the regex code compile
|
* posix/regex_internal.h: Make sure the regex code compile
|
||||||
|
|
|
||||||
|
|
@ -105,7 +105,12 @@ struct rtld_global _rtld_global =
|
||||||
._dl_load_lock = _RTLD_LOCK_RECURSIVE_INITIALIZER
|
._dl_load_lock = _RTLD_LOCK_RECURSIVE_INITIALIZER
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
strong_alias (_rtld_global, _rtld_local);
|
/* If we would use strong_alias here the compiler would see a
|
||||||
|
non-hidden definition. This would undo the effect of the previous
|
||||||
|
declaration. So spell out was strong_alias does plus add the
|
||||||
|
visibility attribute. */
|
||||||
|
extern struct rtld_global _rtld_local
|
||||||
|
__attribute__ ((alias ("_rtld_global"), visibility ("hidden")));
|
||||||
|
|
||||||
static void dl_main (const ElfW(Phdr) *phdr, ElfW(Word) phnum,
|
static void dl_main (const ElfW(Phdr) *phdr, ElfW(Word) phnum,
|
||||||
ElfW(Addr) *user_entry);
|
ElfW(Addr) *user_entry);
|
||||||
|
|
@ -140,7 +145,7 @@ DL_SYSINFO_IMPLEMENTATION
|
||||||
/* Before ld.so is relocated we must not access variables which need
|
/* Before ld.so is relocated we must not access variables which need
|
||||||
relocations. This means variables which are exported. Variables
|
relocations. This means variables which are exported. Variables
|
||||||
declared as static are fine. If we can mark a variable hidden this
|
declared as static are fine. If we can mark a variable hidden this
|
||||||
is fine, too. The latter is impotant here. We can avoid setting
|
is fine, too. The latter is important here. We can avoid setting
|
||||||
up a temporary link map for ld.so if we can mark _rtld_global as
|
up a temporary link map for ld.so if we can mark _rtld_global as
|
||||||
hidden. */
|
hidden. */
|
||||||
#if defined PI_STATIC_AND_HIDDEN && defined HAVE_HIDDEN \
|
#if defined PI_STATIC_AND_HIDDEN && defined HAVE_HIDDEN \
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue