summary refs log tree commit diff
path: root/elf/dl-sym.c
diff options
context:
space:
mode:
Diffstat (limited to 'elf/dl-sym.c')
-rw-r--r--elf/dl-sym.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/elf/dl-sym.c b/elf/dl-sym.c
index 4faf05c00b..0af3e48d65 100644
--- a/elf/dl-sym.c
+++ b/elf/dl-sym.c
@@ -27,6 +27,7 @@
 #include <dl-hash.h>
 #include <sysdep-cancel.h>
 #include <dl-tls.h>
+#include <dl-irel.h>
 
 
 #ifdef SHARED
@@ -196,8 +197,7 @@ RTLD_NEXT used in code not dynamically loaded"));
 	{
 	  DL_FIXUP_VALUE_TYPE fixup
 	    = DL_FIXUP_MAKE_VALUE (result, (ElfW(Addr)) value);
-	  fixup =
-	    ((DL_FIXUP_VALUE_TYPE (*) (void)) DL_FIXUP_VALUE_ADDR (fixup)) ();
+	  fixup = elf_ifunc_invoke (DL_FIXUP_VALUE_ADDR (fixup));
 	  value = (void *) DL_FIXUP_VALUE_CODE_ADDR (fixup);
 	}