aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
Diffstat (limited to 'ld')
-rw-r--r--ld/testsuite/ChangeLog5
-rw-r--r--ld/testsuite/ld-m68hc11/movw.d18
-rw-r--r--ld/testsuite/ld-m68hc11/movw.s13
3 files changed, 36 insertions, 0 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index 3357d94..0e79548 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2012-11-07 James Murray <jsm@jsm-net.demon.co.uk>
+
+ * ld-m68hc11/movw.d: New test for 16bit relocate.
+ * ld-m68hc11/movw.s: Source for test.
+
2012-10-30 Steve McIntyre <steve.mcintyre@linaro.org>
* ld-arm/eabi-hard-float.s: New test source.
diff --git a/ld/testsuite/ld-m68hc11/movw.d b/ld/testsuite/ld-m68hc11/movw.d
new file mode 100644
index 0000000..8c8463e
--- /dev/null
+++ b/ld/testsuite/ld-m68hc11/movw.d
@@ -0,0 +1,18 @@
+#source: movw.s
+#as: -m m9s12x
+#ld: -mm68hc12elf --relax -defsym gp_max_on=0x1234 -defsym gp_clk=0x5432 -defsym small_off=0x5
+#objdump: -m m9s12x -d --prefix-addresses -r
+
+tmpdir/dump: file format elf32-m68hc12
+
+
+Disassembly of section .text:
+00008000 <_start> movw 0x1234,X, 0x5432,X
+00008008 <_start\+0x8> movw 0x22,SP, 0x5432,Y
+0000800f <_start\+0xf> movw 0x5432,X, 0x12,SP
+00008016 <_start\+0x16> movw 0x1001,X, 0x2002,Y
+0000801e <_start\+0x1e> movw 0x5,SP, 0x1234,Y
+00008026 <_start\+0x26> tfr X,Y
+00008028 <_start\+0x28> rts
+00008029 <_etext> nop
+
diff --git a/ld/testsuite/ld-m68hc11/movw.s b/ld/testsuite/ld-m68hc11/movw.s
new file mode 100644
index 0000000..bbe61de
--- /dev/null
+++ b/ld/testsuite/ld-m68hc11/movw.s
@@ -0,0 +1,13 @@
+;;; Bug. movw used R_M68HC12_16B which was 1 byte misaligned.
+ .sect .text
+ .globl _start
+_start:
+start:
+ movw gp_max_on,x, gp_clk,x
+ movw 0x22,sp, gp_clk,y
+ movw gp_clk,x, 0x12,sp
+ movw 0x1001,x, 0x2002,y
+ movw small_off,sp, gp_max_on,y
+ tfr x,y
+ rts
+