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]

Stupid assembler eh_frame check


The configure check for assembler eh_frame optimization does not handle
big endian targets.

2001-07-17  Andreas Schwab  <schwab@suse.de>

	* configure.in (assembler eh_frame optimization): Handle big
	endian.

--- configure.in.~1.532.~	Thu Jun 28 10:11:25 2001
+++ configure.in	Tue Jul 17 13:29:32 2001
@@ -1460,17 +1460,23 @@
 	.4byte	.L1-.LFB1
 .LEFDE1:
 EOF
-		cat > conftest.exp <<EOF
+		cat > conftest.lit <<EOF
  0000 10000000 00000000 017a0001 781a0004  .........z..x...
  0010 01000000 12000000 18000000 00000000  ................
  0020 08000000 04080000 0044               .........D      
 EOF
+		cat > conftest.big <<EOF
+ 0000 00000010 00000000 017a0001 781a0004  .........z..x...
+ 0010 00000001 00000012 00000018 00000000  ................
+ 0020 00000008 04000000 0844               .........D      
+EOF
 		# If the assembler didn't choke, and we can objdump,
 		# and we got the correct data, then succeed.
 		if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1 \
 		   && objdump -s -j .eh_frame conftest.o 2>/dev/null \
 		      | tail -3 > conftest.got \
-		   && cmp conftest.exp conftest.got > /dev/null 2>&1
+		   && { cmp conftest.lit conftest.got > /dev/null 2>&1 \
+		        || cmp conftest.big conftest.got > /dev/null 2>&1; }
 		then
 			gcc_cv_as_eh_frame="yes"
 		else

-- 
Andreas Schwab                                  "And now for something
SuSE Labs                                        completely different."
Andreas.Schwab@suse.de
SuSE GmbH, Schanzäckerstr. 10, D-90443 Nürnberg
Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5


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