diff --git a/ChangeLog b/ChangeLog index c159faa45a..e90652fba1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,21 @@ +2014-06-26 Joseph Myers + + * configure.ac (libc_cv_asm_cfi_directives): Remove configure + test. + * configure: Regenerated. + * config.h.in (HAVE_ASM_CFI_DIRECTIVES): Remove macro undefine. + * sysdeps/arm/configure.ac (libc_cv_asm_cfi_directive_sections): + Remove configure test. + * sysdeps/arm/configure: Regenerated. + * sysdeps/nptl/configure.ac: Do not check + libc_cv_asm_cfi_directives. + * sysdeps/nptl/configure: Regenerated. + * sysdeps/x86_64/nptl/configure.ac: Remove file. + * sysdeps/x86_64/nptl/configure: Remove generated file. + * b/sysdeps/generic/sysdep.h [HAVE_ASM_CFI_DIRECTIVES]: Make code + unconditional. + [!HAVE_ASM_CFI_DIRECTIVES]: Remove conditional code. + 2014-06-26 Siddhesh Poyarekar * posix/fnmatch.c: Define WIDE_CHAR_VERSION. diff --git a/config.h.in b/config.h.in index 38d4aa4b6a..2dcd1351c7 100644 --- a/config.h.in +++ b/config.h.in @@ -24,9 +24,6 @@ /* Define if weak symbols are available via the `.weakext' directive. */ #undef HAVE_ASM_WEAKEXT_DIRECTIVE -/* Define if CFI directives are available. */ -#undef HAVE_ASM_CFI_DIRECTIVES - /* Define to the assembler line separator character for multiple assembler instructions per line. Default is `;' */ #undef ASM_LINE_SEP diff --git a/configure b/configure index ac5a67cf9d..eefc43001d 100755 --- a/configure +++ b/configure @@ -6494,43 +6494,6 @@ elif test $libc_cv_asm_weakext_directive = yes; then fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether CFI directives are supported" >&5 -$as_echo_n "checking whether CFI directives are supported... " >&6; } -if ${libc_cv_asm_cfi_directives+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $machine in - sparc/sparc64*) cfi_offset=2047;; - *) cfi_offset=0;; -esac -cat > conftest.s <&5 - (eval $ac_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - libc_cv_asm_cfi_directives=yes -else - libc_cv_asm_cfi_directives=no -fi -rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_cfi_directives" >&5 -$as_echo "$libc_cv_asm_cfi_directives" >&6; } -if test $libc_cv_asm_cfi_directives = yes; then - $as_echo "#define HAVE_ASM_CFI_DIRECTIVES 1" >>confdefs.h - -fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld --no-whole-archive" >&5 $as_echo_n "checking for ld --no-whole-archive... " >&6; } if ${libc_cv_ld_no_whole_archive+:} false; then : diff --git a/configure.ac b/configure.ac index bd3e829666..22c2b4c376 100644 --- a/configure.ac +++ b/configure.ac @@ -1696,30 +1696,6 @@ elif test $libc_cv_asm_weakext_directive = yes; then AC_DEFINE(HAVE_ASM_WEAKEXT_DIRECTIVE) fi -AC_CACHE_CHECK(whether CFI directives are supported, libc_cv_asm_cfi_directives, [dnl -case $machine in - sparc/sparc64*) cfi_offset=2047;; - *) cfi_offset=0;; -esac -cat > conftest.s <&AS_MESSAGE_LOG_FD); then - libc_cv_asm_cfi_directives=yes -else - libc_cv_asm_cfi_directives=no -fi -rm -f conftest*]) -if test $libc_cv_asm_cfi_directives = yes; then - AC_DEFINE(HAVE_ASM_CFI_DIRECTIVES) -fi - AC_CACHE_CHECK(for ld --no-whole-archive, libc_cv_ld_no_whole_archive, [dnl cat > conftest.c <<\EOF _start () {} diff --git a/sysdeps/arm/configure b/sysdeps/arm/configure index 953ef4406d..860f41289d 100644 --- a/sysdeps/arm/configure +++ b/sysdeps/arm/configure @@ -3,35 +3,6 @@ #AC_DEFINE(PI_STATIC_AND_HIDDEN) -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the CFI directive .cfi_sections is supported" >&5 -$as_echo_n "checking whether the CFI directive .cfi_sections is supported... " >&6; } -if ${libc_cv_asm_cfi_directive_sections+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat > conftest.s <&5 - (eval $ac_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - libc_cv_asm_cfi_directive_sections=yes - else - libc_cv_asm_cfi_directive_sections=no - fi - rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_cfi_directive_sections" >&5 -$as_echo "$libc_cv_asm_cfi_directive_sections" >&6; } -if test $libc_cv_asm_cfi_directive_sections != yes; then - as_fn_error $? "need .cfi_sections in this configuration" "$LINENO" 5 -fi - # We check to see if the compiler and flags are # selecting the hard-float ABI and if they are then # we set libc_cv_arm_pcs_vfp to yes which causes diff --git a/sysdeps/arm/configure.ac b/sysdeps/arm/configure.ac index fdc52c0408..f1d980436b 100644 --- a/sysdeps/arm/configure.ac +++ b/sysdeps/arm/configure.ac @@ -7,24 +7,6 @@ dnl NOTE: This feature was added by the GCC TLS patches. We should test for dnl it. Until we do, don't define it. #AC_DEFINE(PI_STATIC_AND_HIDDEN) -AC_CACHE_CHECK([whether the CFI directive .cfi_sections is supported], - [libc_cv_asm_cfi_directive_sections], - [cat > conftest.s <&AS_MESSAGE_LOG_FD); then - libc_cv_asm_cfi_directive_sections=yes - else - libc_cv_asm_cfi_directive_sections=no - fi - rm -f conftest*]) -if test $libc_cv_asm_cfi_directive_sections != yes; then - AC_MSG_ERROR([need .cfi_sections in this configuration]) -fi - # We check to see if the compiler and flags are # selecting the hard-float ABI and if they are then # we set libc_cv_arm_pcs_vfp to yes which causes diff --git a/sysdeps/generic/sysdep.h b/sysdeps/generic/sysdep.h index d1104efdf4..583696c8c9 100644 --- a/sysdeps/generic/sysdep.h +++ b/sysdeps/generic/sysdep.h @@ -36,84 +36,62 @@ #endif /* Makros to generate eh_frame unwind information. */ -#ifdef HAVE_ASM_CFI_DIRECTIVES -# ifdef __ASSEMBLER__ -# define cfi_startproc .cfi_startproc -# define cfi_endproc .cfi_endproc -# define cfi_def_cfa(reg, off) .cfi_def_cfa reg, off -# define cfi_def_cfa_register(reg) .cfi_def_cfa_register reg -# define cfi_def_cfa_offset(off) .cfi_def_cfa_offset off -# define cfi_adjust_cfa_offset(off) .cfi_adjust_cfa_offset off -# define cfi_offset(reg, off) .cfi_offset reg, off -# define cfi_rel_offset(reg, off) .cfi_rel_offset reg, off -# define cfi_register(r1, r2) .cfi_register r1, r2 -# define cfi_return_column(reg) .cfi_return_column reg -# define cfi_restore(reg) .cfi_restore reg -# define cfi_same_value(reg) .cfi_same_value reg -# define cfi_undefined(reg) .cfi_undefined reg -# define cfi_remember_state .cfi_remember_state -# define cfi_restore_state .cfi_restore_state -# define cfi_window_save .cfi_window_save -# define cfi_personality(enc, exp) .cfi_personality enc, exp -# define cfi_lsda(enc, exp) .cfi_lsda enc, exp +#ifdef __ASSEMBLER__ +# define cfi_startproc .cfi_startproc +# define cfi_endproc .cfi_endproc +# define cfi_def_cfa(reg, off) .cfi_def_cfa reg, off +# define cfi_def_cfa_register(reg) .cfi_def_cfa_register reg +# define cfi_def_cfa_offset(off) .cfi_def_cfa_offset off +# define cfi_adjust_cfa_offset(off) .cfi_adjust_cfa_offset off +# define cfi_offset(reg, off) .cfi_offset reg, off +# define cfi_rel_offset(reg, off) .cfi_rel_offset reg, off +# define cfi_register(r1, r2) .cfi_register r1, r2 +# define cfi_return_column(reg) .cfi_return_column reg +# define cfi_restore(reg) .cfi_restore reg +# define cfi_same_value(reg) .cfi_same_value reg +# define cfi_undefined(reg) .cfi_undefined reg +# define cfi_remember_state .cfi_remember_state +# define cfi_restore_state .cfi_restore_state +# define cfi_window_save .cfi_window_save +# define cfi_personality(enc, exp) .cfi_personality enc, exp +# define cfi_lsda(enc, exp) .cfi_lsda enc, exp -# else /* ! ASSEMBLER */ +#else /* ! ASSEMBLER */ -# define CFI_STRINGIFY(Name) CFI_STRINGIFY2 (Name) -# define CFI_STRINGIFY2(Name) #Name -# define CFI_STARTPROC ".cfi_startproc" -# define CFI_ENDPROC ".cfi_endproc" -# define CFI_DEF_CFA(reg, off) \ +# define CFI_STRINGIFY(Name) CFI_STRINGIFY2 (Name) +# define CFI_STRINGIFY2(Name) #Name +# define CFI_STARTPROC ".cfi_startproc" +# define CFI_ENDPROC ".cfi_endproc" +# define CFI_DEF_CFA(reg, off) \ ".cfi_def_cfa " CFI_STRINGIFY(reg) "," CFI_STRINGIFY(off) -# define CFI_DEF_CFA_REGISTER(reg) \ +# define CFI_DEF_CFA_REGISTER(reg) \ ".cfi_def_cfa_register " CFI_STRINGIFY(reg) -# define CFI_DEF_CFA_OFFSET(off) \ +# define CFI_DEF_CFA_OFFSET(off) \ ".cfi_def_cfa_offset " CFI_STRINGIFY(off) -# define CFI_ADJUST_CFA_OFFSET(off) \ +# define CFI_ADJUST_CFA_OFFSET(off) \ ".cfi_adjust_cfa_offset " CFI_STRINGIFY(off) -# define CFI_OFFSET(reg, off) \ +# define CFI_OFFSET(reg, off) \ ".cfi_offset " CFI_STRINGIFY(reg) "," CFI_STRINGIFY(off) -# define CFI_REL_OFFSET(reg, off) \ +# define CFI_REL_OFFSET(reg, off) \ ".cfi_rel_offset " CFI_STRINGIFY(reg) "," CFI_STRINGIFY(off) -# define CFI_REGISTER(r1, r2) \ +# define CFI_REGISTER(r1, r2) \ ".cfi_register " CFI_STRINGIFY(r1) "," CFI_STRINGIFY(r2) -# define CFI_RETURN_COLUMN(reg) \ +# define CFI_RETURN_COLUMN(reg) \ ".cfi_return_column " CFI_STRINGIFY(reg) -# define CFI_RESTORE(reg) \ +# define CFI_RESTORE(reg) \ ".cfi_restore " CFI_STRINGIFY(reg) -# define CFI_UNDEFINED(reg) \ +# define CFI_UNDEFINED(reg) \ ".cfi_undefined " CFI_STRINGIFY(reg) -# define CFI_REMEMBER_STATE \ +# define CFI_REMEMBER_STATE \ ".cfi_remember_state" -# define CFI_RESTORE_STATE \ +# define CFI_RESTORE_STATE \ ".cfi_restore_state" -# define CFI_WINDOW_SAVE \ +# define CFI_WINDOW_SAVE \ ".cfi_window_save" -# define CFI_PERSONALITY(enc, exp) \ +# define CFI_PERSONALITY(enc, exp) \ ".cfi_personality " CFI_STRINGIFY(enc) "," CFI_STRINGIFY(exp) -# define CFI_LSDA(enc, exp) \ +# define CFI_LSDA(enc, exp) \ ".cfi_lsda " CFI_STRINGIFY(enc) "," CFI_STRINGIFY(exp) -# endif - -#else - -# define CFI_STARTPROC -# define CFI_ENDPROC -# define CFI_DEF_CFA(reg, off) -# define CFI_DEF_CFA_REGISTER(reg) -# define CFI_DEF_CFA_OFFSET(off) -# define CFI_ADJUST_CFA_OFFSET(off) -# define CFI_OFFSET(reg, off) -# define CFI_REL_OFFSET(reg, off) -# define CFI_REGISTER(r1, r2) -# define CFI_RETURN_COLUMN(reg) -# define CFI_RESTORE(reg) -# define CFI_UNDEFINED(reg) -# define CFI_REMEMBER_STATE -# define CFI_RESTORE_STATE -# define CFI_WINDOW_SAVE -# define CFI_PERSONALITY(enc, exp) -# define CFI_LSDA(enc, exp) #endif #include "dwarf2.h" diff --git a/sysdeps/nptl/configure b/sysdeps/nptl/configure index 239a039e3a..65ed16400c 100644 --- a/sysdeps/nptl/configure +++ b/sysdeps/nptl/configure @@ -9,14 +9,6 @@ if test "x${libc_cv_visibility_attribute}" != xyes || as_fn_error $? "working compiler support for visibility attribute is required" "$LINENO" 5 fi -if test "x$libc_cv_asm_cfi_directives" != xyes; then - case "$base_machine" in - i386 | x86_64 | powerpc | s390) - as_fn_error $? "CFI directive support in assembler is required" "$LINENO" 5 ;; - *) ;; - esac -fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for forced unwind support" >&5 $as_echo_n "checking for forced unwind support... " >&6; } diff --git a/sysdeps/nptl/configure.ac b/sysdeps/nptl/configure.ac index 413af96799..ab9d5e624a 100644 --- a/sysdeps/nptl/configure.ac +++ b/sysdeps/nptl/configure.ac @@ -10,15 +10,6 @@ if test "x${libc_cv_visibility_attribute}" != xyes || AC_MSG_ERROR(working compiler support for visibility attribute is required) fi -if test "x$libc_cv_asm_cfi_directives" != xyes; then - dnl We need this only for some architectures. - case "$base_machine" in - i386 | x86_64 | powerpc | s390) - AC_MSG_ERROR(CFI directive support in assembler is required) ;; - *) ;; - esac -fi - dnl Iff is available, make sure it is the right one and it dnl contains struct _Unwind_Exception. AC_CACHE_CHECK(dnl diff --git a/sysdeps/x86_64/nptl/configure b/sysdeps/x86_64/nptl/configure deleted file mode 100644 index c9dea5a7a1..0000000000 --- a/sysdeps/x86_64/nptl/configure +++ /dev/null @@ -1,34 +0,0 @@ -# This file is generated from configure.ac by Autoconf. DO NOT EDIT! - # Local configure fragment for sysdeps/i386. - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for .cfi_personality and .cfi_lsda pseudo-ops" >&5 -$as_echo_n "checking for .cfi_personality and .cfi_lsda pseudo-ops... " >&6; } -if ${libc_cv_asm_cfi_personality+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat > conftest.s <&5 - (eval $ac_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - libc_cv_asm_cfi_personality=yes - else - libc_cv_asm_cfi_personality=no - fi - rm -f conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_cfi_personality" >&5 -$as_echo "$libc_cv_asm_cfi_personality" >&6; } -if test x"$libc_cv_asm_cfi_personality" != xyes; then - as_fn_error $? "assembler too old, .cfi_personality support missing" "$LINENO" 5 -fi diff --git a/sysdeps/x86_64/nptl/configure.ac b/sysdeps/x86_64/nptl/configure.ac deleted file mode 100644 index 0ba0cc3726..0000000000 --- a/sysdeps/x86_64/nptl/configure.ac +++ /dev/null @@ -1,23 +0,0 @@ -GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. -# Local configure fragment for sysdeps/i386. - -AC_CACHE_CHECK([for .cfi_personality and .cfi_lsda pseudo-ops], - libc_cv_asm_cfi_personality, [dnl - cat > conftest.s <&AS_MESSAGE_LOG_FD); then - libc_cv_asm_cfi_personality=yes - else - libc_cv_asm_cfi_personality=no - fi - rm -f conftest* -]) -if test x"$libc_cv_asm_cfi_personality" != xyes; then - AC_MSG_ERROR([assembler too old, .cfi_personality support missing]) -fi