This is the mail archive of the binutils@sourceware.cygnus.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Boring new tests for mips gas.



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 <geoffk@cygnus.com>

===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  <geoffk@cygnus.com>

	* 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 <l2>:
+   0:	0411ffff 	bal	0 <l2>
+			0: R_MIPS_GNU_REL16_S2	g1
+   4:	00000000 	nop
+   8:	10000001 	b	10 <l2+0x10>
+			8: R_MIPS_GNU_REL16_S2	g2
+   c:	00000000 	nop
+  10:	04110021 	bal	98 <l1+0x10>
+			10: R_MIPS_GNU_REL16_S2	.foo
+  14:	00000000 	nop
+  18:	0411ffff 	bal	18 <l2+0x18>
+			18: R_MIPS_GNU_REL16_S2	.text
+  1c:	00000000 	nop
+  20:	10000021 	b	a8 <l1+0x20>
+			20: R_MIPS_GNU_REL16_S2	.foo
+  24:	00000000 	nop
+
+0*00000028 <l3>:
+  28:	1000ffff 	b	28 <l3>
+			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 <l4>:
+   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  .*
============================================================

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]