aboutsummaryrefslogtreecommitdiff
path: root/libexec/rtld-elf/rtld.c
diff options
context:
space:
mode:
authorMatthew N. Dodd <mdodd@FreeBSD.org>2003-06-19 03:55:38 +0000
committerMatthew N. Dodd <mdodd@FreeBSD.org>2003-06-19 03:55:38 +0000
commitc5d061c17a2a10bb3dade97e5a8161ae029dc0a0 (patch)
tree79ce4076fa3de213bb6c88e48a06c7412fb332e8 /libexec/rtld-elf/rtld.c
parent8d5f9131fccc3bb06e4c59f2f28cf8b5d218cd17 (diff)
Notes
Diffstat (limited to 'libexec/rtld-elf/rtld.c')
-rw-r--r--libexec/rtld-elf/rtld.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/libexec/rtld-elf/rtld.c b/libexec/rtld-elf/rtld.c
index 6bc1f773f3ba..484cd8d90e32 100644
--- a/libexec/rtld-elf/rtld.c
+++ b/libexec/rtld-elf/rtld.c
@@ -365,6 +365,11 @@ _rtld(Elf_Addr *sp, func_ptr_type *exit_proc, Obj_Entry **objp)
exit(0);
}
+ if (getenv("LD_DUMP_REL_PRE") != NULL) {
+ dump_relocations(obj_main);
+ exit (0);
+ }
+
if (relocate_objects(obj_main,
ld_bind_now != NULL && *ld_bind_now != '\0', &obj_rtld) == -1)
die();
@@ -373,6 +378,11 @@ _rtld(Elf_Addr *sp, func_ptr_type *exit_proc, Obj_Entry **objp)
if (do_copy_relocations(obj_main) == -1)
die();
+ if (getenv("LD_DUMP_REL_POST") != NULL) {
+ dump_relocations(obj_main);
+ exit (0);
+ }
+
dbg("initializing key program variables");
set_program_var("__progname", argv[0] != NULL ? basename(argv[0]) : "");
set_program_var("environ", env);