This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: [PATCH] MIPS gas: Use PIC_CALL_REG instead of uninitialized tempreg
Thiemo Seufer wrote:
[snip]
> > 2003-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
> >
> > /gas/ChangeLog
> > * config/tc-mips.c (macro): Don't use uninitialized tempreg.
>
> This was tested on mips64-linux and mips-sgi-irix6, both without
> new regressions.
>
> I guess it built/passed the testsuite before because the M_JAL_A
> case where the code lives in isn't triggered by ususal compiler
> generated code.
This adds a testcase which fails for the old code.
Thiemo
2003-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
/gas/testsuite/ChangeLog
* gas/mips/jal-newabi.s: New file, testcase for NewABI xgot jal macro.
* gas/mips/jal-newabi.d: Likewise.
* gas/mips/mips.exp: Add new testcase.
diff -BurpNX /bigdisk/src/gcc-exclude source-orig/gas/testsuite/gas/mips/jal-newabi.d source/gas/testsuite/gas/mips/jal-newabi.d
--- source-orig/gas/testsuite/gas/mips/jal-newabi.d Thu Jan 1 01:00:00 1970
+++ source/gas/testsuite/gas/mips/jal-newabi.d Thu May 15 03:49:43 2003
@@ -0,0 +1,17 @@
+#objdump: -dr --prefix-addresses --show-raw-insn
+#name: MIPS ELF NewABI jal
+#as: -n32 -KPIC -xgot
+
+.*: +file format elf32-n.*mips.*
+
+Disassembly of section \.text:
+00000000 <label> 3c041234 lui a0,0x1234
+00000004 <label\+0x4> 34845678 ori a0,a0,0x5678
+00000008 <label\+0x8> 8f990000 lw t9,0\(gp\)
+ 8: R_MIPS_GOT_PAGE .text
+0000000c <label\+0xc> 23390000 addi t9,t9,0
+ c: R_MIPS_GOT_OFST .text
+00000010 <label\+0x10> 0320f809 jalr t9
+ 10: R_MIPS_JALR .text
+00000014 <label\+0x14> 00000000 nop
+ ...
diff -BurpNX /bigdisk/src/gcc-exclude source-orig/gas/testsuite/gas/mips/jal-newabi.s source/gas/testsuite/gas/mips/jal-newabi.s
--- source-orig/gas/testsuite/gas/mips/jal-newabi.s Thu Jan 1 01:00:00 1970
+++ source/gas/testsuite/gas/mips/jal-newabi.s Thu May 15 03:18:03 2003
@@ -0,0 +1,7 @@
+# Source file used to test the jal macro for NewABI.
+label:
+ dli $4, 0x12345678
+ jal label
+
+# Make objdump print ...
+ .space 8
diff -BurpNX /bigdisk/src/gcc-exclude source-orig/gas/testsuite/gas/mips/mips.exp source/gas/testsuite/gas/mips/mips.exp
--- source-orig/gas/testsuite/gas/mips/mips.exp Wed May 7 11:17:51 2003
+++ source/gas/testsuite/gas/mips/mips.exp Thu May 15 03:07:06 2003
@@ -448,6 +448,7 @@ if { [istarget mips*-*-*] } then {
run_dump_test_arches "jal-empic-elf-3" [mips_arch_list_matching mips1]
}
run_list_test_arches "jal-range" "-32" [mips_arch_list_matching mips1]
+ if $has_newabi { run_dump_test "jal-newabi" }
if !$aout { run_dump_test "la" }
if $elf { run_dump_test "la-svr4pic" }
if $elf { run_dump_test "la-xgot" }