mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
* 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 <roland@redhat.com>
This commit is contained in:
@ -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;
|
||||
|
Reference in New Issue
Block a user