mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-24 22:10:13 +00:00
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.
This commit is contained in:
parent
c5684fdb2b
commit
ab97ee8f1b
10
ChangeLog
10
ChangeLog
@ -1,5 +1,15 @@
|
|||||||
2014-11-04 Joseph Myers <joseph@codesourcery.com>
|
2014-11-04 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
|
[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.
|
||||||
|
|
||||||
[BZ #14132]
|
[BZ #14132]
|
||||||
* elf/dl-init.c (_dl_init): Don't use INTDEF.
|
* elf/dl-init.c (_dl_init): Don't use INTDEF.
|
||||||
* sysdeps/aarch64/dl-machine.h (RTLD_START): Use _dl_init instead
|
* sysdeps/aarch64/dl-machine.h (RTLD_START): Use _dl_init instead
|
||||||
|
@ -598,4 +598,4 @@ _dl_mcount (ElfW(Addr) frompc, ElfW(Addr) selfpc)
|
|||||||
done:
|
done:
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
INTDEF(_dl_mcount)
|
rtld_hidden_def (_dl_mcount)
|
||||||
|
@ -158,7 +158,7 @@ _dl_profile_fixup (
|
|||||||
struct link_map *l, ElfW(Word) reloc_arg,
|
struct link_map *l, ElfW(Word) reloc_arg,
|
||||||
ElfW(Addr) retaddr, void *regs, long int *framesizep)
|
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)
|
if (l->l_reloc_result == NULL)
|
||||||
{
|
{
|
||||||
|
@ -170,7 +170,7 @@ struct rtld_global_ro _rtld_global_ro attribute_relro =
|
|||||||
._dl_debug_printf = _dl_debug_printf,
|
._dl_debug_printf = _dl_debug_printf,
|
||||||
._dl_catch_error = _dl_catch_error,
|
._dl_catch_error = _dl_catch_error,
|
||||||
._dl_signal_error = _dl_signal_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_lookup_symbol_x = _dl_lookup_symbol_x,
|
||||||
._dl_check_caller = _dl_check_caller,
|
._dl_check_caller = _dl_check_caller,
|
||||||
._dl_open = _dl_open,
|
._dl_open = _dl_open,
|
||||||
|
@ -885,8 +885,7 @@ extern void _dl_start_profile (void) internal_function attribute_hidden;
|
|||||||
|
|
||||||
/* The actual functions used to keep book on the calls. */
|
/* The actual functions used to keep book on the calls. */
|
||||||
extern void _dl_mcount (ElfW(Addr) frompc, ElfW(Addr) selfpc);
|
extern void _dl_mcount (ElfW(Addr) frompc, ElfW(Addr) selfpc);
|
||||||
extern void _dl_mcount_internal (ElfW(Addr) frompc, ElfW(Addr) selfpc)
|
rtld_hidden_proto (_dl_mcount)
|
||||||
attribute_hidden;
|
|
||||||
|
|
||||||
/* This function is simply a wrapper around the _dl_mcount function
|
/* This function is simply a wrapper around the _dl_mcount function
|
||||||
which does not require a FROMPC parameter since this is the
|
which does not require a FROMPC parameter since this is the
|
||||||
|
Loading…
Reference in New Issue
Block a user