[binutils-gdb] S12Z Add tests for relocs.

John Darrington jmd@sourceware.org
Sun Sep 16 16:06:00 GMT 2018


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=43276309ded887327f434374b37572d1bc0778eb

commit 43276309ded887327f434374b37572d1bc0778eb
Author: John Darrington <john@darrington.wattle.id.au>
Date:   Mon Sep 3 13:22:36 2018 +0200

    S12Z Add tests for relocs.
    
    ld/testsuite/ld-s12z/
        * reloc-ext18-1.d: New file.
        * reloc-ext18-1.d: New file.
        * reloc-ext18-2.d: New file.
        * reloc-ext18.d: New file.
        * reloc-ext18.s: New file.
        * reloc-ext24.d: New file.
        * reloc-ext24.s: New file.
        * reloc-ext32.d: New file.
        * reloc-ext32.s: New file.
        * reloc-opr.d: New file.
        * reloc-opr.d: New file.
        * reloc-opr.s: New file.
        * reloc-pc-rel-7-15.d: New file.
        * reloc-pc-rel-7-15.s: New file.

Diff:
---
 ld/testsuite/ld-s12z/reloc-ext18-1.d     | 11 +++++++++++
 ld/testsuite/ld-s12z/reloc-ext18-2.d     | 11 +++++++++++
 ld/testsuite/ld-s12z/reloc-ext18.d       | 11 +++++++++++
 ld/testsuite/ld-s12z/reloc-ext18.s       | 11 +++++++++++
 ld/testsuite/ld-s12z/reloc-ext24.d       | 15 +++++++++++++++
 ld/testsuite/ld-s12z/reloc-ext24.s       | 12 ++++++++++++
 ld/testsuite/ld-s12z/reloc-ext32.d       |  8 ++++++++
 ld/testsuite/ld-s12z/reloc-ext32.s       | 12 ++++++++++++
 ld/testsuite/ld-s12z/reloc-opr.d         | 15 +++++++++++++++
 ld/testsuite/ld-s12z/reloc-opr.s         |  8 ++++++++
 ld/testsuite/ld-s12z/reloc-pc-rel-7-15.d | 12 ++++++++++++
 ld/testsuite/ld-s12z/reloc-pc-rel-7-15.s | 11 +++++++++++
 12 files changed, 137 insertions(+)

