diff options
author | Roland McGrath <roland@gnu.org> | 2006-02-22 02:09:08 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2006-02-22 02:09:08 +0000 |
commit | 7d9324612451215ac6402b2d9e73d29b33a0820b (patch) | |
tree | 84a2a1a964b7e0f5e06881257f70ad740f361aec /elf | |
parent | 7aaa17343dc759012322ac3e23b1aaad9afa81f7 (diff) | |
download | glibc-7d9324612451215ac6402b2d9e73d29b33a0820b.zip glibc-7d9324612451215ac6402b2d9e73d29b33a0820b.tar.gz glibc-7d9324612451215ac6402b2d9e73d29b33a0820b.tar.bz2 |
* configure.in (libc_cv_gcc_dwarf2_unwind_info): Delete.
(HAVE_DWARF2_UNWIND_INFO{,_STATIC}): Remove AC_DEFINEs.
* configure: Regenerate.
* config.h.in (HAVE_DWARF2_UNWIND_INFO{,_STATIC}): Remove undefs.
* elf/soinit.c: Don't include gccframe.h.
(__EH_FRAME_BEGIN__): Define unconditionally.
(__register_frame_info, __deregister_frame_info)
(__register_frame_info_bases, __deregister_frame_info_bases)
(__register_frame, __deregister_frame): Remove declarations.
(__libc_global_ctors, __libc_fini): Don't call registry functions.
* elf/sofini.c (__EH_FRAME_END__): Define unconditionally.
Diffstat (limited to 'elf')
-rw-r--r-- | elf/sofini.c | 2 | ||||
-rw-r--r-- | elf/soinit.c | 54 |
2 files changed, 0 insertions, 56 deletions
diff --git a/elf/sofini.c b/elf/sofini.c index 16e77e7..55b9b1f 100644 --- a/elf/sofini.c +++ b/elf/sofini.c @@ -8,7 +8,6 @@ static void (*const __DTOR_END__[1]) (void) __attribute__ ((used, section (".dtors"))) = { 0 }; -#ifdef HAVE_DWARF2_UNWIND_INFO /* Terminate the frame unwind info section with a 4byte 0 as a sentinel; this would be the 'length' field in a real FDE. */ @@ -16,4 +15,3 @@ typedef unsigned int ui32 __attribute__ ((mode (SI))); static ui32 __FRAME_END__[1] __attribute__ ((used, section (".eh_frame"))) = { 0 }; -#endif diff --git a/elf/soinit.c b/elf/soinit.c index 29e4707..3656b1d 100644 --- a/elf/soinit.c +++ b/elf/soinit.c @@ -6,10 +6,6 @@ #include <libc-internal.h> #include <stdlib.h> -#ifdef HAVE_DWARF2_UNWIND_INFO_STATIC -# include <gccframe.h> -#endif - static void (*const __CTOR_LIST__[1]) (void) __attribute__ ((section (".ctors"))) = { (void (*) (void)) -1 }; @@ -24,21 +20,9 @@ run_hooks (void (*const list[]) (void)) (**list) (); } -#ifdef HAVE_DWARF2_UNWIND_INFO static char __EH_FRAME_BEGIN__[] __attribute__ ((section (".eh_frame"))) = { }; -# ifdef HAVE_DWARF2_UNWIND_INFO_STATIC -extern void __register_frame_info (const void *, struct object *); -extern void __register_frame_info_bases (const void *, struct object *, - void *, void *); -extern void __deregister_frame_info (const void *); -extern void __deregister_frame_info_bases (const void *); -# else -extern void __register_frame (const void *); -extern void __deregister_frame (const void *); -# endif -#endif /* This function will be called from _init in init-first.c. */ void @@ -46,33 +30,6 @@ __libc_global_ctors (void) { /* Call constructor functions. */ run_hooks (__CTOR_LIST__); - -#ifdef HAVE_DWARF2_UNWIND_INFO -# ifdef HAVE_DWARF2_UNWIND_INFO_STATIC - { - static struct object ob; -# if defined CRT_GET_RFIB_TEXT || defined CRT_GET_RFIB_DATA - void *tbase, *dbase; - -# ifdef CRT_GET_RFIB_TEXT - CRT_GET_RFIB_TEXT (tbase); -# else - tbase = NULL; -# endif -# ifdef CRT_GET_RFIB_DATA - CRT_GET_RFIB_DATA (dbase); -# else - dbase = NULL; -# endif - __register_frame_info_bases (__EH_FRAME_BEGIN__, &ob, tbase, dbase); -# else - __register_frame_info (__EH_FRAME_BEGIN__, &ob); -# endif - } -# else - __register_frame (__EH_FRAME_BEGIN__); -# endif -#endif } @@ -83,17 +40,6 @@ __libc_fini (void) { /* Call destructor functions. */ run_hooks (__DTOR_LIST__); -#ifdef HAVE_DWARF2_UNWIND_INFO -# ifdef HAVE_DWARF2_UNWIND_INFO_STATIC -# if defined CRT_GET_RFIB_TEXT || defined CRT_GET_RFIB_DATA - __deregister_frame_info_bases (__EH_FRAME_BEGIN__); -# else - __deregister_frame_info (__EH_FRAME_BEGIN__); -# endif -# else - __deregister_frame (__EH_FRAME_BEGIN__); -# endif -#endif } void (*_fini_ptr) (void) __attribute__ ((section (".fini_array"))) |