From mboxrd@z Thu Jan 1 00:00:00 1970 From: Geoff Keating To: gavin@cygnus.com, Mark Mitchell , binutils@sourceware.cygnus.com Subject: Boring new tests for mips gas. Date: Mon, 27 Sep 1999 04:27:00 -0000 Message-id: <199909271121.VAA01667@gluttony.geoffk.wattle.id.au> X-SW-Source: 1999-09/msg00174.html Just some random tests. They'd be more interesting if they failed. I'm not sure exactly who can approve changes to the sourceware binutils; if Gavin or Mark could do this (at least for MIPS), it'd be good to know as the current sequence of patches will not be the last. I'm also not sure who can check stuff in. Anyway, is the patch OK? -- Geoffrey Keating ===File ~/patches/cygnus/tx49-bin-gastests.patch============ md5sum: a9c0ba983ca0ab5b 82dcd5b65270f5fe 83251 Index: binutils/gas/testsuite/ChangeLog 0a Wed Sep 22 19:05:50 1999 Geoffrey Keating * gas/mips/elf-reloc.s: New file. * gas/mips/elf-reloc.d: New file. * gas/mips/elf-reloc-2.d: New file. * gas/mips/elf-reloc-2-32.d: New file. * gas/mips/elf-reloc-2.s: New file. * gas/mips/mips.exp: Add elf-reloc, elf-reloc-2. * gas/mips/elf_e_flags1.d: Tweak a little so it passes even if the CPU is set to something by default. . Changed files: binutils/gas/testsuite/ChangeLog binutils/gas/testsuite/gas/mips/elf_e_flags1.d binutils/gas/testsuite/gas/mips/mips.exp binutils/gas/testsuite/gas/mips/elf-reloc.s binutils/gas/testsuite/gas/mips/empic.d binutils/gas/testsuite/gas/mips/elf-reloc.d binutils/gas/testsuite/gas/mips/elf-reloc-2.s binutils/gas/testsuite/gas/mips/elf-reloc-2.d binutils/gas/testsuite/gas/mips/elf-reloc-2-32.d md5sum: 433a853d7692d29c 671b5247a9d17e91 668 --- /sloth/disk0/co/binutils-mainline/binutils/gas/testsuite/gas/mips/elf_e_flags1.d Fri Jun 11 07:15:01 1999 +++ binutils/gas/testsuite/gas/mips/elf_e_flags1.d Mon Sep 27 19:46:17 1999 @@ -3,7 +3,7 @@ # 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 md5sum: 2d7a5d714f6ce2db df72ae3100e87bf9 3524 --- /sloth/disk0/co/binutils-mainline/binutils/gas/testsuite/gas/mips/mips.exp Mon May 3 17:28:51 1999 +++ binutils/gas/testsuite/gas/mips/mips.exp Mon Sep 27 19:46:47 1999 @@ -99,4 +99,13 @@ if [istarget mips*-*-*] then { run_dump_test "elf_e_flags2" run_dump_test "elf_e_flags3" run_dump_test "elf_e_flags4" + + if $svr4pic { + run_dump_test "elf-reloc" + if [istarget mips64*-*-*] { + run_dump_test "elf-reloc-2" + } { + run_dump_test "elf-reloc-2-32" + } + } } --- /dev/null Mon Sep 27 19:21:16 1999 +++ binutils/gas/testsuite/gas/mips/elf-reloc.s Mon Sep 27 19:46:17 1999 @@ -0,0 +1,34 @@ + .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 Mon Sep 27 19:21:16 1999 +++ binutils/gas/testsuite/gas/mips/empic.d Mon Sep 27 19:46:17 1999 @@ -0,0 +1,112 @@ +#objdump: -dr -mmips:4000 +#name: MIPS empic +#as: -membedded-pic -mips3 + +# Check GNU-specific embedded relocs, for ELF. + +.*: +file format .*mips.* + +Disassembly of section .text: + +0*00000000 : + 0: 0411ffff bal 0 + 0: R_MIPS_GNU_REL16_S2 g1 + 4: 00000000 nop + 8: 10000001 b 10 + 8: R_MIPS_GNU_REL16_S2 g2 + c: 00000000 nop + 10: 04110021 bal 98 + 10: R_MIPS_GNU_REL16_S2 .foo + 14: 00000000 nop + 18: 0411ffff bal 18 + 18: R_MIPS_GNU_REL16_S2 .text + 1c: 00000000 nop + 20: 10000021 b a8 + 20: R_MIPS_GNU_REL16_S2 .foo + 24: 00000000 nop + +0*00000028 : + 28: 1000ffff b 28 + 28: R_MIPS_GNU_REL16_S2 .text + 2c: 00000000 nop + 30: 3c030000 lui $v1,0x0 + 30: R_MIPS_GNU_REL_HI16 g1 + 34: 64630018 daddiu $v1,$v1,24 + 34: R_MIPS_GNU_REL_LO16 g1 + 38: 3c030000 lui $v1,0x0 + 38: R_MIPS_GNU_REL_HI16 .foo + 3c: 646300fc daddiu $v1,$v1,252 + 3c: R_MIPS_GNU_REL_LO16 .foo + 40: 2403ffd8 li $v1,-40 + 44: 00000000 nop + 44: R_MIPS_32 g1 + 48: 00000088 0x88 + 48: R_MIPS_32 .foo + ... + 4c: R_MIPS_32 .text + 50: R_MIPS_GNU_PCREL32 g1 + 54: R_MIPS_GNU_PCREL32 .foo + 58: ffffffd8 sd $ra,-40($ra) + ... + 60: R_MIPS_64 g1 + 68: R_MIPS_64 .foo + 6c: 00000088 0x88 + ... + 70: R_MIPS_64 .text + 78: R_MIPS_GNU_PCREL64 g1 + 80: R_MIPS_GNU_PCREL64 .foo + 88: ffffffff sd $ra,-1($ra) + 8c: ffffffd8 sd $ra,-40($ra) +Disassembly of section .data: +Disassembly of section .foo: + +0*00000000 : + 0: 3c030000 lui $v1,0x0 + 0: R_MIPS_GNU_REL_HI16 g1 + 4: 64630008 daddiu $v1,$v1,8 + 4: R_MIPS_GNU_REL_LO16 g1 + 8: 3c030000 lui $v1,0x0 + 8: R_MIPS_GNU_REL_HI16 .foo + c: 64630094 daddiu $v1,$v1,148 + c: R_MIPS_GNU_REL_LO16 .foo + 10: 3c030000 lui $v1,0x0 + 10: R_MIPS_GNU_REL_HI16 .text + 14: 64630014 daddiu $v1,$v1,20 + 14: R_MIPS_GNU_REL_LO16 .text + 18: 3c030000 lui $v1,0x0 + 18: R_MIPS_GNU_REL_HI16 g1 + 1c: 64630038 daddiu $v1,$v1,56 + 1c: R_MIPS_GNU_REL_LO16 g1 + 20: 3c030000 lui $v1,0x0 + 20: R_MIPS_GNU_REL_HI16 .foo + 24: 646300ac daddiu $v1,$v1,172 + 24: R_MIPS_GNU_REL_LO16 .foo + 28: 3c030000 lui $v1,0x0 + 28: R_MIPS_GNU_REL_HI16 .text + 2c: 6463002c daddiu $v1,$v1,44 + 2c: R_MIPS_GNU_REL_LO16 .text + 30: 67830000 daddiu $v1,$gp,0 + 30: R_MIPS_GPREL16 g1 + 34: 6783c088 daddiu $v1,$gp,-16248 + 34: R_MIPS_GPREL16 .foo+0x4000 + 38: 6783c000 daddiu $v1,$gp,-16384 + 38: R_MIPS_GPREL16 .text+0x4000 + 3c: 00000000 nop + 3c: R_MIPS_32 g1 + 40: 00000088 0x88 + 40: R_MIPS_32 .foo + ... + 44: R_MIPS_32 .text + 48: R_MIPS_GNU_PCREL32 g1 + 4c: 00000088 0x88 + ... + 50: R_MIPS_GNU_PCREL32 .text + 58: R_MIPS_64 g1 + 60: R_MIPS_64 .foo + 64: 00000088 0x88 + ... + 68: R_MIPS_64 .text + 70: R_MIPS_GNU_PCREL64 g1 + 7c: 00000088 0x88 + ... + 80: R_MIPS_GNU_PCREL64 .text --- /dev/null Mon Sep 27 19:21:16 1999 +++ binutils/gas/testsuite/gas/mips/elf-reloc.d Mon Sep 27 19:46:17 1999 @@ -0,0 +1,42 @@ +#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 Mon Sep 27 19:21:16 1999 +++ binutils/gas/testsuite/gas/mips/elf-reloc-2.s Mon Sep 27 19:46:17 1999 @@ -0,0 +1,29 @@ + .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 --- /dev/null Mon Sep 27 19:21:16 1999 +++ binutils/gas/testsuite/gas/mips/elf-reloc-2.d Mon Sep 27 19:46:17 1999 @@ -0,0 +1,26 @@ +#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 Mon Sep 27 19:21:16 1999 +++ binutils/gas/testsuite/gas/mips/elf-reloc-2-32.d Mon Sep 27 19:46:17 1999 @@ -0,0 +1,30 @@ +#objdump: -sr -j .text +#name: MIPS ELF reloc 2 (32-bit) +#source: elf-reloc-2.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 .* ============================================================