[committed] Fix MIPS16 global calls failures

Richard Sandiford rdsandiford@googlemail.com
Sun May 13 09:55:00 GMT 2012


For this one I think we should use a linker script to get consistent
addresses, like we do for several other tests.

Also added alignment directives to make the alignment consistent.

Tested on various MIPS targets and applied.

Richard


ld/testsuite/
	* ld-mips-elf/mips-elf.exp (mips16_call_global_test): Use the
	no-shared-1.ld linker script.
	* ld-mips-elf/mips16-call-global-1.s: Add alignment directive.
	* ld-mips-elf/mips16-call-global-2.s: Likewise.
	* ld-mips-elf/mips16-call-global-3.s: Likewise.
	* ld-mips-elf/mips16-call-global.d: Use 50000 as the base address.

Index: ld/testsuite/ld-mips-elf/mips-elf.exp
===================================================================
--- ld/testsuite/ld-mips-elf/mips-elf.exp	2011-07-24 15:16:46.000000000 +0100
+++ ld/testsuite/ld-mips-elf/mips-elf.exp	2012-05-13 08:50:28.630700888 +0100
@@ -503,7 +503,7 @@ if {[istarget mips*-*-linux*]} {
 
 set mips16_call_global_test [list \
     [list "Global calls from mips16" \
-	 "$o32_ld_flags" \
+	 "$o32_ld_flags -T no-shared-1.ld" \
 	 "$o32_as_flags -mips32r2" \
 	 {mips16-call-global-1.s mips16-call-global-2.s mips16-call-global-3.s} \
 	 {{objdump -dr mips16-call-global.d}} \
Index: ld/testsuite/ld-mips-elf/mips16-call-global-1.s
===================================================================
--- ld/testsuite/ld-mips-elf/mips16-call-global-1.s	2006-07-20 17:46:29.000000000 +0100
+++ ld/testsuite/ld-mips-elf/mips16-call-global-1.s	2012-05-13 08:53:42.116700412 +0100
@@ -2,6 +2,7 @@
 
 	.globl	__start
 	.ent	__start
+	.align	4
 __start:
 	.frame	$sp,24,$31
 	save	24,$31
Index: ld/testsuite/ld-mips-elf/mips16-call-global-2.s
===================================================================
--- ld/testsuite/ld-mips-elf/mips16-call-global-2.s	2006-07-25 17:45:55.000000000 +0100
+++ ld/testsuite/ld-mips-elf/mips16-call-global-2.s	2012-05-13 08:53:51.413700390 +0100
@@ -3,6 +3,7 @@
 	.globl	x
 	.ent	x
 	.type	x,@function
+	.align	4
 x:
 	jr	$31
 	.end	x
Index: ld/testsuite/ld-mips-elf/mips16-call-global-3.s
===================================================================
--- ld/testsuite/ld-mips-elf/mips16-call-global-3.s	2006-07-25 17:45:55.000000000 +0100
+++ ld/testsuite/ld-mips-elf/mips16-call-global-3.s	2012-05-13 08:57:35.717699847 +0100
@@ -3,6 +3,7 @@
 	.globl	y
 	.ent	y
 	.type	y,@function
+	.align	4
 y:
 	jr	$31
 	.end	y
Index: ld/testsuite/ld-mips-elf/mips16-call-global.d
===================================================================
--- ld/testsuite/ld-mips-elf/mips16-call-global.d	2010-12-31 10:58:49.000000000 +0000
+++ ld/testsuite/ld-mips-elf/mips16-call-global.d	2012-05-13 08:56:44.796699963 +0100
@@ -3,37 +3,37 @@
 
 Disassembly of section .text:
 
-.*0090 <__start>:
-.*0090:	64c3      	save	24,ra
-.*0092:	1a00 002e 	jal	.*00b8 <x\+0x8>
-.*0096:	6500      	nop
-.*0098:	1e00 0032 	jalx	.*00c8 <z>
-.*009c:	6500      	nop
-.*009e:	6443      	restore	24,ra
-.*00a0:	e8a0      	jrc	ra
-.*00a2:	6500      	nop
-.*00a4:	6500      	nop
-.*00a6:	6500      	nop
-.*00a8:	6500      	nop
-.*00aa:	6500      	nop
-.*00ac:	6500      	nop
-.*00ae:	6500      	nop
+0*50000 <__start>:
+ *50000:	64c3      	save	24,ra
+ *50002:	1820 400a 	jal	50028 <x\+0x8>
+ *50006:	6500      	nop
+ *50008:	1c20 400e 	jalx	50038 <z>
+ *5000c:	6500      	nop
+ *5000e:	6443      	restore	24,ra
+ *50010:	e8a0      	jrc	ra
+ *50012:	6500      	nop
+ *50014:	6500      	nop
+ *50016:	6500      	nop
+ *50018:	6500      	nop
+ *5001a:	6500      	nop
+ *5001c:	6500      	nop
+ *5001e:	6500      	nop
 
-.*00b0 <x>:
-.*00b0:	e8a0      	jrc	ra
-.*00b2:	6500      	nop
-.*00b4:	6500      	nop
-.*00b6:	6500      	nop
-.*00b8:	6500      	nop
-.*00ba:	6500      	nop
-.*00bc:	6500      	nop
-.*00be:	6500      	nop
+0*50020 <x>:
+ *50020:	e8a0      	jrc	ra
+ *50022:	6500      	nop
+ *50024:	6500      	nop
+ *50026:	6500      	nop
+ *50028:	6500      	nop
+ *5002a:	6500      	nop
+ *5002c:	6500      	nop
+ *5002e:	6500      	nop
 
-.*00c0 <y>:
-.*00c0:	03e00008 	jr	ra
-.*00c4:	00000000 	nop
+0*50030 <y>:
+ *50030:	03e00008 	jr	ra
+ *50034:	00000000 	nop
 
-.*00c8 <z>:
-.*00c8:	03e00008 	jr	ra
-.*00cc:	00000000 	nop
+0*50038 <z>:
+ *50038:	03e00008 	jr	ra
+ *5003c:	00000000 	nop
 	\.\.\.



More information about the Binutils mailing list