about summary refs log tree commit diff
path: root/elf/dynamic-link.h
diff options
context:
space:
mode:
Diffstat (limited to 'elf/dynamic-link.h')
-rw-r--r--elf/dynamic-link.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/elf/dynamic-link.h b/elf/dynamic-link.h
index 1d134ddf2f..da63633361 100644
--- a/elf/dynamic-link.h
+++ b/elf/dynamic-link.h
@@ -97,8 +97,11 @@ elf_get_dynamic_info (ElfW(Dyn) *dyn,
 
 /* This can't just be an inline function because GCC is too dumb
    to inline functions containing inlines themselves.  */
-#define ELF_DYNAMIC_RELOCATE(map, lazy) \
-  do { ELF_DYNAMIC_DO_REL ((map), (lazy)); \
-       ELF_DYNAMIC_DO_RELA ((map), (lazy)); } while (0)
+#define ELF_DYNAMIC_RELOCATE(map, lazy)				\
+  do {								\
+    int edr_lazy = elf_machine_runtime_setup((map), (lazy));	\
+    ELF_DYNAMIC_DO_REL ((map), edr_lazy);			\
+    ELF_DYNAMIC_DO_RELA ((map), edr_lazy);			\
+  } while (0)
 
 #endif