diff options
author | Joseph Myers <joseph@codesourcery.com> | 2014-11-05 01:02:47 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2014-11-05 01:02:47 +0000 |
commit | ab97ee8f1bf70b24b417e8f690ce50563d508243 (patch) | |
tree | 0f561f1e7a0b27b06bc2443f3f60de4f73a77855 /elf | |
parent | c5684fdb2badfda3bd6e973e5f933272e39e9590 (diff) | |
download | glibc-ab97ee8f1bf70b24b417e8f690ce50563d508243.tar glibc-ab97ee8f1bf70b24b417e8f690ce50563d508243.tar.gz glibc-ab97ee8f1bf70b24b417e8f690ce50563d508243.tar.bz2 glibc-ab97ee8f1bf70b24b417e8f690ce50563d508243.zip |
Don't use INTDEF/INTUSE with _dl_mcount (bug 14132).
Continuing the removal of the obsolete INTDEF / INTUSE mechanism, this
patch replaces its use for _dl_mcount with use of rtld_hidden_def /
rtld_hidden_proto.
Tested for x86_64 that installed stripped shared libraries are
unchanged by the patch.
[BZ #14132]
* elf/dl-profile.c (_dl_mcount): Use rtld_hidden_def instead of
INTDEF.
* sysdeps/generic/ldsodefs.h (_dl_mcount_internal): Remove
declaration.
(_dl_mcount): Use rtld_hidden_proto.
* elf/dl-runtime.c (_dl_profile_fixup): Don't use INTUSE with
_dl_mcount.
* elf/rtld.c (_rtld_global_ro): Likewise.
Diffstat (limited to 'elf')
-rw-r--r-- | elf/dl-profile.c | 2 | ||||
-rw-r--r-- | elf/dl-runtime.c | 2 | ||||
-rw-r--r-- | elf/rtld.c | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/elf/dl-profile.c b/elf/dl-profile.c index 2fca7fda19..4f83497d32 100644 --- a/elf/dl-profile.c +++ b/elf/dl-profile.c @@ -598,4 +598,4 @@ _dl_mcount (ElfW(Addr) frompc, ElfW(Addr) selfpc) done: ; } -INTDEF(_dl_mcount) +rtld_hidden_def (_dl_mcount) diff --git a/elf/dl-runtime.c b/elf/dl-runtime.c index 11eba4a832..ee02d5a0e4 100644 --- a/elf/dl-runtime.c +++ b/elf/dl-runtime.c @@ -158,7 +158,7 @@ _dl_profile_fixup ( struct link_map *l, ElfW(Word) reloc_arg, ElfW(Addr) retaddr, void *regs, long int *framesizep) { - void (*mcount_fct) (ElfW(Addr), ElfW(Addr)) = INTUSE(_dl_mcount); + void (*mcount_fct) (ElfW(Addr), ElfW(Addr)) = _dl_mcount; if (l->l_reloc_result == NULL) { diff --git a/elf/rtld.c b/elf/rtld.c index 537fc43744..b07ff435dc 100644 --- a/elf/rtld.c +++ b/elf/rtld.c @@ -170,7 +170,7 @@ struct rtld_global_ro _rtld_global_ro attribute_relro = ._dl_debug_printf = _dl_debug_printf, ._dl_catch_error = _dl_catch_error, ._dl_signal_error = _dl_signal_error, - ._dl_mcount = _dl_mcount_internal, + ._dl_mcount = _dl_mcount, ._dl_lookup_symbol_x = _dl_lookup_symbol_x, ._dl_check_caller = _dl_check_caller, ._dl_open = _dl_open, |