aboutsummaryrefslogtreecommitdiff
path: root/elf
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-04-15 22:46:40 +0000
committerUlrich Drepper <drepper@redhat.com>2003-04-15 22:46:40 +0000
commit162434a68226eb9a81fe92979fb59c8081aefcc0 (patch)
treecb2d459833468ea3e841def74ce2f3a5429df765 /elf
parent482eb33c43d5a281625ce440c869a306e46fb367 (diff)
downloadglibc-162434a68226eb9a81fe92979fb59c8081aefcc0.zip
glibc-162434a68226eb9a81fe92979fb59c8081aefcc0.tar.gz
glibc-162434a68226eb9a81fe92979fb59c8081aefcc0.tar.bz2
Update.
2003-04-15 Ulrich Drepper <drepper@redhat.com> * 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.
Diffstat (limited to 'elf')
-rw-r--r--elf/dl-support.c2
-rw-r--r--elf/elf.h1
2 files changed, 3 insertions, 0 deletions
diff --git a/elf/dl-support.c b/elf/dl-support.c
index efeddb6..1e547d3 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 4a1f0fb..69adde4 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