* gas/mips/ld.s: Adjust to let data objects be only
authorMaciej W. Rozycki <macro@linux-mips.org>
Sun, 24 Oct 2010 10:19:02 +0000 (10:19 +0000)
committerMaciej W. Rozycki <macro@linux-mips.org>
Sun, 24 Oct 2010 10:19:02 +0000 (10:19 +0000)
defined/declared (as appropriate) at the end of assembly, based
on the presence or not of the "forward" symbol.
* gas/mips/ld-forward.d: New test.
* gas/mips/mips1@ld-forward.d: Likewise. MIPS I version.
* gas/mips/r3000@ld-forward.d: Likewise, R3000 version.
* gas/mips/ecoff@ld-forward.d: Likewise, ECOFF version.
* gas/mips/r3900@ecoff@ld-forward.d: Likewise, R3900/ECOFF
version.
* gas/mips/mips2@ecoff@ld-forward.d: Likewise, MIPS II/ECOFF
version.
* gas/mips/mips32@ecoff@ld-forward.d: Likewise, MIPS32/ECOFF
version.
* gas/mips/mips32r2@ecoff@ld-forward.d: Likewise, MIPS32r2/ECOFF
version.
* gas/mips/ld-n32-forward.d: New test.
* gas/mips/ld-n64-forward.d: Likewise.
* gas/mips/mips.exp: Run the new tests.

13 files changed:
gas/testsuite/ChangeLog
gas/testsuite/gas/mips/ecoff@ld-forward.d [new file with mode: 0644]
gas/testsuite/gas/mips/ld-forward-n32.d [new file with mode: 0644]
gas/testsuite/gas/mips/ld-forward-n64.d [new file with mode: 0644]
gas/testsuite/gas/mips/ld-forward.d [new file with mode: 0644]
gas/testsuite/gas/mips/ld.s
gas/testsuite/gas/mips/mips.exp
gas/testsuite/gas/mips/mips1@ld-forward.d [new file with mode: 0644]
gas/testsuite/gas/mips/mips2@ecoff@ld-forward.d [new file with mode: 0644]
gas/testsuite/gas/mips/mips32@ecoff@ld-forward.d [new file with mode: 0644]
gas/testsuite/gas/mips/mips32r2@ecoff@ld-forward.d [new file with mode: 0644]
gas/testsuite/gas/mips/r3000@ld-forward.d [new file with mode: 0644]
gas/testsuite/gas/mips/r3900@ecoff@ld-forward.d [new file with mode: 0644]

index ce14ea7e07cc948737dcf8423c4e4a15eeb190e6..a46bc918d8bffbb2ec8278b3d13d17e8fda3acd3 100644 (file)
@@ -1,3 +1,24 @@
+2010-10-24  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * gas/mips/ld.s: Adjust to let data objects be only
+       defined/declared (as appropriate) at the end of assembly, based
+       on the presence or not of the "forward" symbol.
+       * gas/mips/ld-forward.d: New test.
+       * gas/mips/mips1@ld-forward.d: Likewise. MIPS I version.
+       * gas/mips/r3000@ld-forward.d: Likewise, R3000 version.
+       * gas/mips/ecoff@ld-forward.d: Likewise, ECOFF version.
+       * gas/mips/r3900@ecoff@ld-forward.d: Likewise, R3900/ECOFF
+       version.
+       * gas/mips/mips2@ecoff@ld-forward.d: Likewise, MIPS II/ECOFF
+       version.
+       * gas/mips/mips32@ecoff@ld-forward.d: Likewise, MIPS32/ECOFF
+       version.
+       * gas/mips/mips32r2@ecoff@ld-forward.d: Likewise, MIPS32r2/ECOFF
+       version.
+       * gas/mips/ld-n32-forward.d: New test.
+       * gas/mips/ld-n64-forward.d: Likewise.
+       * gas/mips/mips.exp: Run the new tests.
+
 2010-10-24  Maciej W. Rozycki  <macro@linux-mips.org>
 
        * gas/mips/ld-n32.d: New test.
