This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

PATCH to configure.ac cfi advance test for middle-end/40332


gas in binutils 2.19.1 fails to generate DW_CFA_advance_loc4, so this patch increases the skip amount in the configure test in order to trip that bug and therefore disable cfi directives when used with that gas.

Tested that the test gives the expected result with 2.19.1 and 2.19.51.0.14-3.fc11. OK for trunk?
commit 38fdf3a6264a2272f3fcfb22ecfe854ce70e1a38
Author: Jason Merrill <jason@redhat.com>
Date:   Fri Feb 19 11:50:05 2010 -0500

    	PR target/40332
    	* configure.ac (gcc_cv_as_cfi_advance_working): Check 32-bit advance.
    	* configure: Likewise.

diff --git a/gcc/configure b/gcc/configure
index 92ee2e9..a0e15ad 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -21421,7 +21421,7 @@ else
     echo '	.text
 	.cfi_startproc
 	.cfi_adjust_cfa_offset 64
-	.skip 512, 0
+	.skip 75031, 0
 	.cfi_adjust_cfa_offset 128
 	.cfi_endproc' > conftest.s
     if { ac_try='$gcc_cv_as $gcc_cv_as_flags  -o conftest.o conftest.s >&5'
@@ -21433,7 +21433,7 @@ else
     then
 
 if $gcc_cv_readelf -wf conftest.o 2>/dev/null \
-    | grep 'DW_CFA_advance_loc[12]:[ 	][ 	]*512[ 	]' >/dev/null; then
+    | grep 'DW_CFA_advance_loc[124]:[ 	][ 	]*75031[ 	]' >/dev/null; then
    gcc_cv_as_cfi_advance_working=yes
 fi
 
diff --git a/gcc/configure.ac b/gcc/configure.ac
index fee13b3..cd44af8 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -2292,12 +2292,12 @@ gcc_GAS_CHECK_FEATURE([working cfi advance], gcc_cv_as_cfi_advance_working,
 [	.text
 	.cfi_startproc
 	.cfi_adjust_cfa_offset 64
-	.skip 512, 0
+	.skip 75031, 0
 	.cfi_adjust_cfa_offset 128
 	.cfi_endproc],
 [[
 if $gcc_cv_readelf -wf conftest.o 2>/dev/null \
-    | grep 'DW_CFA_advance_loc[12]:[ 	][ 	]*512[ 	]' >/dev/null; then
+    | grep 'DW_CFA_advance_loc[124]:[ 	][ 	]*75031[ 	]' >/dev/null; then
    gcc_cv_as_cfi_advance_working=yes
 fi
 ]])

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]