about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1997-05-24 22:50:15 +0000
committerUlrich Drepper <drepper@redhat.com>1997-05-24 22:50:15 +0000
commitf844eec463e1380106bc4c6376b92882608d6e87 (patch)
tree34e370adf6172fa45c17727ecc411b1f6f3ffa13
parent0f1f93279becbbe8288dfde699db0148de61fd31 (diff)
downloadglibc-f844eec463e1380106bc4c6376b92882608d6e87.tar.gz
glibc-f844eec463e1380106bc4c6376b92882608d6e87.tar.xz
glibc-f844eec463e1380106bc4c6376b92882608d6e87.zip
(ELF_DYNAMIC_RELOCATE): Let elf_machine_runtime_setup() decide if we
can actually be lazy.
-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