diff --git a/gas/testsuite/gas/mips/ecoff@ld-forward.d b/gas/testsuite/gas/mips/ecoff@ld-forward.d
new file mode 100644 (file)
index 0000000..f0bfd9d
--- /dev/null
@@ -0,0 +1,5 @@
+#objdump: -dr --prefix-addresses
+#as: -32 --defsym forward=1
+#name: MIPS ld forward
+#source: ld.s
+#dump: ecoff@ld.d
diff --git a/gas/testsuite/gas/mips/ld-forward-n32.d b/gas/testsuite/gas/mips/ld-forward-n32.d
new file mode 100644 (file)
index 0000000..93ba798
--- /dev/null
@@ -0,0 +1,5 @@
+#objdump: -dr --prefix-addresses
+#as: -n32 --defsym forward=1
+#name: MIPS ld forward n32
+#source: ld.s
+#dump: ld-n32.d
diff --git a/gas/testsuite/gas/mips/ld-forward-n64.d b/gas/testsuite/gas/mips/ld-forward-n64.d
new file mode 100644 (file)
index 0000000..865f651
--- /dev/null
@@ -0,0 +1,5 @@
+#objdump: -dr --prefix-addresses
+#as: -64 --defsym forward=1
+#name: MIPS ld forward n64
+#source: ld.s
+#dump: ld-n64.d
diff --git a/gas/testsuite/gas/mips/ld-forward.d b/gas/testsuite/gas/mips/ld-forward.d
new file mode 100644 (file)
index 0000000..74c8886
--- /dev/null
@@ -0,0 +1,5 @@
+#objdump: -dr --prefix-addresses
+#as: -32 --defsym forward=1
+#name: MIPS ld forward
+#source: ld.s
+#dump: ld.d
index 0f8ae9bca25794df7b83899a893f06281a35b4b4..17135afcc77ffcab866cce634a4fff6870669491 100644 (file)
@@ -1,5 +1,6 @@
 # Source file used to test the ld macro.
 
+       .macro  data
        .bss
        .align  12
        .sbss
@@ -13,6 +14,11 @@ data_label:
        .comm small_external_common,1
        .lcomm big_local_common,1000
        .lcomm small_local_common,1
+       .endm
+
+       .ifndef forward
+       data
+       .endif
 
        .text
        .align  12
@@ -116,3 +122,7 @@ data_label:
 # Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
        .align  2
        .space  8
+
+       .ifdef  forward
+       data
+       .endif
index cfe8fcdf30b5bab022d11d2053c5c87c6f1d76b8..9e274ad93bc5f7c3bf58072d651cceca1c4cb29b 100644 (file)
@@ -515,11 +515,17 @@ if { [istarget mips*-*-vxworks*] } {
     }
     if !$aout {
        run_dump_test_arches "ld"       [mips_arch_list_matching mips1]
+       run_dump_test_arches "ld-forward" \
+                                       [mips_arch_list_matching mips1]
        if $has_newabi {
            run_dump_test_arches "ld-n32" \
                                        [mips_arch_list_matching mips3]
+           run_dump_test_arches "ld-forward-n32" \
+                                       [mips_arch_list_matching mips3]
            run_dump_test_arches "ld-n64" \
                                        [mips_arch_list_matching mips3]
+           run_dump_test_arches "ld-forward-n64" \
+                                       [mips_arch_list_matching mips3]
        }
     }
     if $elf { run_dump_test "ld-svr4pic" }
