From 7d9324612451215ac6402b2d9e73d29b33a0820b Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Wed, 22 Feb 2006 02:09:08 +0000 Subject: [PATCH] * 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. --- ChangeLog | 14 +++++++ config.h.in | 7 ---- configure | 123 ----------------------------------------------------------- configure.in | 65 ------------------------------- elf/sofini.c | 2 - elf/soinit.c | 54 -------------------------- 6 files changed, 14 insertions(+), 251 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2e02af6..f3a99ef 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +2004-11-23 Richard Sandiford + + * 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. + 2006-01-18 Samuel Thibault [BZ #2178] diff --git a/config.h.in b/config.h.in index 147addd..bbe9d6c 100644 --- a/config.h.in +++ b/config.h.in @@ -89,13 +89,6 @@ /* Define if static NSS modules are wanted. */ #undef DO_STATIC_NSS -/* Define if gcc uses DWARF2 unwind information for exception support. */ -#undef HAVE_DWARF2_UNWIND_INFO - -/* Define if gcc uses DWARF2 unwind information for exception support - with static variable. */ -#undef HAVE_DWARF2_UNWIND_INFO_STATIC - /* Define if the compiler supports __builtin_expect. */ #undef HAVE_BUILTIN_EXPECT diff --git a/configure b/configure index b172425..3bef4bb 100755 --- a/configure +++ b/configure @@ -1962,33 +1962,6 @@ m680?0) base_machine=m68k machine=m68k/$machine ;; m68k) base_machine=m68k machine=m68k/m68020 ;; m88???) base_machine=m88k machine=m88k/$machine ;; m88k) base_machine=m88k machine=m88k/m88100 ;; -mips64*) base_machine=mips64 - case "$CC $CFLAGS $CPPFLAGS " in - *" -mabi=n32 "*) mips_cc_abi=n32 ;; - *" -mabi=64 "*|*" -mabi=n64 "*) mips_cc_abi=64 ;; - *" -mabi=32 "*|*" -mabi=o32 "*) mips_cc_abi=32 ;; - *) mips_cc_abi=default ;; - esac - case $config_os in - *abin32*) mips_config_abi=n32 ;; - *abi64*|*abin64*) mips_config_abi=64 ;; - *abi32*|*abio32*) mips_config_abi=32 ;; - *) mips_config_abi=$mips_cc_abi ;; - esac - case $mips_config_abi in - default) machine=mips/mips64/n32 mips_config_abi=n32 ;; - n32) machine=mips/mips64/n32 ;; - 64) machine=mips/mips64/n64 ;; - 32) machine=mips/mips32/kern64 ;; - esac - machine=$machine/$config_machine - if test $mips_config_abi != $mips_cc_abi; then - # This won't make it to config.make, but we want to - # set this in case configure tests depend on it. - CPPFLAGS="$CPPFLAGS -mabi=$mips_config_abi" - fi - ;; -mips*) base_machine=mips machine=mips/mips32/$machine ;; powerpc) base_machine=powerpc machine=powerpc/powerpc32 ;; powerpc64) base_machine=powerpc machine=powerpc/powerpc64 ;; s390) base_machine=s390 machine=s390/s390-32 ;; @@ -6295,102 +6268,6 @@ _ACEOF fi fi -echo "$as_me:$LINENO: checking for DWARF2 unwind info support" >&5 -echo $ECHO_N "checking for DWARF2 unwind info support... $ECHO_C" >&6 -if test "${libc_cv_gcc_dwarf2_unwind_info+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat > conftest.c <&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } || - { ac_try='$libc_unwind_check -lgcc_eh -lgcc >&5' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } -then - if $libc_unwind_check -v 2>&1 >/dev/null \ - | grep -- --eh-frame-hdr 2>&1 >/dev/null; then - libc_cv_gcc_dwarf2_unwind_info=no_registry_needed - else - libc_cv_gcc_dwarf2_unwind_info=static - fi -else - libc_cv_gcc_dwarf2_unwind_info=no -fi -if test $libc_cv_gcc_dwarf2_unwind_info = no; then - if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS -DCHECK__register_frame - $LDFLAGS -nostdlib -nostartfiles - -o conftest conftest.c -lgcc >&5' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - libc_cv_gcc_dwarf2_unwind_info=yes - else - libc_cv_gcc_dwarf2_unwind_info=no - fi -fi -rm -f conftest* -fi -echo "$as_me:$LINENO: result: $libc_cv_gcc_dwarf2_unwind_info" >&5 -echo "${ECHO_T}$libc_cv_gcc_dwarf2_unwind_info" >&6 -case $libc_cv_gcc_dwarf2_unwind_info in -yes) - cat >>confdefs.h <<\_ACEOF -#define HAVE_DWARF2_UNWIND_INFO 1 -_ACEOF - - ;; -static) - cat >>confdefs.h <<\_ACEOF -#define HAVE_DWARF2_UNWIND_INFO 1 -_ACEOF - - cat >>confdefs.h <<\_ACEOF -#define HAVE_DWARF2_UNWIND_INFO_STATIC 1 -_ACEOF - - ;; -esac - echo "$as_me:$LINENO: checking for __builtin_expect" >&5 echo $ECHO_N "checking for __builtin_expect... $ECHO_C" >&6 if test "${libc_cv_gcc_builtin_expect+set}" = set; then diff --git a/configure.in b/configure.in index 7871515..889fb55 100644 --- a/configure.in +++ b/configure.in @@ -1726,71 +1726,6 @@ if test "$libc_cv_c_asmcr0_bug" != 'no'; then fi fi -AC_CACHE_CHECK(for DWARF2 unwind info support, libc_cv_gcc_dwarf2_unwind_info, -[cat > conftest.c <&AS_MESSAGE_LOG_FD]) || - AC_TRY_COMMAND([$libc_unwind_check -lgcc_eh -lgcc >&AS_MESSAGE_LOG_FD]) -then - if $libc_unwind_check -v 2>&1 >/dev/null \ - | grep -- --eh-frame-hdr 2>&1 >/dev/null; then - libc_cv_gcc_dwarf2_unwind_info=no_registry_needed - else - libc_cv_gcc_dwarf2_unwind_info=static - fi -else - libc_cv_gcc_dwarf2_unwind_info=no -fi -if test $libc_cv_gcc_dwarf2_unwind_info = no; then - if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS -DCHECK__register_frame - $LDFLAGS -nostdlib -nostartfiles - -o conftest conftest.c -lgcc >&AS_MESSAGE_LOG_FD]); then - libc_cv_gcc_dwarf2_unwind_info=yes - else - libc_cv_gcc_dwarf2_unwind_info=no - fi -fi -rm -f conftest*]) -case $libc_cv_gcc_dwarf2_unwind_info in -yes) - AC_DEFINE(HAVE_DWARF2_UNWIND_INFO) - ;; -static) - AC_DEFINE(HAVE_DWARF2_UNWIND_INFO) - AC_DEFINE(HAVE_DWARF2_UNWIND_INFO_STATIC) - ;; -esac - dnl Check whether compiler understands __builtin_expect. AC_CACHE_CHECK(for __builtin_expect, libc_cv_gcc_builtin_expect, [cat > conftest.c < #include -#ifdef HAVE_DWARF2_UNWIND_INFO_STATIC -# include -#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"))) -- 2.7.4