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 --- sysdeps/generic/dl-sysdep.c | 4 ++-- sysdeps/generic/ldsodefs.h | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'sysdeps') diff --git a/sysdeps/generic/dl-sysdep.c b/sysdeps/generic/dl-sysdep.c index 429947ccd9..34498a880c 100644 --- a/sysdeps/generic/dl-sysdep.c +++ b/sysdeps/generic/dl-sysdep.c @@ -161,6 +161,8 @@ _dl_sysdep_start (void **start_argptr, case AT_SYSINFO: new_sysinfo = av->a_un.a_val; break; +#endif +#if defined NEED_DL_SYSINFO || defined NEED_DL_SYSINFO_DSO case AT_SYSINFO_EHDR: GLRO(dl_sysinfo_dso) = av->a_un.a_ptr; break; @@ -287,10 +289,8 @@ _dl_show_auxv (void) [AT_UCACHEBSIZE - 2] = { "AT_UCACHEBSIZE: 0x", hex }, [AT_IGNOREPPC - 2] = { "AT_IGNOREPPC", ignore }, [AT_SECURE - 2] = { "AT_SECURE: ", dec }, -#ifdef NEED_DL_SYSINFO [AT_SYSINFO - 2] = { "AT_SYSINFO: 0x", hex }, [AT_SYSINFO_EHDR - 2] = { "AT_SYSINFO_EHDR: 0x", hex }, -#endif }; unsigned int idx = (unsigned int) (av->a_type - 2); diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h index fd45bdc87f..ec68e1a565 100644 --- a/sysdeps/generic/ldsodefs.h +++ b/sysdeps/generic/ldsodefs.h @@ -470,7 +470,9 @@ struct rtld_global_ro #ifdef NEED_DL_SYSINFO /* Syscall handling improvements. This is very specific to x86. */ EXTERN uintptr_t _dl_sysinfo; +#endif +#if defined NEED_DL_SYSINFO || defined NEED_DL_SYSINFO_DSO /* The vsyscall page is a virtual DSO pre-mapped by the kernel. This points to its ELF header. */ EXTERN const ElfW(Ehdr) *_dl_sysinfo_dso; -- cgit 1.4.1