From 3a62d00d408e9ec19479b6c7d39e89021061f9cd Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Tue, 4 Oct 2011 16:10:16 +0200 Subject: Don't call ifunc functions in trace mode --- elf/dl-reloc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'elf/dl-reloc.c') 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)) -- cgit 1.4.1