* gas/mips/elf-rel.d: New file.
* gas/mips/elf-rel2.d: New file.
* gas/mips/e32-rel2.d: New file.
* gas/mips/elf-rel2.s: New file.
* gas/mips/mips.exp: Add elf-rel, elf-rel2.
* gas/mips/elf_e_flags1.d: Tweak a little so it passes
even if the CPU is set to something by default.
+Thu Oct 7 12:52:25 1999 Geoffrey Keating <geoffk@cygnus.com>
+
+ * gas/mips/elf-rel.s: New file.
+ * gas/mips/elf-rel.d: New file.
+ * gas/mips/elf-rel2.d: New file.
+ * gas/mips/e32-rel2.d: New file.
+ * gas/mips/elf-rel2.s: New file.
+ * gas/mips/mips.exp: Add elf-rel, elf-rel2.
+
+ * gas/mips/elf_e_flags1.d: Tweak a little so it passes
+ even if the CPU is set to something by default.
+
Mon Oct 4 18:25:49 1999 Doug Evans <devans@canuck.cygnus.com>
* gas/m32r/error.exp: New testcase driver.
--- /dev/null
+#objdump: -sr -j .text
+#name: MIPS ELF reloc 2 (32-bit)
+#source: elf-rel2.s
+
+# Test the GPREL and LITERAL generation.
+# FIXME: really this should check that the contents of .sdata, .lit4,
+# and .lit8 are correct too.
+
+.*: file format elf.*mips
+
+RELOCATION RECORDS FOR \[\.text\]:
+OFFSET TYPE VALUE
+0+0000000 R_MIPS_LITERAL \.lit8\+0x0+0004000
+0+0000004 R_MIPS_LITERAL \.lit8\+0x0+0004000
+0+0000008 R_MIPS_LITERAL \.lit8\+0x0+0004000
+0+000000c R_MIPS_LITERAL \.lit8\+0x0+0004000
+0+0000010 R_MIPS_LITERAL \.lit8\+0x0+0004000
+0+0000014 R_MIPS_LITERAL \.lit8\+0x0+0004000
+0+0000018 R_MIPS_LITERAL \.lit4\+0x0+0004000
+0+000001c R_MIPS_LITERAL \.lit4\+0x0+0004000
+0+0000020 R_MIPS_LITERAL \.lit4\+0x0+0004000
+0+0000024 R_MIPS_GPREL16 \.sdata\+0x0+0004000
+0+0000028 R_MIPS_GPREL16 \.sdata\+0x0+0004000
+0+000002c R_MIPS_GPREL16 \.sdata\+0x0+0004000
+
+
+Contents of section \.text:
+ 0000 c783c000 c782c004 c783c008 c782c00c .*
+ 0010 c783c010 c782c014 c782c000 c782c004 .*
+ 0020 c782c008 8f82c000 8f82c004 8f82c008 .*
--- /dev/null
+#objdump: -sr -j .text
+#name: MIPS ELF reloc
+
+# Test the HI16/LO16 generation.
+
+.*: file format elf.*mips
+
+RELOCATION RECORDS FOR \[\.text\]:
+OFFSET TYPE VALUE
+0+0000000 R_MIPS_HI16 \.text
+0+0000018 R_MIPS_LO16 \.text
+0+000000c R_MIPS_HI16 \.text
+0+000001c R_MIPS_LO16 \.text
+0+0000008 R_MIPS_HI16 \.text
+0+0000020 R_MIPS_LO16 \.text
+0+0000004 R_MIPS_HI16 \.text
+0+0000024 R_MIPS_LO16 \.text
+0+0000014 R_MIPS_HI16 \.text
+0+0000028 R_MIPS_LO16 \.text
+0+0000010 R_MIPS_HI16 \.text
+0+000002c R_MIPS_LO16 \.text
+0+0000030 R_MIPS_HI16 \.text
+0+0000048 R_MIPS_LO16 \.text
+0+0000034 R_MIPS_HI16 \.text
+0+000004c R_MIPS_LO16 \.text
+0+0000038 R_MIPS_HI16 \.text
+0+0000050 R_MIPS_LO16 \.text
+0+000003c R_MIPS_HI16 \.text
+0+0000054 R_MIPS_LO16 \.text
+0+0000044 R_MIPS_HI16 \.text
+0+0000058 R_MIPS_LO16 \.text
+0+0000040 R_MIPS_HI16 \.text
+0+000005c R_MIPS_LO16 \.text
+
+
+Contents of section \.text:
+ 0000 3c010000 3c010000 3c010001 3c010001 .*
+ 0010 3c010000 3c010001 20210018 2021001c .*
+ 0020 20210018 2021001c 20218018 2021fffc .*
+ 0030 3c010001 3c010001 3c010002 3c010002 .*
+ 0040 3c010001 3c010001 2021bffe 2021c002 .*
+ 0050 2021bffe 2021c002 20213ffe 2021bffa .*
--- /dev/null
+ .text
+ .align 15
+l0:
+l2 = l0+49150
+
+ .set noat
+ .set noreorder
+ lui $at,%hi(l1)
+ lui $at,%hi(l1+4)
+ lui $at,%hi(l1+0x10000)
+ lui $at,%hi(l1+0x10004)
+ lui $at,%hi(l0-4)
+ lui $at,%hi(l1+0x8000)
+l1:
+ addi $at,$at,%lo(l1)
+ addi $at,$at,%lo(l1+0x10004)
+ addi $at,$at,%lo(l1+0x10000)
+ addi $at,$at,%lo(l1+4)
+ addi $at,$at,%lo(l1+0x8000)
+ addi $at,$at,%lo(l0-4)
+
+ lui $at,%hi(l2)
+ lui $at,%hi(l2+4)
+ lui $at,%hi(l2+0x10000)
+ lui $at,%hi(l2+0x10004)
+ lui $at,%hi(l2-4)
+ lui $at,%hi(l2+0x8000)
+ addi $at,$at,%lo(l2)
+ addi $at,$at,%lo(l2+4)
+ addi $at,$at,%lo(l2+0x10000)
+ addi $at,$at,%lo(l2+0x10004)
+ addi $at,$at,%lo(l2+0x8000)
+ addi $at,$at,%lo(l2-4)
--- /dev/null
+#objdump: -sr -j .text
+#name: MIPS ELF reloc 2
+
+# Test the GPREL and LITERAL generation.
+# FIXME: really this should check that the contents of .sdata, .lit4,
+# and .lit8 are correct too.
+
+.*: file format elf.*mips
+
+RELOCATION RECORDS FOR \[\.text\]:
+OFFSET TYPE VALUE
+0+0000000 R_MIPS_LITERAL \.lit8\+0x0+0004000
+0+0000004 R_MIPS_LITERAL \.lit8\+0x0+0004000
+0+0000008 R_MIPS_LITERAL \.lit8\+0x0+0004000
+0+000000c R_MIPS_LITERAL \.lit4\+0x0+0004000
+0+0000010 R_MIPS_LITERAL \.lit4\+0x0+0004000
+0+0000014 R_MIPS_LITERAL \.lit4\+0x0+0004000
+0+0000018 R_MIPS_GPREL16 \.sdata\+0x0+0004000
+0+000001c R_MIPS_GPREL16 \.sdata\+0x0+0004000
+0+0000020 R_MIPS_GPREL16 \.sdata\+0x0+0004000
+
+
+Contents of section \.text:
+ 0000 d782c000 d782c008 d782c010 c782c000 .*
+ 0010 c782c004 c782c008 8f82c000 8f82c004 .*
+ 0020 8f82c008 .*
--- /dev/null
+ .sdata
+ .align 2
+ .type w1,@object
+ .size w1,4
+w1: .word 1
+ .type w2,@object
+ .size w2,4
+w2: .word 2
+ .type w3,@object
+ .size w3,4
+w3: .word 3
+
+ .text
+ .align 2
+l0:
+ .set noreorder
+
+ li.d $f2,1.10000000000000000000e0
+ li.d $f2,2.10000000000000000000e0
+ li.d $f2,3.10000000000000000000e0
+ li.s $f2,1.10000000000000000000e0
+ li.s $f2,2.10000000000000000000e0
+ li.s $f2,3.10000000000000000000e0
+
+ .set nomacro
+
+ lw $2,w1
+ lw $2,w2
+ lw $2,w3
# objdump: -fd
.*:.*file format.*mips.*
-architecture: mips:[34]000, flags 0x00000011:
+architecture: mips:[34][0-9]00, flags 0x00000011:
HAS_RELOC, HAS_SYMS
start address 0x0000000000000000
run_dump_test "elf_e_flags2"
run_dump_test "elf_e_flags3"
run_dump_test "elf_e_flags4"
+
+ if $svr4pic {
+ run_dump_test "elf-rel"
+ if [istarget mips64*-*-*] {
+ run_dump_test "elf-rel2"
+ } {
+ run_dump_test "e32-rel2"
+ }
+ }
}