diff --git a/gas/testsuite/gas/mips/mips1@ld-forward.d b/gas/testsuite/gas/mips/mips1@ld-forward.d
new file mode 100644 (file)
index 0000000..80b3afb
--- /dev/null
@@ -0,0 +1,583 @@
+#objdump: -dr --prefix-addresses
+#as: -32 --defsym forward=1
+#name: MIPS ld forward
+#source: ld.s
+
+# Test the ld macro using forward references (MIPS1).
+
+.*: +file format .*mips.*
+
+Disassembly of section \.text:
+[0-9a-f]+ <[^>]*> lw   a0,0\(zero\)
+[0-9a-f]+ <[^>]*> lw   a1,4\(zero\)
+[0-9a-f]+ <[^>]*> lw   a0,1\(zero\)
+[0-9a-f]+ <[^>]*> lw   a1,5\(zero\)
+[0-9a-f]+ <[^>]*> lui  at,0x1
+[0-9a-f]+ <[^>]*> lw   a0,-32768\(at\)
+[0-9a-f]+ <[^>]*> lw   a1,-32764\(at\)
+[0-9a-f]+ <[^>]*> lw   a0,-32768\(zero\)
+[0-9a-f]+ <[^>]*> lw   a1,-32764\(zero\)
+[0-9a-f]+ <[^>]*> lui  at,0x1
+[0-9a-f]+ <[^>]*> lw   a0,0\(at\)
+[0-9a-f]+ <[^>]*> lw   a1,4\(at\)
+[0-9a-f]+ <[^>]*> lui  at,0x2
+[0-9a-f]+ <[^>]*> lw   a0,-23131\(at\)
+[0-9a-f]+ <[^>]*> lw   a1,-23127\(at\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> lw   a0,0\(a1\)
+[0-9a-f]+ <[^>]*> lw   a1,4\(a1\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> lw   a0,1\(a1\)
+[0-9a-f]+ <[^>]*> lw   a1,5\(a1\)
+[0-9a-f]+ <[^>]*> lui  at,0x1
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lw   a0,-32768\(at\)
+[0-9a-f]+ <[^>]*> lw   a1,-32764\(at\)
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> lw   a0,-32768\(a1\)
+[0-9a-f]+ <[^>]*> lw   a1,-32764\(a1\)
+[0-9a-f]+ <[^>]*> lui  at,0x1
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lw   a0,0\(at\)
+[0-9a-f]+ <[^>]*> lw   a1,4\(at\)
+[0-9a-f]+ <[^>]*> lui  at,0x2
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lw   a0,-23131\(at\)
+[0-9a-f]+ <[^>]*> lw   a1,-23127\(at\)
+[0-9a-f]+ <[^>]*> lui  at,0x0
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        \.data(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lw   a0,(0|4096)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.data(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lw   a1,(4|4100)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.data(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lui  at,0x0
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        big_external_data_label
+[0-9a-f]+ <[^>]*> lw   a0,0\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_data_label
+[0-9a-f]+ <[^>]*> lw   a1,4\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_data_label
+[0-9a-f]+ <[^>]*> lw   a0,0\(gp\)
+[      ]*[0-9a-f]+: (R_MIPS_GPREL16|GPREL)     small_external_data_label
+[0-9a-f]+ <[^>]*> lw   a1,4\(gp\)
+[      ]*[0-9a-f]+: (R_MIPS_GPREL16|GPREL)     small_external_data_label
+[0-9a-f]+ <[^>]*> lui  at,0x0
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        big_external_common
+[0-9a-f]+ <[^>]*> lw   a0,0\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_common
+[0-9a-f]+ <[^>]*> lw   a1,4\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_common
+[0-9a-f]+ <[^>]*> lw   a0,0\(gp\)
+[      ]*[0-9a-f]+: (R_MIPS_GPREL16|GPREL)     small_external_common
+[0-9a-f]+ <[^>]*> lw   a1,4\(gp\)
+[      ]*[0-9a-f]+: (R_MIPS_GPREL16|GPREL)     small_external_common
+[0-9a-f]+ <[^>]*> lui  at,0x0
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        \.bss(\+0xffffe000)?
+[0-9a-f]+ <[^>]*> lw   a0,(0|8192)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.bss(\+0xffffe000)?
+[0-9a-f]+ <[^>]*> lw   a1,(4|8196)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.bss(\+0xffffe000)?
+[0-9a-f]+ <[^>]*> lw   a0,(0|-16384)\(gp\)
+[      ]*[0-9a-f]+: (R_MIPS_GPREL16|GPREL)     \.sbss(\+0x4000)?
+[0-9a-f]+ <[^>]*> lw   a1,(4|-16380)\(gp\)
+[      ]*[0-9a-f]+: (R_MIPS_GPREL16|GPREL)     \.sbss(\+0x4000)?
+[0-9a-f]+ <[^>]*> lui  at,0x0
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        \.data(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lw   a0,(1|4097)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.data(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lw   a1,(5|4101)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.data(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lui  at,0x0
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        big_external_data_label
+[0-9a-f]+ <[^>]*> lw   a0,1\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_data_label
+[0-9a-f]+ <[^>]*> lw   a1,5\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_data_label
+[0-9a-f]+ <[^>]*> lw   a0,1\(gp\)
+[      ]*[0-9a-f]+: (R_MIPS_GPREL16|GPREL)     small_external_data_label
+[0-9a-f]+ <[^>]*> lw   a1,5\(gp\)
+[      ]*[0-9a-f]+: (R_MIPS_GPREL16|GPREL)     small_external_data_label
+[0-9a-f]+ <[^>]*> lui  at,0x0
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        big_external_common
+[0-9a-f]+ <[^>]*> lw   a0,1\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_common
+[0-9a-f]+ <[^>]*> lw   a1,5\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_common
+[0-9a-f]+ <[^>]*> lw   a0,1\(gp\)
+[      ]*[0-9a-f]+: (R_MIPS_GPREL16|GPREL)     small_external_common
+[0-9a-f]+ <[^>]*> lw   a1,5\(gp\)
+[      ]*[0-9a-f]+: (R_MIPS_GPREL16|GPREL)     small_external_common
+[0-9a-f]+ <[^>]*> lui  at,0x0
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        \.bss(\+0xffffe000)?
+[0-9a-f]+ <[^>]*> lw   a0,(1|8193)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.bss(\+0xffffe000)?
+[0-9a-f]+ <[^>]*> lw   a1,(5|8197)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.bss(\+0xffffe000)?
+[0-9a-f]+ <[^>]*> lw   a0,(1|-16383)\(gp\)
+[      ]*[0-9a-f]+: (R_MIPS_GPREL16|GPREL)     \.sbss(\+0x4000)?
+[0-9a-f]+ <[^>]*> lw   a1,(5|-16379)\(gp\)
+[      ]*[0-9a-f]+: (R_MIPS_GPREL16|GPREL)     \.sbss(\+0x4000)?
+[0-9a-f]+ <[^>]*> lui  at,0x1
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        \.data(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lw   a0,-(32768|28672)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.data(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lw   a1,-(32764|28668)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.data(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lui  at,0x1
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        big_external_data_label
+[0-9a-f]+ <[^>]*> lw   a0,-32768\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_data_label
+[0-9a-f]+ <[^>]*> lw   a1,-32764\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_data_label
+[0-9a-f]+ <[^>]*> lui  at,0x1
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        small_external_data_label
+[0-9a-f]+ <[^>]*> lw   a0,-32768\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        small_external_data_label
+[0-9a-f]+ <[^>]*> lw   a1,-32764\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        small_external_data_label
+[0-9a-f]+ <[^>]*> lui  at,0x1
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        big_external_common
+[0-9a-f]+ <[^>]*> lw   a0,-32768\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_common
+[0-9a-f]+ <[^>]*> lw   a1,-32764\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_common
+[0-9a-f]+ <[^>]*> lui  at,0x1
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        small_external_common
+[0-9a-f]+ <[^>]*> lw   a0,-32768\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        small_external_common
+[0-9a-f]+ <[^>]*> lw   a1,-32764\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        small_external_common
+[0-9a-f]+ <[^>]*> lui  at,0x1
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        \.bss(\+0xffffe000)?
+[0-9a-f]+ <[^>]*> lw   a0,-(32768|24576)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.bss(\+0xffffe000)?
+[0-9a-f]+ <[^>]*> lw   a1,-(32764|24572)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.bss(\+0xffffe000)?
+[0-9a-f]+ <[^>]*> lui  at,0x1
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        \.sbss(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lw   a0,-(32768|28672)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.sbss(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lw   a1,-(32764|28668)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.sbss(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lui  at,0x0
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        \.data(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lw   a0,-(32768|28672)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.data(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lw   a1,-(32764|28668)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.data(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lui  at,0x0
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        big_external_data_label
+[0-9a-f]+ <[^>]*> lw   a0,-32768\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_data_label
+[0-9a-f]+ <[^>]*> lw   a1,-32764\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_data_label
+[0-9a-f]+ <[^>]*> lui  at,0x0
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        small_external_data_label
+[0-9a-f]+ <[^>]*> lw   a0,-32768\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        small_external_data_label
+[0-9a-f]+ <[^>]*> lw   a1,-32764\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        small_external_data_label
+[0-9a-f]+ <[^>]*> lui  at,0x0
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        big_external_common
+[0-9a-f]+ <[^>]*> lw   a0,-32768\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_common
+[0-9a-f]+ <[^>]*> lw   a1,-32764\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_common
+[0-9a-f]+ <[^>]*> lui  at,0x0
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        small_external_common
+[0-9a-f]+ <[^>]*> lw   a0,-32768\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        small_external_common
+[0-9a-f]+ <[^>]*> lw   a1,-32764\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        small_external_common
+[0-9a-f]+ <[^>]*> lui  at,0x0
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        \.bss(\+0xffffe000)?
+[0-9a-f]+ <[^>]*> lw   a0,-(32768|24576)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.bss(\+0xffffe000)?
+[0-9a-f]+ <[^>]*> lw   a1,-(32764|24572)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.bss(\+0xffffe000)?
+[0-9a-f]+ <[^>]*> lui  at,0x0
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        \.sbss(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lw   a0,-(32768|28672)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.sbss(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lw   a1,-(32764|28668)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.sbss(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lui  at,0x1
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        \.data(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lw   a0,(0|4096)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.data(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lw   a1,(4|4100)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.data(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lui  at,0x1
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        big_external_data_label
+[0-9a-f]+ <[^>]*> lw   a0,0\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_data_label
+[0-9a-f]+ <[^>]*> lw   a1,4\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_data_label
+[0-9a-f]+ <[^>]*> lui  at,0x1
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        small_external_data_label
+[0-9a-f]+ <[^>]*> lw   a0,0\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        small_external_data_label
+[0-9a-f]+ <[^>]*> lw   a1,4\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        small_external_data_label
+[0-9a-f]+ <[^>]*> lui  at,0x1
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        big_external_common
+[0-9a-f]+ <[^>]*> lw   a0,0\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_common
+[0-9a-f]+ <[^>]*> lw   a1,4\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_common
+[0-9a-f]+ <[^>]*> lui  at,0x1
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        small_external_common
+[0-9a-f]+ <[^>]*> lw   a0,0\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        small_external_common
+[0-9a-f]+ <[^>]*> lw   a1,4\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        small_external_common
+[0-9a-f]+ <[^>]*> lui  at,0x1
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        \.bss(\+0xffffe000)?
+[0-9a-f]+ <[^>]*> lw   a0,(0|8192)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.bss(\+0xffffe000)?
+[0-9a-f]+ <[^>]*> lw   a1,(4|8196)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.bss(\+0xffffe000)?
+[0-9a-f]+ <[^>]*> lui  at,0x1
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        \.sbss(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lw   a0,(0|4096)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.sbss(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lw   a1,(4|4100)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.sbss(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lui  at,0x2
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        \.data(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lw   a0,-(23131|19035)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.data(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lw   a1,-(23127|19031)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.data(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lui  at,0x2
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        big_external_data_label
+[0-9a-f]+ <[^>]*> lw   a0,-23131\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_data_label
+[0-9a-f]+ <[^>]*> lw   a1,-23127\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_data_label
+[0-9a-f]+ <[^>]*> lui  at,0x2
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        small_external_data_label
+[0-9a-f]+ <[^>]*> lw   a0,-23131\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        small_external_data_label
+[0-9a-f]+ <[^>]*> lw   a1,-23127\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        small_external_data_label
+[0-9a-f]+ <[^>]*> lui  at,0x2
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        big_external_common
+[0-9a-f]+ <[^>]*> lw   a0,-23131\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_common
+[0-9a-f]+ <[^>]*> lw   a1,-23127\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_common
+[0-9a-f]+ <[^>]*> lui  at,0x2
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        small_external_common
+[0-9a-f]+ <[^>]*> lw   a0,-23131\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        small_external_common
+[0-9a-f]+ <[^>]*> lw   a1,-23127\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        small_external_common
+[0-9a-f]+ <[^>]*> lui  at,0x2
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        \.bss(\+0xffffe000)?
+[0-9a-f]+ <[^>]*> lw   a0,-(23131|14939)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.bss(\+0xffffe000)?
+[0-9a-f]+ <[^>]*> lw   a1,-(23127|14935)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.bss(\+0xffffe000)?
+[0-9a-f]+ <[^>]*> lui  at,0x2
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        \.sbss(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lw   a0,-(23131|19035)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.sbss(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lw   a1,-(23127|19031)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.sbss(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> lui  at,0x0
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        \.data(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lw   a0,(0|4096)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.data(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lw   a1,(4|4100)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.data(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> lui  at,0x0
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        big_external_data_label
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lw   a0,0\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_data_label
+[0-9a-f]+ <[^>]*> lw   a1,4\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_data_label
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> addu at,a1,gp
+[0-9a-f]+ <[^>]*> lw   a0,0\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_GPREL16|GPREL)     small_external_data_label
+[0-9a-f]+ <[^>]*> lw   a1,4\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_GPREL16|GPREL)     small_external_data_label
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> lui  at,0x0
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        big_external_common
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lw   a0,0\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_common
+[0-9a-f]+ <[^>]*> lw   a1,4\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_common
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> addu at,a1,gp
+[0-9a-f]+ <[^>]*> lw   a0,0\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_GPREL16|GPREL)     small_external_common
+[0-9a-f]+ <[^>]*> lw   a1,4\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_GPREL16|GPREL)     small_external_common
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> lui  at,0x0
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        \.bss(\+0xffffe000)?
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lw   a0,(0|8192)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.bss(\+0xffffe000)?
+[0-9a-f]+ <[^>]*> lw   a1,(4|8196)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.bss(\+0xffffe000)?
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> addu at,a1,gp
+[0-9a-f]+ <[^>]*> lw   a0,(0|-16384)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_GPREL16|GPREL)     \.sbss(\+0x4000)?
+[0-9a-f]+ <[^>]*> lw   a1,(4|-16380)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_GPREL16|GPREL)     \.sbss(\+0x4000)?
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> lui  at,0x0
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        \.data(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lw   a0,(1|4097)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.data(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lw   a1,(5|4101)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.data(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> lui  at,0x0
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        big_external_data_label
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lw   a0,1\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_data_label
+[0-9a-f]+ <[^>]*> lw   a1,5\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_data_label
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> addu at,a1,gp
+[0-9a-f]+ <[^>]*> lw   a0,1\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_GPREL16|GPREL)     small_external_data_label
+[0-9a-f]+ <[^>]*> lw   a1,5\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_GPREL16|GPREL)     small_external_data_label
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> lui  at,0x0
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        big_external_common
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lw   a0,1\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_common
+[0-9a-f]+ <[^>]*> lw   a1,5\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_common
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> addu at,a1,gp
+[0-9a-f]+ <[^>]*> lw   a0,1\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_GPREL16|GPREL)     small_external_common
+[0-9a-f]+ <[^>]*> lw   a1,5\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_GPREL16|GPREL)     small_external_common
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> lui  at,0x0
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        \.bss(\+0xffffe000)?
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lw   a0,(1|8193)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.bss(\+0xffffe000)?
+[0-9a-f]+ <[^>]*> lw   a1,(5|8197)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.bss(\+0xffffe000)?
+[0-9a-f]+ <[^>]*> nop
+[0-9a-f]+ <[^>]*> addu at,a1,gp
+[0-9a-f]+ <[^>]*> lw   a0,(1|-16383)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_GPREL16|GPREL)     \.sbss(\+0x4000)?
+[0-9a-f]+ <[^>]*> lw   a1,(5|-16379)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_GPREL16|GPREL)     \.sbss(\+0x4000)?
+[0-9a-f]+ <[^>]*> lui  at,0x1
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        \.data(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lw   a0,-(32768|28672)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.data(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lw   a1,-(32764|28668)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.data(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lui  at,0x1
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        big_external_data_label
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lw   a0,-32768\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_data_label
+[0-9a-f]+ <[^>]*> lw   a1,-32764\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_data_label
+[0-9a-f]+ <[^>]*> lui  at,0x1
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        small_external_data_label
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lw   a0,-32768\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        small_external_data_label
+[0-9a-f]+ <[^>]*> lw   a1,-32764\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        small_external_data_label
+[0-9a-f]+ <[^>]*> lui  at,0x1
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        big_external_common
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lw   a0,-32768\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_common
+[0-9a-f]+ <[^>]*> lw   a1,-32764\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_common
+[0-9a-f]+ <[^>]*> lui  at,0x1
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        small_external_common
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lw   a0,-32768\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        small_external_common
+[0-9a-f]+ <[^>]*> lw   a1,-32764\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        small_external_common
+[0-9a-f]+ <[^>]*> lui  at,0x1
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        \.bss(\+0xffffe000)?
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lw   a0,-(32768|24576)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.bss(\+0xffffe000)?
+[0-9a-f]+ <[^>]*> lw   a1,-(32764|24572)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.bss(\+0xffffe000)?
+[0-9a-f]+ <[^>]*> lui  at,0x1
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        \.sbss(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lw   a0,-(32768|28672)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.sbss(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lw   a1,-(32764|28668)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.sbss(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lui  at,0x0
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        \.data(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lw   a0,-(32768|28672)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.data(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lw   a1,-(32764|28668)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.data(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lui  at,0x0
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        big_external_data_label
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lw   a0,-32768\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_data_label
+[0-9a-f]+ <[^>]*> lw   a1,-32764\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_data_label
+[0-9a-f]+ <[^>]*> lui  at,0x0
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        small_external_data_label
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lw   a0,-32768\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        small_external_data_label
+[0-9a-f]+ <[^>]*> lw   a1,-32764\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        small_external_data_label
+[0-9a-f]+ <[^>]*> lui  at,0x0
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        big_external_common
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lw   a0,-32768\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_common
+[0-9a-f]+ <[^>]*> lw   a1,-32764\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_common
+[0-9a-f]+ <[^>]*> lui  at,0x0
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        small_external_common
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lw   a0,-32768\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        small_external_common
+[0-9a-f]+ <[^>]*> lw   a1,-32764\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        small_external_common
+[0-9a-f]+ <[^>]*> lui  at,0x0
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        \.bss(\+0xffffe000)?
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lw   a0,-(32768|24576)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.bss(\+0xffffe000)?
+[0-9a-f]+ <[^>]*> lw   a1,-(32764|24572)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.bss(\+0xffffe000)?
+[0-9a-f]+ <[^>]*> lui  at,0x0
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        \.sbss(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lw   a0,-(32768|28672)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.sbss(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lw   a1,-(32764|28668)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.sbss(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lui  at,0x1
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        \.data(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lw   a0,(0|4096)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.data(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lw   a1,(4|4100)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.data(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lui  at,0x1
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        big_external_data_label
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lw   a0,0\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_data_label
+[0-9a-f]+ <[^>]*> lw   a1,4\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_data_label
+[0-9a-f]+ <[^>]*> lui  at,0x1
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        small_external_data_label
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lw   a0,0\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        small_external_data_label
+[0-9a-f]+ <[^>]*> lw   a1,4\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        small_external_data_label
+[0-9a-f]+ <[^>]*> lui  at,0x1
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        big_external_common
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lw   a0,0\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_common
+[0-9a-f]+ <[^>]*> lw   a1,4\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_common
+[0-9a-f]+ <[^>]*> lui  at,0x1
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        small_external_common
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lw   a0,0\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        small_external_common
+[0-9a-f]+ <[^>]*> lw   a1,4\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        small_external_common
+[0-9a-f]+ <[^>]*> lui  at,0x1
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        \.bss(\+0xffffe000)?
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lw   a0,(0|8192)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.bss(\+0xffffe000)?
+[0-9a-f]+ <[^>]*> lw   a1,(4|8196)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.bss(\+0xffffe000)?
+[0-9a-f]+ <[^>]*> lui  at,0x1
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        \.sbss(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lw   a0,(0|4096)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.sbss(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lw   a1,(4|4100)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.sbss(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lui  at,0x2
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        \.data(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lw   a0,-(23131|19035)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.data(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lw   a1,-(23127|19031)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.data(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lui  at,0x2
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        big_external_data_label
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lw   a0,-23131\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_data_label
+[0-9a-f]+ <[^>]*> lw   a1,-23127\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_data_label
+[0-9a-f]+ <[^>]*> lui  at,0x2
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        small_external_data_label
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lw   a0,-23131\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        small_external_data_label
+[0-9a-f]+ <[^>]*> lw   a1,-23127\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        small_external_data_label
+[0-9a-f]+ <[^>]*> lui  at,0x2
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        big_external_common
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lw   a0,-23131\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_common
+[0-9a-f]+ <[^>]*> lw   a1,-23127\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        big_external_common
+[0-9a-f]+ <[^>]*> lui  at,0x2
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        small_external_common
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lw   a0,-23131\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        small_external_common
+[0-9a-f]+ <[^>]*> lw   a1,-23127\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        small_external_common
+[0-9a-f]+ <[^>]*> lui  at,0x2
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        \.bss(\+0xffffe000)?
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lw   a0,-(23131|14939)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.bss(\+0xffffe000)?
+[0-9a-f]+ <[^>]*> lw   a1,-(23127|14935)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.bss(\+0xffffe000)?
+[0-9a-f]+ <[^>]*> lui  at,0x2
+[      ]*[0-9a-f]+: (R_MIPS_HI16|REFHI)        \.sbss(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> addu at,a1,at
+[0-9a-f]+ <[^>]*> lw   a0,-(23131|19035)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.sbss(\+0xfffff000)?
+[0-9a-f]+ <[^>]*> lw   a1,-(23127|19031)\(at\)
+[      ]*[0-9a-f]+: (R_MIPS_LO16|REFLO)        \.sbss(\+0xfffff000)?
+       \.\.\.
diff --git a/gas/testsuite/gas/mips/mips2@ecoff@ld-forward.d b/gas/testsuite/gas/mips/mips2@ecoff@ld-forward.d
new file mode 100644 (file)
index 0000000..74c8886
--- /dev/null
@@ -0,0 +1,5 @@
+#objdump: -dr --prefix-addresses
+#as: -32 --defsym forward=1
+#name: MIPS ld forward
+#source: ld.s
+#dump: ld.d
diff --git a/gas/testsuite/gas/mips/mips32@ecoff@ld-forward.d b/gas/testsuite/gas/mips/mips32@ecoff@ld-forward.d
new file mode 100644 (file)
index 0000000..74c8886
--- /dev/null
@@ -0,0 +1,5 @@
+#objdump: -dr --prefix-addresses
+#as: -32 --defsym forward=1
+#name: MIPS ld forward
+#source: ld.s
+#dump: ld.d
diff --git a/gas/testsuite/gas/mips/mips32r2@ecoff@ld-forward.d b/gas/testsuite/gas/mips/mips32r2@ecoff@ld-forward.d
new file mode 100644 (file)
index 0000000..74c8886
--- /dev/null
@@ -0,0 +1,5 @@
+#objdump: -dr --prefix-addresses
+#as: -32 --defsym forward=1
+#name: MIPS ld forward
+#source: ld.s
+#dump: ld.d
diff --git a/gas/testsuite/gas/mips/r3000@ld-forward.d b/gas/testsuite/gas/mips/r3000@ld-forward.d
new file mode 100644 (file)
index 0000000..661ad7e
--- /dev/null
@@ -0,0 +1,5 @@
+#objdump: -dr --prefix-addresses
+#as: -32 --defsym forward=1
+#name: MIPS ld forward
+#source: ld.s
+#dump: mips1@ld-forward.d
diff --git a/gas/testsuite/gas/mips/r3900@ecoff@ld-forward.d b/gas/testsuite/gas/mips/r3900@ecoff@ld-forward.d
new file mode 100644 (file)
index 0000000..74c8886
--- /dev/null
@@ -0,0 +1,5 @@
+#objdump: -dr --prefix-addresses
+#as: -32 --defsym forward=1
+#name: MIPS ld forward
+#source: ld.s
+#dump: ld.d