diff options
author | Andreas Schwab <schwab@redhat.com> | 2011-10-04 16:10:16 +0200 |
---|---|---|
committer | Andreas Schwab <schwab@redhat.com> | 2011-10-05 14:35:40 +0200 |
commit | 3a62d00d408e9ec19479b6c7d39e89021061f9cd (patch) | |
tree | 6f2c708cb3da2fe6d0cbcddfe096cc7e7a8051ba /elf/dl-reloc.c | |
parent | 68577918437e2ccfd6bd2836892f59ef42994963 (diff) | |
download | glibc-3a62d00d408e9ec19479b6c7d39e89021061f9cd.tar.gz glibc-3a62d00d408e9ec19479b6c7d39e89021061f9cd.tar.xz glibc-3a62d00d408e9ec19479b6c7d39e89021061f9cd.zip |
Don't call ifunc functions in trace mode
Diffstat (limited to 'elf/dl-reloc.c')
-rw-r--r-- | elf/dl-reloc.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/elf/dl-reloc.c b/elf/dl-reloc.c index 7294112346..c57b0f0a0d 100644 --- a/elf/dl-reloc.c +++ b/elf/dl-reloc.c @@ -162,6 +162,7 @@ _dl_relocate_object (struct link_map *l, struct r_scope_elem *scope[], /* Initialize it to make the compiler happy. */ const char *errstring = NULL; int lazy = reloc_mode & RTLD_LAZY; + int skip_ifunc = reloc_mode & __RTLD_NOIFUNC; #ifdef SHARED /* If we are auditing, install the same handlers we need for profiling. */ @@ -261,7 +262,7 @@ _dl_relocate_object (struct link_map *l, struct r_scope_elem *scope[], #include "dynamic-link.h" - ELF_DYNAMIC_RELOCATE (l, lazy, consider_profiling); + ELF_DYNAMIC_RELOCATE (l, lazy, consider_profiling, skip_ifunc); #ifndef PROF if (__builtin_expect (consider_profiling, 0)) |