From 162434a68226eb9a81fe92979fb59c8081aefcc0 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 15 Apr 2003 22:46:40 +0000 Subject: Update. 2003-04-15 Ulrich Drepper * elf/elf.h: Define AT_SYSINFO_EH_FRAME. * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Handle AT_SYSINFO_EH_FRAME. (_dl_show_auxv):Display AT_SYSINFO_EH_FRAME value. * sysdeps/generic/ldsodefs.h [NEED_DL_SYSINFO] (struct rtld_global): Add _dl_sysinfo_eh_frame field. * elf/dl-support.c [NEED_DL_SYSINFO]: Define _dl_sysinfo_eh_frame. * sysdeps/generic/libc-start.c [NEED_DL_SYSINFO] Define eh_obj variable. [NEED_DL_SYSINFO] (LIBC_START_MAIN): Call __register_frame_info_bases if _dl_sysinfo_eh_frame is non-NULL. * Makeconfig (gnulib): Add -lgcc_eh. * config.h.in: Define HAVE_FORCED_UNWIND. --- elf/dl-support.c | 2 ++ elf/elf.h | 1 + 2 files changed, 3 insertions(+) (limited to 'elf') diff --git a/elf/dl-support.c b/elf/dl-support.c index efeddb6fe1..1e547d3b4d 100644 --- a/elf/dl-support.c +++ b/elf/dl-support.c @@ -127,6 +127,8 @@ size_t _dl_phnum; #ifdef NEED_DL_SYSINFO /* Needed for improved syscall handling on at least x86/Linux. */ uintptr_t _dl_sysinfo = DL_SYSINFO_DEFAULT; +/* Address of the unwind info for the vsyscall page. */ +uintptr_t _dl_sysinfo_eh_frame; #endif /* During the program run we must not modify the global data of diff --git a/elf/elf.h b/elf/elf.h index 4a1f0fb4e0..69adde46ed 100644 --- a/elf/elf.h +++ b/elf/elf.h @@ -949,6 +949,7 @@ typedef struct /* Pointer to the global system page used for system calls and other nice things. */ #define AT_SYSINFO 32 +#define AT_SYSINFO_EH_FRAME 33 /* Note section contents. Each entry in the note section begins with -- cgit v1.2.3