diff options
author | kib <kib@FreeBSD.org> | 2010-08-17 09:08:28 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2010-08-17 09:08:28 +0000 |
commit | b748bcac7a234463f3366e2b84d5de892e563e66 (patch) | |
tree | 5194876b636e2d23dd1bef3076259b578490299e /libexec | |
parent | 3c2c3f33ee230b5a0169bd5dd2d57e42fdb22d05 (diff) | |
download | FreeBSD-src-b748bcac7a234463f3366e2b84d5de892e563e66.zip FreeBSD-src-b748bcac7a234463f3366e2b84d5de892e563e66.tar.gz |
Provide the starting image with the pointer to ELF aux vector. It is
written into the __elf_aux_vector variable, if the symbol is present.
Idea from: kan
Tested by: marius (sparc64)
MFC after: 1 month
Diffstat (limited to 'libexec')
-rw-r--r-- | libexec/rtld-elf/rtld.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/libexec/rtld-elf/rtld.c b/libexec/rtld-elf/rtld.c index a7bf914..a13ecb7 100644 --- a/libexec/rtld-elf/rtld.c +++ b/libexec/rtld-elf/rtld.c @@ -541,6 +541,7 @@ _rtld(Elf_Addr *sp, func_ptr_type *exit_proc, Obj_Entry **objp) dbg("initializing key program variables"); set_program_var("__progname", argv[0] != NULL ? basename(argv[0]) : ""); set_program_var("environ", env); + set_program_var("__elf_aux_vector", aux); dbg("initializing thread locks"); lockdflt_init(); |