From 30e32d23eb06cbeae02e51c7c4df150736dba795 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Sat, 6 Nov 2004 00:24:55 +0000 Subject: * sysdeps/generic/ldsodefs.h (struct rtld_global_ro): Define _dl_sysinfo_dso under [NEED_DL_SYSINFO_DSO] as well. * elf/rtld.c (dl_main): Set up GLRO(dl_sysinfo_dso) under [NEED_DL_SYSINFO_DSO] as well. * sysdeps/generic/dl-sysdep.c (_dl_show_auxv): Always include AT_SYSINFO and AT_SYSINFO_EHDR in name table. (_dl_sysdep_start) [NEED_DL_SYSINFO_DSO]: Match AT_SYSINFO_EHDR. * elf/dl-support.c (_dl_sysinfo_dso): Define also under [NEED_DL_SYSINFO_DSO]. (_dl_aux_init) [NEED_DL_SYSINFO || NEED_DL_SYSINFO_DSO]: Match AT_SYSINFO_EHDR and set GL(dl_sysinfo_dso). 2004-11-05 Roland McGrath --- elf/dl-support.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'elf/dl-support.c') diff --git a/elf/dl-support.c b/elf/dl-support.c index d8957ce308..b10dc90418 100644 --- a/elf/dl-support.c +++ b/elf/dl-support.c @@ -136,6 +136,8 @@ int (*_dl_make_stack_executable_hook) (void **) internal_function #ifdef NEED_DL_SYSINFO /* Needed for improved syscall handling on at least x86/Linux. */ uintptr_t _dl_sysinfo = DL_SYSINFO_DEFAULT; +#endif +#if defined NEED_DL_SYSINFO || defined NEED_DL_SYSINFO_DSO /* Address of the ELF headers in the vsyscall page. */ const ElfW(Ehdr) *_dl_sysinfo_dso; #endif @@ -183,6 +185,11 @@ _dl_aux_init (ElfW(auxv_t) *av) case AT_SYSINFO: GL(dl_sysinfo) = av->a_un.a_val; break; +#endif +#if defined NEED_DL_SYSINFO || defined NEED_DL_SYSINFO_DSO + case AT_SYSINFO_EHDR: + GL(dl_sysinfo_dso) = av->a_un.a_ptr; + break; #endif case AT_UID: uid ^= av->a_un.a_val; -- cgit v1.2.3