diff --git a/ld/testsuite/ld-s12z/reloc-ext18-1.d b/ld/testsuite/ld-s12z/reloc-ext18-1.d
new file mode 100644
index 0000000..8bf3154
--- /dev/null
+++ b/ld/testsuite/ld-s12z/reloc-ext18-1.d
@@ -0,0 +1,11 @@
+#source: reloc-ext18.s
+#ld: --no-relax --defsym x=0x1abcd
+#objdump: -d -r
+
+tmpdir/dump:     file format elf32-s12z
+
+
+Disassembly of section .text:
+
+00fe0000 <here>:
+  fe0000:	a0 f9 ab cd 	ld d2, x
diff --git a/ld/testsuite/ld-s12z/reloc-ext18-2.d b/ld/testsuite/ld-s12z/reloc-ext18-2.d
new file mode 100644
index 0000000..5995782
--- /dev/null
+++ b/ld/testsuite/ld-s12z/reloc-ext18-2.d
@@ -0,0 +1,11 @@
+#source: reloc-ext18.s
+#ld: --no-relax --defsym x=0x2abcd
+#objdump: -d -r
+
+tmpdir/dump:     file format elf32-s12z
+
+
+Disassembly of section .text:
+
+00fe0000 <here>:
+  fe0000:	a0 fc ab cd 	ld d2, x
diff --git a/ld/testsuite/ld-s12z/reloc-ext18.d b/ld/testsuite/ld-s12z/reloc-ext18.d
new file mode 100644
index 0000000..c558621
--- /dev/null
+++ b/ld/testsuite/ld-s12z/reloc-ext18.d
@@ -0,0 +1,11 @@
+#source: reloc-ext18.s
+#ld: --no-relax --defsym x=0xabcd
+#objdump: -d -r
+
+tmpdir/dump:     file format elf32-s12z
+
+
+Disassembly of section .text:
+
+00fe0000 <here>:
+  fe0000:	a0 f8 ab cd 	ld d2, x
diff --git a/ld/testsuite/ld-s12z/reloc-ext18.s b/ld/testsuite/ld-s12z/reloc-ext18.s
new file mode 100644
index 0000000..172bc8c
--- /dev/null
+++ b/ld/testsuite/ld-s12z/reloc-ext18.s
@@ -0,0 +1,11 @@
+
+here:
+	;; ld d2, 0
+	.byte 0xa0
+	.byte 0xf8
+	.byte 0x00
+	.byte 0x00
+
+
+.reloc here+1,R_S12Z_EXT18, x
+
diff --git a/ld/testsuite/ld-s12z/reloc-ext24.d b/ld/testsuite/ld-s12z/reloc-ext24.d
new file mode 100644
index 0000000..2eb7e8e
--- /dev/null
+++ b/ld/testsuite/ld-s12z/reloc-ext24.d
@@ -0,0 +1,15 @@
+#source: reloc-ext24.s
+#ld: --no-relax --defsym foobar=0xabcdef
+#objdump: -d -r
+
+tmpdir/dump:     file format elf32-s12z
+
+
+Disassembly of section .text:
+
+00fe0000 <here>:
+  fe0000:	ba ab cd ef 	jmp foobar
+  fe0004:	01          	nop
+
+00fe0005 <_etext>:
+	...
diff --git a/ld/testsuite/ld-s12z/reloc-ext24.s b/ld/testsuite/ld-s12z/reloc-ext24.s
new file mode 100644
index 0000000..539b5ac
--- /dev/null
+++ b/ld/testsuite/ld-s12z/reloc-ext24.s
@@ -0,0 +1,12 @@
+	
+here:
+	;; jmp foobar
+	.byte 0xba
+	.byte 0x00
+	.byte 0x00
+	.byte 0x00
+	nop
+
+
+.reloc here+1,R_S12Z_EXT24, foobar
+
diff --git a/ld/testsuite/ld-s12z/reloc-ext32.d b/ld/testsuite/ld-s12z/reloc-ext32.d
new file mode 100644
index 0000000..ec74b88
--- /dev/null
+++ b/ld/testsuite/ld-s12z/reloc-ext32.d
@@ -0,0 +1,8 @@
+#source: reloc-ext32.s
+#ld: --no-relax --defsym foobar=0x12345678
+#objdump: -r -s  --section=.text
+
+tmpdir/dump:     file format elf32-s12z
+
+Contents of section .text:
+ fe0000 01123456 7801                        ..4Vx.          
diff --git a/ld/testsuite/ld-s12z/reloc-ext32.s b/ld/testsuite/ld-s12z/reloc-ext32.s
new file mode 100644
index 0000000..ce16e44
--- /dev/null
+++ b/ld/testsuite/ld-s12z/reloc-ext32.s
@@ -0,0 +1,12 @@
+	
+here:
+	nop
+	.byte 0x00
+	.byte 0x00
+	.byte 0x00
+	.byte 0x00
+	nop
+
+
+.reloc here+1,R_S12Z_EXT32, foobar
+
diff --git a/ld/testsuite/ld-s12z/reloc-opr.d b/ld/testsuite/ld-s12z/reloc-opr.d
new file mode 100644
index 0000000..35736c5
--- /dev/null
+++ b/ld/testsuite/ld-s12z/reloc-opr.d
@@ -0,0 +1,15 @@
+#source: reloc-opr.s
+#ld: --no-relax --defsym bar=0xabcdef
+#objdump: -d -r
+
+tmpdir/dump:     file format elf32-s12z
+
+
+Disassembly of section .text:
+
+00fe0000 <_etext-0x5>:
+  fe0000:	83 fa ab cd 	sub d5, bar
+  fe0004:	ef 
+
+00fe0005 <_etext>:
+	...
diff --git a/ld/testsuite/ld-s12z/reloc-opr.s b/ld/testsuite/ld-s12z/reloc-opr.s
new file mode 100644
index 0000000..bfb153d
--- /dev/null
+++ b/ld/testsuite/ld-s12z/reloc-opr.s
@@ -0,0 +1,8 @@
+
+;;;  This byte sequence corresponds to sub d5, xxx
+	.byte 0x83
+	.byte 0xfa
+	.byte 0x00
+	.byte 0x00
+	.byte 0x00
+	.reloc .-3,R_S12Z_OPR,bar
diff --git a/ld/testsuite/ld-s12z/reloc-pc-rel-7-15.d b/ld/testsuite/ld-s12z/reloc-pc-rel-7-15.d
new file mode 100644
index 0000000..f408728
--- /dev/null
+++ b/ld/testsuite/ld-s12z/reloc-pc-rel-7-15.d
@@ -0,0 +1,12 @@
+#source: reloc-pc-rel-7-15.s
+#ld: --no-relax --defsym here=0xfe0000 --defsym foo=here-9
+#objdump: -d -r
+
+tmpdir/dump:     file format elf32-s12z
+
+
+Disassembly of section .text:
+
+00fe0000 <here>:
+  fe0000:	2f ff f6    	ble \*\-10
+  fe0003:	01          	nop$
\ No newline at end of file
diff --git a/ld/testsuite/ld-s12z/reloc-pc-rel-7-15.s b/ld/testsuite/ld-s12z/reloc-pc-rel-7-15.s
new file mode 100644
index 0000000..9c7c622
--- /dev/null
+++ b/ld/testsuite/ld-s12z/reloc-pc-rel-7-15.s
@@ -0,0 +1,11 @@
+
+here:
+	;; BLE
+	.byte 0x2f
+	.byte 0x80
+	.byte 0x00
+	nop
+
+
+.reloc here+1,R_S12Z_PCREL_7_15, foo
+



More information about the Binutils-cvs mailing list