This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[PATCH 3/4] MIPS/GAS: Make the SVR4 PIC JAL test multi-arch
- From: "Maciej W. Rozycki" <macro at codesourcery dot com>
- To: binutils at sourceware dot org
- Cc: Richard Sandiford <rdsandiford at googlemail dot com>, Catherine Moore <clm at codesourcery dot com>, gnu-mips-sgxx at codesourcery dot com
- Date: Tue, 20 Jul 2010 12:43:35 +0100 (BST)
- Subject: [PATCH 3/4] MIPS/GAS: Make the SVR4 PIC JAL test multi-arch
Hi,
This is a change that makes the jal-svr4pic test case to be run for all
the subarchitectures supported rather than just mips1. The original
patterns are made specific to the mips1 and r3000 subarchitectures that
have load-delay slots and a new set of patterns is added to handle all the
other subarchitectures that have no load-delay slots.
There's no way to express a file rename with CVS, hence the diff does not
accurately match the actions performed.
2010-07-20 Maciej W. Rozycki <macro@codesourcery.com>
gas/testsuite/
* gas/mips/jal-svr4pic.d: Rename to...
* gas/mips/mips1@jal-svr4pic.d: ... this.
* gas/mips/r3000@jal-svr4pic.d: New test subarchitecture.
* gas/mips/jal-svr4pic.d: New default subarchitecture patterns.
* gas/mips/mips.exp: Run jal-svr4pic with run_dump_test_arches
rather than run_dump_test.
OK to commit?
Maciej
binutils-jal-svr4pic-arches.diff
Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/jal-svr4pic.d
===================================================================
--- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/jal-svr4pic.d 2010-07-14 07:55:38.000000000 +0100
+++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/jal-svr4pic.d 2010-07-14 08:02:16.000000000 +0100
@@ -1,6 +1,7 @@
-#objdump: -dr --prefix-addresses --show-raw-insn -mmips:3000
-#name: MIPS R3000 jal-svr4pic
-#as: -32 -mips1 -KPIC -mtune=r3000
+#objdump: -dr --prefix-addresses --show-raw-insn
+#name: MIPS jal-svr4pic
+#as: -32 -KPIC
+#source: jal-svr4pic.s
# Test the jal macro with -KPIC.
@@ -15,36 +16,28 @@
[0-9a-f]+ <[^>]*> afbc0000 sw gp,0\(sp\)
[0-9a-f]+ <[^>]*> 0320f809 jalr t9
[0-9a-f]+ <[^>]*> 00000000 nop
-[0-9a-f]+ <[^>]*> 8fbc0000 lw gp,0\(sp\)
[0-9a-f]+ <[^>]*> 03202009 jalr a0,t9
-[0-9a-f]+ <[^>]*> 00000000 nop
[0-9a-f]+ <[^>]*> 8fbc0000 lw gp,0\(sp\)
-[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 8fbc0000 lw gp,0\(sp\)
[0-9a-f]+ <[^>]*> 8f990000 lw t9,0\(gp\)
-[ ]*2c: R_MIPS_GOT16 .text
-[0-9a-f]+ <[^>]*> 00000000 nop
+[ ]*24: R_MIPS_GOT16 .text
[0-9a-f]+ <[^>]*> 27390000 addiu t9,t9,0
-[ ]*34: R_MIPS_LO16 .text
+[ ]*28: R_MIPS_LO16 .text
[0-9a-f]+ <[^>]*> 0320f809 jalr t9
-[ ]*38: R_MIPS_JALR text_label
+[ ]*2c: R_MIPS_JALR text_label
[0-9a-f]+ <[^>]*> 00000000 nop
[0-9a-f]+ <[^>]*> 8fbc0000 lw gp,0\(sp\)
-[0-9a-f]+ <[^>]*> 00000000 nop
[0-9a-f]+ <[^>]*> 8f990000 lw t9,0\(gp\)
-[ ]*48: R_MIPS_CALL16 weak_text_label
-[0-9a-f]+ <[^>]*> 00000000 nop
+[ ]*38: R_MIPS_CALL16 weak_text_label
[0-9a-f]+ <[^>]*> 0320f809 jalr t9
-[ ]*50: R_MIPS_JALR weak_text_label
+[ ]*3c: R_MIPS_JALR weak_text_label
[0-9a-f]+ <[^>]*> 00000000 nop
[0-9a-f]+ <[^>]*> 8fbc0000 lw gp,0\(sp\)
-[0-9a-f]+ <[^>]*> 00000000 nop
[0-9a-f]+ <[^>]*> 8f990000 lw t9,0\(gp\)
-[ ]*60: R_MIPS_CALL16 external_text_label
-[0-9a-f]+ <[^>]*> 00000000 nop
+[ ]*48: R_MIPS_CALL16 external_text_label
[0-9a-f]+ <[^>]*> 0320f809 jalr t9
-[ ]*68: R_MIPS_JALR external_text_label
+[ ]*4c: R_MIPS_JALR external_text_label
[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 1000ffea b 0+0000 <text_label>
[0-9a-f]+ <[^>]*> 8fbc0000 lw gp,0\(sp\)
-[0-9a-f]+ <[^>]*> 1000ffe2 b 0+0000 <text_label>
-[0-9a-f]+ <[^>]*> 00000000 nop
\.\.\.
Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips.exp
===================================================================
--- binutils-fsf-trunk-quilt.orig/gas/testsuite/gas/mips/mips.exp 2010-07-14 07:49:46.000000000 +0100
+++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips.exp 2010-07-14 08:02:16.000000000 +0100
@@ -462,7 +462,10 @@
run_dump_test "eret-2"
run_dump_test "eret-3"
- if $elf { run_dump_test "jal-svr4pic" }
+ if $elf {
+ run_dump_test_arches "jal-svr4pic" \
+ [mips_arch_list_matching mips1]
+ }
if $elf { run_dump_test "jal-xgot" }
run_list_test_arches "jal-range" "-32" [mips_arch_list_matching mips1]
if $has_newabi { run_dump_test "jal-newabi" }
Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips1@jal-svr4pic.d
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/mips1@jal-svr4pic.d 2010-07-14 08:02:16.000000000 +0100
@@ -0,0 +1,51 @@
+#objdump: -dr --prefix-addresses --show-raw-insn
+#name: MIPS jal-svr4pic
+#as: -32 -KPIC
+#source: jal-svr4pic.s
+
+# Test the jal macro with -KPIC (MIPS1).
+
+.*: +file format .*mips.*
+
+Disassembly of section \.text:
+[0-9a-f]+ <[^>]*> 3c1c0000 lui gp,0x0
+[ ]*0: R_MIPS_HI16 _gp_disp
+[0-9a-f]+ <[^>]*> 279c0000 addiu gp,gp,0
+[ ]*4: R_MIPS_LO16 _gp_disp
+[0-9a-f]+ <[^>]*> 0399e021 addu gp,gp,t9
+[0-9a-f]+ <[^>]*> afbc0000 sw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 0320f809 jalr t9
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 8fbc0000 lw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 03202009 jalr a0,t9
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 8fbc0000 lw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 8f990000 lw t9,0\(gp\)
+[ ]*2c: R_MIPS_GOT16 .text
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 27390000 addiu t9,t9,0
+[ ]*34: R_MIPS_LO16 .text
+[0-9a-f]+ <[^>]*> 0320f809 jalr t9
+[ ]*38: R_MIPS_JALR text_label
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 8fbc0000 lw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 8f990000 lw t9,0\(gp\)
+[ ]*48: R_MIPS_CALL16 weak_text_label
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 0320f809 jalr t9
+[ ]*50: R_MIPS_JALR weak_text_label
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 8fbc0000 lw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 8f990000 lw t9,0\(gp\)
+[ ]*60: R_MIPS_CALL16 external_text_label
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 0320f809 jalr t9
+[ ]*68: R_MIPS_JALR external_text_label
+[0-9a-f]+ <[^>]*> 00000000 nop
+[0-9a-f]+ <[^>]*> 8fbc0000 lw gp,0\(sp\)
+[0-9a-f]+ <[^>]*> 1000ffe2 b 0+0000 <text_label>
+[0-9a-f]+ <[^>]*> 00000000 nop
+ \.\.\.
Index: binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/r3000@jal-svr4pic.d
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ binutils-fsf-trunk-quilt/gas/testsuite/gas/mips/r3000@jal-svr4pic.d 2010-07-14 08:02:16.000000000 +0100
@@ -0,0 +1,5 @@
+#objdump: -dr --prefix-addresses --show-raw-insn
+#name: MIPS jal-svr4pic
+#as: -32 -KPIC
+#source: jal-svr4pic.s
+#dump: mips1@jal-svr4pic.d