2012-11-07 James Murray <jsm@jsm-net.demon.co.uk>
authorSean Keys <skeys@ipdatasys.com>
Wed, 7 Nov 2012 20:35:02 +0000 (20:35 +0000)
committerSean Keys <skeys@ipdatasys.com>
Wed, 7 Nov 2012 20:35:02 +0000 (20:35 +0000)
* ld-m68hc11/movw.d: New test for 16bit relocate.
* ld-m68hc11/movw.s: Source for test.

ld/testsuite/ChangeLog
ld/testsuite/ld-m68hc11/movw.d [new file with mode: 0644]
ld/testsuite/ld-m68hc11/movw.s [new file with mode: 0644]

index 3357d94..0e79548 100644 (file)
@@ -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 (file)
index 0000000..8c8463e
--- /dev/null
@@ -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 (file)
index 0000000..bbe61de
--- /dev/null
@@ -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
+