From 6927f98292aaa6f7fcb3152d5d902758538e626c Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Tue, 15 May 2012 12:55:51 +0000 Subject: * config/tc-m68hc11.c: Add S12X and XGATE co-processor support. Add option to offset S12 addresses into XGATE memory space. Tweak target flags to match other tools. (i.e. -m m68hc11). * doc/as.texinfo: Mention new options. * doc/c-m68hc11.texi: Document new options. * NEWS: Mention new support. * archures.c: Add bfd_arch_m9s12x and bfd_arch_m9s12xg. * config.bfd: Likewise. * cpu-m9s12x.c: New. * cpu-m9s12xg.c: New. * elf32-m68hc12.c: Add S12X and XGATE co-processor support. Add option to offset S12 addresses into XGATE memory space. Fix carry bug in IMM16 (IMM8 low/high) relocate. * Makefile.am (ALL_MACHINES): Add cpu-m9s12x and cpu-m9s12xg. (ALL_MACHINES_CFILES): Likewise. * reloc.c: Add S12X relocs. * Makefile.in: Regenerate. * bfd-in2.h: Regenerate. * libbfd.h: Regenerate. * gas/m68hc11/insns9s12x.s: New * gas/m68hc11/insns9s12x.d: New * gas/m68hc11/hexprefix.s: New * gas/m68hc11/hexprefix.d: New * gas/m68hc11/9s12x-exg-sex-tfr.s: New * gas/m68hc11/9s12x-exg-sex-tfr.d: New * gas/m68hc11/insns9s12xg.s: New * gas/m68hc11/insns9s12xg.d: New * gas/m68hc11/9s12x-mov.s: New * gas/m68hc11/9s12x-mov.d: New * gas/m68hc11/m68hc11.exp: Updated * gas/m68hc11/*.d: Brought in line with changed objdump output. * gas/all/gas.exp: XFAIL all hc11/12 targets for redef2,3. * gas/elf/elf.exp: XFAIL all hc11/12 targets for redef. * gas/elf/dwarf2-1.d: Skip for hc11/12 targets. * gas/elf/dwarf2-2.d: Likewise. * ld-m68hc11/xgate-link.s: New. * ld-m68hc11/xgate-link.d: New. * ld-m68hc11/xgate-offset.s: New. * ld-m68hc11/xgate-offset.d: New. * ld-m68hc11/xgate1.s: New. * ld-m68hc11/xgate1.d: New. * ld-m68hc11/xgate2.s: New. * ld-m68hc11/m68hc11.exp: Updated. * ld-m68hc11/*.d: Brought in line with changed objdump output. * ld-gc/gc.exp: Update CFLAGS for m68hc11. * ld-plugin/plugin.exp: Likewise. * ld-srec/srec.exp: XFAIL for m68hc11 and m68hc12. * configure.in: Add S12X and XGATE co-processor support to m68hc11 target. * disassemble.c: Likewise. * configure: Regenerate. * m68hc11-dis.c: Make objdump output more consistent, use hex instead of decimal and use 0x prefix for hex. * m68hc11-opc.c: Add S12X and XGATE opcodes. * dis-asm.h (print_insn_m9s12x): Prototype. (print_insn_m9s12xg): Prototype. * m68hc11.h (R_M68HC12_16B, R_M68HC12_PCREL_9, R_M68HC12_PCREL_10) R_M68HC12_HI8XG, R_M68HC12_LO8XG): New relocations. (E_M68HC11_XGATE_RAMOFFSET): Define. * m68hc11.h: Add XGate definitions. (struct m68hc11_opcode): Add xg_mask field. --- ld/ChangeLog | 4 ++ ld/NEWS | 2 + ld/testsuite/ChangeLog | 15 +++++ ld/testsuite/ld-gc/gc.exp | 5 ++ ld/testsuite/ld-m68hc11/adj-brset.d | 44 +++++++------- ld/testsuite/ld-m68hc11/adj-jump.d | 98 +++++++++++++++---------------- ld/testsuite/ld-m68hc11/bug-1403.d | 4 +- ld/testsuite/ld-m68hc11/bug-1417.d | 8 +-- ld/testsuite/ld-m68hc11/bug-3331.d | 8 +-- ld/testsuite/ld-m68hc11/far-hc11.d | 74 +++++++++++------------ ld/testsuite/ld-m68hc11/far-hc12.d | 56 +++++++++--------- ld/testsuite/ld-m68hc11/link-hcs12.d | 10 ++-- ld/testsuite/ld-m68hc11/relax-direct.d | 104 ++++++++++++++++----------------- ld/testsuite/ld-m68hc11/relax-group.d | 102 ++++++++++++++++---------------- ld/testsuite/ld-m68hc11/xgate-link.d | 25 ++++++++ ld/testsuite/ld-m68hc11/xgate-link.s | 16 +++++ ld/testsuite/ld-m68hc11/xgate-offset.d | 13 +++++ ld/testsuite/ld-m68hc11/xgate-offset.s | 8 +++ ld/testsuite/ld-m68hc11/xgate1.d | 24 ++++++++ ld/testsuite/ld-m68hc11/xgate1.s | 18 ++++++ ld/testsuite/ld-m68hc11/xgate2.s | 16 +++++ ld/testsuite/ld-plugin/plugin.exp | 4 ++ ld/testsuite/ld-srec/srec.exp | 15 +++++ 23 files changed, 419 insertions(+), 254 deletions(-) create mode 100644 ld/testsuite/ld-m68hc11/xgate-link.d create mode 100644 ld/testsuite/ld-m68hc11/xgate-link.s create mode 100644 ld/testsuite/ld-m68hc11/xgate-offset.d create mode 100644 ld/testsuite/ld-m68hc11/xgate-offset.s create mode 100644 ld/testsuite/ld-m68hc11/xgate1.d create mode 100644 ld/testsuite/ld-m68hc11/xgate1.s create mode 100644 ld/testsuite/ld-m68hc11/xgate2.s (limited to 'ld') diff --git a/ld/ChangeLog b/ld/ChangeLog index b93216c..eff6cf3 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,7 @@ +2012-05-15 James Murray + + * NEWS: Mention the support for S12X processors. + 2012-05-14 James Lemke * ldlang.c (walk_wild_consider_section): Don't copy section_flag_list. diff --git a/ld/NEWS b/ld/NEWS index 239ad1a..cb2d428 100644 --- a/ld/NEWS +++ b/ld/NEWS @@ -1,5 +1,7 @@ -*- text -*- +* Add support for S12X processor. + * Add support for the VLE extension to the PowerPC architecture. * Add support for the Freescale XGATE architecture. diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index 050115a..610d75a 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,18 @@ +2012-05-15 James Murray + + * ld-m68hc11/xgate-link.s: New. + * ld-m68hc11/xgate-link.d: New. + * ld-m68hc11/xgate-offset.s: New. + * ld-m68hc11/xgate-offset.d: New. + * ld-m68hc11/xgate1.s: New. + * ld-m68hc11/xgate1.d: New. + * ld-m68hc11/xgate2.s: New. + * ld-m68hc11/m68hc11.exp: Updated. + * ld-m68hc11/*.d: Brought in line with changed objdump output. + * ld-gc/gc.exp: Update CFLAGS for m68hc11. + * ld-plugin/plugin.exp: Likewise. + * ld-srec/srec.exp: XFAIL for m68hc11 and m68hc12. + 2012-05-14 David S. Miller * ld-sparc/tlssunbin32.rd: Update. diff --git a/ld/testsuite/ld-gc/gc.exp b/ld/testsuite/ld-gc/gc.exp index 996eac4..7a59ad3 100644 --- a/ld/testsuite/ld-gc/gc.exp +++ b/ld/testsuite/ld-gc/gc.exp @@ -32,6 +32,11 @@ if [istarget powerpc64*-*-*] { set cflags "$cflags -mminimal-toc" } +if { [istarget m681*-*-*] || [istarget m68hc1*-*-*] } { + # Otherwise tests FAIL due to _.frame + set cflags "$cflags -fomit-frame-pointer -mshort" +} + if { [is_remote host] || [which $CC] != 0 } { ld_compile "$CC -c $CFLAGS $cflags" $srcdir/$subdir/gc.c $objfile } diff --git a/ld/testsuite/ld-m68hc11/adj-brset.d b/ld/testsuite/ld-m68hc11/adj-brset.d index a6306cf..fbda304 100644 --- a/ld/testsuite/ld-m68hc11/adj-brset.d +++ b/ld/testsuite/ld-m68hc11/adj-brset.d @@ -6,26 +6,26 @@ .*: +file format elf32\-m68hc11 Disassembly of section .text: -0+8000 <_start> brclr 140,x \#\$c8 0+804a -0+8004 addd \*0+4 <_toto> -0+8006 brclr 20,x \#\$03 0+8004 -0+800a brclr 90,x \#\$63 0+801a -0+800e addd \*0+4 <_toto> -0+8010 brclr 19,y \#\$04 0+800e -0+8015 brclr 91,y \#\$62 0+8024 -0+801a addd \*0+4 <_toto> -0+801c brset 18,x \#\$05 0+801a -0+8020 brset 92,x \#\$61 0+8030 -0+8024 addd \*0+4 <_toto> -0+8026 brset 17,y \#\$06 0+8024 -0+802b brset 93,y \#\$60 0+8030 -0+8030 addd \*0+4 <_toto> -0+8032 brset \*0+32 <_table> \#\$07 0+8030 -0+8036 brset \*0+3c <_table\+0xa> \#\$5f 0+8044 -0+803a addd \*0+4 <_toto> -0+803c brclr \*0+33 <_table\+0x1> \#\$08 0+803a -0+8040 brset \*0+3d <_table\+0xb> \#\$5e 0+804a -0+8044 addd \*0+4 <_toto> -0+8046 brclr \*0+33 <_table\+0x1> \#\$08 0+803a -0+804a brclr 140,x \#\$c8 0+8000 <_start> +0+8000 <_start> brclr 0x8c,x, #0xc8, 0x0+804a +0+8004 addd \*0x0+4 <_toto> +0+8006 brclr 0x14,x, \#0x03, 0x0+8004 +0+800a brclr 0x5a,x, \#0x63, 0x0+801a +0+800e addd \*0x0+4 <_toto> +0+8010 brclr 0x13,y, \#0x04, 0x0+800e +0+8015 brclr 0x5b,y, \#0x62, 0x0+8024 +0+801a addd \*0x0+4 <_toto> +0+801c brset 0x12,x, \#0x05, 0x0+801a +0+8020 brset 0x5c,x, \#0x61, 0x0+8030 +0+8024 addd \*0x0+4 <_toto> +0+8026 brset 0x11,y, \#0x06, 0x0+8024 +0+802b brset 0x5d,y, \#0x60, 0x0+8030 +0+8030 addd \*0x0+4 <_toto> +0+8032 brset \*0x0+32 <_table>, \#0x07, 0x0+8030 +0+8036 brset \*0x0+3c <_table\+0xa>, \#0x5f, 0x0+8044 +0+803a addd \*0x0+4 <_toto> +0+803c brclr \*0x0+33 <_table\+0x1>, \#0x08, 0x0+803a +0+8040 brset \*0x0+3d <_table\+0xb>, \#0x5e, 0x0+804a +0+8044 addd \*0x0+4 <_toto> +0+8046 brclr \*0x0+33 <_table\+0x1>, \#0x08, 0x0+803a +0+804a brclr 0x8c,x, \#0xc8, 0x0+8000 <_start> 0+804e rts diff --git a/ld/testsuite/ld-m68hc11/adj-jump.d b/ld/testsuite/ld-m68hc11/adj-jump.d index da181bd..cca407f 100644 --- a/ld/testsuite/ld-m68hc11/adj-jump.d +++ b/ld/testsuite/ld-m68hc11/adj-jump.d @@ -6,54 +6,54 @@ .*: +file format elf32\-m68hc11 Disassembly of section .text: -0+8000 <_start> bra 0+8074 +0+8000 <_start> bra 0x0+8074 ... -0+8016 <_start\+0x16> bra 0+8074 -0+8018 addd 0,x -0+801a bne 0+8018 -0+801c addd \*0+4 <_toto> -0+801e beq 0+8018 -0+8020 addd \*0+5 <_toto\+0x1> -0+8022 bne 0+8018 -0+8024 bgt 0+8018 -0+8026 bge 0+8018 -0+8028 beq 0+8018 -0+802a ble 0+8018 -0+802c blt 0+8018 -0+802e bhi 0+8018 -0+8030 bcc 0+8018 -0+8032 beq 0+8018 -0+8034 bls 0+8018 -0+8036 bcs 0+8018 -0+8038 bcs 0+8018 -0+803a bmi 0+8018 -0+803c bvs 0+8018 -0+803e bcc 0+8018 -0+8040 bpl 0+8018 -0+8042 bvc 0+8018 -0+8044 bne 0+8018 -0+8046 brn 0+8018 -0+8048 bra 0+8018 -0+804a addd \*0+4 <_toto> -0+804c addd \*0+4 <_toto> -0+804e addd \*0+4 <_toto> -0+8050 addd \*0+4 <_toto> -0+8052 addd \*0+4 <_toto> -0+8054 addd \*0+4 <_toto> -0+8056 addd \*0+4 <_toto> -0+8058 addd \*0+4 <_toto> -0+805a addd \*0+4 <_toto> -0+805c addd \*0+4 <_toto> -0+805e addd \*0+4 <_toto> -0+8060 addd \*0+4 <_toto> -0+8062 addd \*0+4 <_toto> -0+8064 addd \*0+4 <_toto> -0+8066 addd \*0+4 <_toto> -0+8068 bra 0+8000 <_start> -0+806a bne 0+8068 -0+806c beq 0+8074 -0+806e addd \*0+4 <_toto> -0+8070 beq 0+8074 -0+8072 addd \*0+4 <_toto> -0+8074 addd \*0+4 <_toto> +0+8016 <_start\+0x16> bra 0x0+8074 +0+8018 addd 0x0,x +0+801a bne 0x0+8018 +0+801c addd \*0x0+4 <_toto> +0+801e beq 0x0+8018 +0+8020 addd \*0x0+5 <_toto\+0x1> +0+8022 bne 0x0+8018 +0+8024 bgt 0x0+8018 +0+8026 bge 0x0+8018 +0+8028 beq 0x0+8018 +0+802a ble 0x0+8018 +0+802c blt 0x0+8018 +0+802e bhi 0x0+8018 +0+8030 bcc 0x0+8018 +0+8032 beq 0x0+8018 +0+8034 bls 0x0+8018 +0+8036 bcs 0x0+8018 +0+8038 bcs 0x0+8018 +0+803a bmi 0x0+8018 +0+803c bvs 0x0+8018 +0+803e bcc 0x0+8018 +0+8040 bpl 0x0+8018 +0+8042 bvc 0x0+8018 +0+8044 bne 0x0+8018 +0+8046 brn 0x0+8018 +0+8048 bra 0x0+8018 +0+804a addd \*0x0+4 <_toto> +0+804c addd \*0x0+4 <_toto> +0+804e addd \*0x0+4 <_toto> +0+8050 addd \*0x0+4 <_toto> +0+8052 addd \*0x0+4 <_toto> +0+8054 addd \*0x0+4 <_toto> +0+8056 addd \*0x0+4 <_toto> +0+8058 addd \*0x0+4 <_toto> +0+805a addd \*0x0+4 <_toto> +0+805c addd \*0x0+4 <_toto> +0+805e addd \*0x0+4 <_toto> +0+8060 addd \*0x0+4 <_toto> +0+8062 addd \*0x0+4 <_toto> +0+8064 addd \*0x0+4 <_toto> +0+8066 addd \*0x0+4 <_toto> +0+8068 bra 0x0+8000 <_start> +0+806a bne 0x0+8068 +0+806c beq 0x0+8074 +0+806e addd \*0x0+4 <_toto> +0+8070 beq 0x0+8074 +0+8072 addd \*0x0+4 <_toto> +0+8074 addd \*0x0+4 <_toto> 0+8076 rts diff --git a/ld/testsuite/ld-m68hc11/bug-1403.d b/ld/testsuite/ld-m68hc11/bug-1403.d index dfd69b0..16f6e19 100644 --- a/ld/testsuite/ld-m68hc11/bug-1403.d +++ b/ld/testsuite/ld-m68hc11/bug-1403.d @@ -6,6 +6,6 @@ .*: +file format elf32-m68hc11 Disassembly of section .text: -0+8000 <_start> bset \*0+ <__bss_size> \#\$04 -0+8003 bra 0+8005 +0+8000 <_start> bset \*0x0+ <__bss_size>, \#0x04 +0+8003 bra 0x0+8005 0+8005 rts diff --git a/ld/testsuite/ld-m68hc11/bug-1417.d b/ld/testsuite/ld-m68hc11/bug-1417.d index 1947506..942ba63 100644 --- a/ld/testsuite/ld-m68hc11/bug-1417.d +++ b/ld/testsuite/ld-m68hc11/bug-1417.d @@ -6,9 +6,9 @@ .*: +file format elf32-m68hc11 Disassembly of section .text: -0+8000 <_start> tst 0+ <__bss_size> -0+8003 <_start\+0x3> bne 0+8007 -0+8005 <_start\+0x5> bsr 0+800b -0+8007 bset \*0+ <__bss_size> \#\$04 +0+8000 <_start> tst 0x0+ <__bss_size> +0+8003 <_start\+0x3> bne 0x0+8007 +0+8005 <_start\+0x5> bsr 0x0+800b +0+8007 bset \*0x0+ <__bss_size>, \#0x04 0+800a rts 0+800b rts diff --git a/ld/testsuite/ld-m68hc11/bug-3331.d b/ld/testsuite/ld-m68hc11/bug-3331.d index cee93ab..6f72313 100644 --- a/ld/testsuite/ld-m68hc11/bug-3331.d +++ b/ld/testsuite/ld-m68hc11/bug-3331.d @@ -6,8 +6,8 @@ .*: +file format elf32-m68hc11 Disassembly of section .text: -0+8000 <_start> ldx #0+1100 <__data_section_start> -0+8003 <_start\+0x3> bset 0,x \#\$04 -0+8006 ldd \#0+2 <__bss_size\+0x2> -0+8009 std \*0+ <__bss_size> +0+8000 <_start> ldx #0x0+1100 <__data_section_start> +0+8003 <_start\+0x3> bset 0x0,x, \#0x04 +0+8006 ldd \#0x0+2 <__bss_size\+0x2> +0+8009 std \*0x0+ <__bss_size> 0+800b rts diff --git a/ld/testsuite/ld-m68hc11/far-hc11.d b/ld/testsuite/ld-m68hc11/far-hc11.d index d563356..b93bb63 100644 --- a/ld/testsuite/ld-m68hc11/far-hc11.d +++ b/ld/testsuite/ld-m68hc11/far-hc11.d @@ -7,66 +7,66 @@ Disassembly of section .text: 0+8000 pshb -0+8001 ldab \#0 -0+8003 ldy \#0+8072 <_far_foo> -0+8007 jmp 0+8056 <__far_trampoline> +0+8001 ldab \#0x0 +0+8003 ldy \#0x0+8072 <_far_foo> +0+8007 jmp 0x0+8056 <__far_trampoline> 0+800a pshb -0+800b ldab \#0 -0+800d ldy \#0+806a .* -0+8011 jmp 0+8056 <__far_trampoline> -0+8014 <_start> lds \#0+64 -0+8017 <_start\+0x3> ldx \#0+abcd .* +0+800b ldab \#0x0 +0+800d ldy \#0x0+806a .* +0+8011 jmp 0x0+8056 <__far_trampoline> +0+8014 <_start> lds \#0x0+64 +0+8017 <_start\+0x3> ldx \#0x0+abcd .* 0+801a <_start\+0x6> pshx -0+801b <_start\+0x7> ldd \#0+1234 .* -0+801e <_start\+0xa> ldx \#0+5678 .* -0+8021 <_start\+0xd> jsr 0+800a -0+8024 <_start\+0x10> cpx \#0+1234 .* -0+8027 <_start\+0x13> bne 0+804e -0+8029 <_start\+0x15> cpd \#0+5678 .* -0+802d <_start\+0x19> bne 0+804e +0+801b <_start\+0x7> ldd \#0x0+1234 .* +0+801e <_start\+0xa> ldx \#0x0+5678 .* +0+8021 <_start\+0xd> jsr 0x0+800a +0+8024 <_start\+0x10> cpx \#0x0+1234 .* +0+8027 <_start\+0x13> bne 0x0+804e +0+8029 <_start\+0x15> cpd \#0x0+5678 .* +0+802d <_start\+0x19> bne 0x0+804e 0+802f <_start\+0x1b> pulx -0+8030 <_start\+0x1c> cpx \#0+abcd .* -0+8033 <_start\+0x1f> bne 0+804e -0+8035 <_start\+0x21> ldd \#0+8000 +0+8030 <_start\+0x1c> cpx \#0x0+abcd .* +0+8033 <_start\+0x1f> bne 0x0+804e +0+8035 <_start\+0x21> ldd \#0x0+8000 0+8038 <_start\+0x24> xgdx -0+8039 <_start\+0x25> jsr 0,x -0+803b <_start\+0x27> ldd \#0+800a +0+8039 <_start\+0x25> jsr 0x0,x +0+803b <_start\+0x27> ldd \#0x0+800a 0+803e <_start\+0x2a> xgdy -0+8040 <_start\+0x2c> jsr 0,y -0+8043 <_start\+0x2f> ldaa \#0 -0+8045 <_start\+0x31> ldy \#0+8079 <_far_no_tramp> -0+8049 <_start\+0x35> bsr 0+8066 <__call_a16> +0+8040 <_start\+0x2c> jsr 0x0,y +0+8043 <_start\+0x2f> ldaa \#0x0 +0+8045 <_start\+0x31> ldy \#0x0+8079 <_far_no_tramp> +0+8049 <_start\+0x35> bsr 0x0+8066 <__call_a16> 0+804b <_start\+0x37> clra 0+804c <_start\+0x38> clrb 0+804d <_start\+0x39> wai -0+804e ldd \#0+1 <__bss_size\+0x1> +0+804e ldd \#0x0+1 <__bss_size\+0x1> 0+8051 wai -0+8052 bra 0+8014 <_start> +0+8052 bra 0x0+8014 <_start> 0+8054 <__return> ins 0+8055 <__return\+0x1> rts 0+8056 <__far_trampoline> psha 0+8057 <__far_trampoline\+0x1> psha 0+8058 <__far_trampoline\+0x2> pshx 0+8059 <__far_trampoline\+0x3> tsx -0+805a <__far_trampoline\+0x4> ldab 4,x -0+805c <__far_trampoline\+0x6> ldaa 2,x -0+805e <__far_trampoline\+0x8> staa 4,x +0+805a <__far_trampoline\+0x4> ldab 0x4,x +0+805c <__far_trampoline\+0x6> ldaa 0x2,x +0+805e <__far_trampoline\+0x8> staa 0x4,x 0+8060 <__far_trampoline\+0xa> pulx 0+8061 <__far_trampoline\+0xb> pula 0+8062 <__far_trampoline\+0xc> pula -0+8063 <__far_trampoline\+0xd> jmp 0,y +0+8063 <__far_trampoline\+0xd> jmp 0x0,y 0+8066 <__call_a16> psha -0+8067 <__call_a16\+0x1> jmp 0,y +0+8067 <__call_a16\+0x1> jmp 0x0,y Disassembly of section .bank1: -0+806a <_far_bar> jsr 0+8071 +0+806a <_far_bar> jsr 0x0+8071 0+806d <_far_bar\+0x3> xgdx -0+806e <_far_bar\+0x4> jmp 0+8054 <__return> +0+806e <_far_bar\+0x4> jmp 0x0+8054 <__return> 0+8071 rts Disassembly of section .bank2: -0+8072 <_far_foo> jsr 0+8078 -0+8075 <_far_foo\+0x3> jmp 0+8054 <__return> +0+8072 <_far_foo> jsr 0x0+8078 +0+8075 <_far_foo\+0x3> jmp 0x0+8054 <__return> 0+8078 rts Disassembly of section .bank3: -0+8079 <_far_no_tramp> jsr 0+807f -0+807c <_far_no_tramp\+0x3> jmp 0+8054 <__return> +0+8079 <_far_no_tramp> jsr 0x0+807f +0+807c <_far_no_tramp\+0x3> jmp 0x0+8054 <__return> 0+807f rts diff --git a/ld/testsuite/ld-m68hc11/far-hc12.d b/ld/testsuite/ld-m68hc11/far-hc12.d index 09b3fec..7d99089 100644 --- a/ld/testsuite/ld-m68hc11/far-hc12.d +++ b/ld/testsuite/ld-m68hc11/far-hc12.d @@ -6,49 +6,49 @@ .*: file format elf32\-m68hc12 Disassembly of section .text: -0+c000 ldy \#0+8000 <__bank_start> -0+c003 call 0+c049 <__far_trampoline> \{0+c049 <__far_trampoline>, 1\} -0+c007 ldy \#0+8000 <__bank_start> -0+c00a call 0+c049 <__far_trampoline> \{0+c049 <__far_trampoline>, 0\} -0+c00e <_start> lds \#0+2063 -0+c011 <_start\+0x3> ldx \#0+abcd <__bank_start\+0x2bcd> +0+c000 ldy \#0x0+8000 <__bank_start> +0+c003 call 0x0+c049 <__far_trampoline> \{0x0+c049 <__far_trampoline>, 0x1\} +0+c007 ldy \#0x0+8000 <__bank_start> +0+c00a call 0x0+c049 <__far_trampoline> \{0x0+c049 <__far_trampoline>, 0x0\} +0+c00e <_start> lds \#0x0+2063 +0+c011 <_start\+0x3> ldx \#0x0+abcd <__bank_start\+0x2bcd> 0+c014 <_start\+0x6> pshx -0+c015 <_start\+0x7> ldd \#0+1234 -0+c018 <_start\+0xa> ldx \#0+5678 <__bank_size\+0x1678> -0+c01b <_start\+0xd> jsr 0+c007 -0+c01e <_start\+0x10> cpx \#0+1234 -0+c021 <_start\+0x13> bne 0+c043 -0+c023 <_start\+0x15> cpd \#0+5678 <__bank_size\+0x1678> -0+c026 <_start\+0x18> bne 0+c043 +0+c015 <_start\+0x7> ldd \#0x0+1234 +0+c018 <_start\+0xa> ldx \#0x0+5678 <__bank_size\+0x1678> +0+c01b <_start\+0xd> jsr 0x0+c007 +0+c01e <_start\+0x10> cpx \#0x0+1234 +0+c021 <_start\+0x13> bne 0x0+c043 +0+c023 <_start\+0x15> cpd \#0x0+5678 <__bank_size\+0x1678> +0+c026 <_start\+0x18> bne 0x0+c043 0+c028 <_start\+0x1a> pulx -0+c029 <_start\+0x1b> cpx \#0+abcd <__bank_start\+0x2bcd> -0+c02c <_start\+0x1e> bne 0+c043 -0+c02e <_start\+0x20> ldd \#0+c000 +0+c029 <_start\+0x1b> cpx \#0x0+abcd <__bank_start\+0x2bcd> +0+c02c <_start\+0x1e> bne 0x0+c043 +0+c02e <_start\+0x20> ldd \#0x0+c000 0+c031 <_start\+0x23> xgdx -0+c033 <_start\+0x25> jsr 0,X -0+c035 <_start\+0x27> ldd \#0+c007 +0+c033 <_start\+0x25> jsr 0x0,X +0+c035 <_start\+0x27> ldd \#0x0+c007 0+c038 <_start\+0x2a> xgdy -0+c03a <_start\+0x2c> jsr 0,Y -0+c03c <_start\+0x2e> call 0+18000 <_far_no_tramp> \{0+8000 <__bank_start>, 2\} +0+c03a <_start\+0x2c> jsr 0x0,Y +0+c03c <_start\+0x2e> call 0x0+18000 <_far_no_tramp> \{0x0+8000 <__bank_start>, 0x2\} 0+c040 <_start\+0x32> clra 0+c041 <_start\+0x33> clrb 0+c042 <_start\+0x34> wai -0+c043 ldd \#0+1 +0+c043 ldd \#0x0+1 0+c046 wai -0+c047 bra 0+c00e <_start> -0+c049 <__far_trampoline> movb 0,SP, 2,SP -0+c04d <__far_trampoline\+0x4> leas 2,SP -0+c04f <__far_trampoline\+0x6> jmp 0,Y +0+c047 bra 0x0+c00e <_start> +0+c049 <__far_trampoline> movb 0x0,SP, 0x2,SP +0+c04d <__far_trampoline\+0x4> leas 0x2,SP +0+c04f <__far_trampoline\+0x6> jmp 0x0,Y Disassembly of section .bank1: -0+10+ <_far_bar> jsr 0+10006 +0+10+ <_far_bar> jsr 0x0+10006 0+10003 <_far_bar\+0x3> xgdx 0+10005 <_far_bar\+0x5> rtc 0+10006 rts Disassembly of section .bank2: -0+14000 <_far_foo> jsr 0+14004 +0+14000 <_far_foo> jsr 0x0+14004 0+14003 <_far_foo\+0x3> rtc 0+14004 rts Disassembly of section .bank3: -0+18000 <_far_no_tramp> jsr 0+18004 +0+18000 <_far_no_tramp> jsr 0x0+18004 0+18003 <_far_no_tramp\+0x3> rtc 0+18004 rts diff --git a/ld/testsuite/ld-m68hc11/link-hcs12.d b/ld/testsuite/ld-m68hc11/link-hcs12.d index d90fcf6..5fd5fae 100644 --- a/ld/testsuite/ld-m68hc11/link-hcs12.d +++ b/ld/testsuite/ld-m68hc11/link-hcs12.d @@ -1,19 +1,19 @@ #source: link-hcs12.s -m68hcs12 #source: link-hc12.s -m68hc12 #as: -mshort -#ld: -m m68hc12elf +#ld: -m m68hc12elf --script $srcdir/$subdir/far-hc12.ld #objdump: -p -d --prefix-addresses -r .*: file format elf32\-m68hc12 Program Header: - LOAD off 0x0+1000 vaddr 0x0+8000 paddr 0x0+8000 align 2\*\*12 + LOAD off 0x0+1000 vaddr 0x0+c000 paddr 0x0+c000 align 2\*\*12 filesz 0x0+6 memsz 0x0+6 flags r-x private flags = 22:\[abi=16\-bit int, 64\-bit double, cpu=HCS12\] \[memory=flat\] Disassembly of section .text: -0+8000 <_start> jsr 0+8005
-0+8003 <_start\+0x3> bra 0+8000 <_start> -0+8005
rts +0+c000 <_start> jsr 0x0+c005
+0+c003 <_start\+0x3> bra 0x0+c000 <_start> +0+c005
rts diff --git a/ld/testsuite/ld-m68hc11/relax-direct.d b/ld/testsuite/ld-m68hc11/relax-direct.d index 3de3d9a..519c074 100644 --- a/ld/testsuite/ld-m68hc11/relax-direct.d +++ b/ld/testsuite/ld-m68hc11/relax-direct.d @@ -6,57 +6,57 @@ .*: +file format elf32-m68hc11 Disassembly of section .text: -0+8000 <_start> lds \*0+28 -0+8002 <_start\+0x2> ldd \*0+ <__bss_size> -0+8004 <_start\+0x4> beq 0+800f -0+8006 <_start\+0x6> bne 0+800b <_start\+0xb> -0+8008 <_start\+0x8> jmp 0+8138 -0+800b <_start\+0xb> std \*0+ <__bss_size> -0+800d <_start\+0xd> jsr \*0+ <__bss_size> -0+800f addd \*0+4 <_toto> -0+8011 bne 0+8000 <_start> -0+8013 addd \*0+cc <_table\+0x9a> -0+8015 addd 0+114 <_stack_top\+0x1a> -0+8018 adca \*0+34 <_table\+0x2> -0+801a adcb \*0+35 <_table\+0x3> -0+801c adda \*0+36 <_table\+0x4> -0+801e addb \*0+37 <_table\+0x5> -0+8020 addd \*0+38 <_table\+0x6> -0+8022 anda \*0+39 <_table\+0x7> -0+8024 andb \*0+3a <_table\+0x8> -0+8026 cmpa \*0+3b <_table\+0x9> -0+8028 cmpb \*0+3c <_table\+0xa> -0+802a cpd \*0+3d <_table\+0xb> -0+802d cpx \*0+3e <_table\+0xc> -0+802f cpy \*0+3f <_table\+0xd> -0+8032 eora \*0+40 <_table\+0xe> -0+8034 eorb \*0+41 <_table\+0xf> -0+8036 jsr \*0+42 <_table\+0x10> -0+8038 ldaa \*0+43 <_table\+0x11> -0+803a ldab \*0+44 <_table\+0x12> -0+803c ldd \*0+45 <_table\+0x13> -0+803e lds \*0+46 <_table\+0x14> -0+8040 ldx \*0+47 <_table\+0x15> -0+8042 ldy \*0+48 <_table\+0x16> -0+8045 oraa \*0+49 <_table\+0x17> -0+8047 orab \*0+4a <_table\+0x18> -0+8049 sbcb \*0+4b <_table\+0x19> -0+804b sbca \*0+4c <_table\+0x1a> -0+804d staa \*0+4d <_table\+0x1b> -0+804f stab \*0+4e <_table\+0x1c> -0+8051 std \*0+4f <_table\+0x1d> -0+8053 sts \*0+50 <_table\+0x1e> -0+8055 stx \*0+51 <_table\+0x1f> -0+8057 sty \*0+52 <_table\+0x20> -0+805a suba \*0+53 <_table\+0x21> -0+805c subb \*0+54 <_table\+0x22> -0+805e subd \*0+55 <_table\+0x23> -0+8060 bne 0+8000 <_start> -0+8062 bra 0+800f +0+8000 <_start> lds \*0x0+28 +0+8002 <_start\+0x2> ldd \*0x0+ <__bss_size> +0+8004 <_start\+0x4> beq 0x0+800f +0+8006 <_start\+0x6> bne 0x0+800b <_start\+0xb> +0+8008 <_start\+0x8> jmp 0x0+8138 +0+800b <_start\+0xb> std \*0x0+ <__bss_size> +0+800d <_start\+0xd> jsr \*0x0+ <__bss_size> +0+800f addd \*0x0+4 <_toto> +0+8011 bne 0x0+8000 <_start> +0+8013 addd \*0x0+cc <_table\+0x9a> +0+8015 addd 0x0+114 <_stack_top\+0x1a> +0+8018 adca \*0x0+34 <_table\+0x2> +0+801a adcb \*0x0+35 <_table\+0x3> +0+801c adda \*0x0+36 <_table\+0x4> +0+801e addb \*0x0+37 <_table\+0x5> +0+8020 addd \*0x0+38 <_table\+0x6> +0+8022 anda \*0x0+39 <_table\+0x7> +0+8024 andb \*0x0+3a <_table\+0x8> +0+8026 cmpa \*0x0+3b <_table\+0x9> +0+8028 cmpb \*0x0+3c <_table\+0xa> +0+802a cpd \*0x0+3d <_table\+0xb> +0+802d cpx \*0x0+3e <_table\+0xc> +0+802f cpy \*0x0+3f <_table\+0xd> +0+8032 eora \*0x0+40 <_table\+0xe> +0+8034 eorb \*0x0+41 <_table\+0xf> +0+8036 jsr \*0x0+42 <_table\+0x10> +0+8038 ldaa \*0x0+43 <_table\+0x11> +0+803a ldab \*0x0+44 <_table\+0x12> +0+803c ldd \*0x0+45 <_table\+0x13> +0+803e lds \*0x0+46 <_table\+0x14> +0+8040 ldx \*0x0+47 <_table\+0x15> +0+8042 ldy \*0x0+48 <_table\+0x16> +0+8045 oraa \*0x0+49 <_table\+0x17> +0+8047 orab \*0x0+4a <_table\+0x18> +0+8049 sbcb \*0x0+4b <_table\+0x19> +0+804b sbca \*0x0+4c <_table\+0x1a> +0+804d staa \*0x0+4d <_table\+0x1b> +0+804f stab \*0x0+4e <_table\+0x1c> +0+8051 std \*0x0+4f <_table\+0x1d> +0+8053 sts \*0x0+50 <_table\+0x1e> +0+8055 stx \*0x0+51 <_table\+0x1f> +0+8057 sty \*0x0+52 <_table\+0x20> +0+805a suba \*0x0+53 <_table\+0x21> +0+805c subb \*0x0+54 <_table\+0x22> +0+805e subd \*0x0+55 <_table\+0x23> +0+8060 bne 0x0+8000 <_start> +0+8062 bra 0x0+800f 0+8064 rts -0+8065 addd 0+136 <_stack_top\+0x3c> -0+8068 std 0+122 <_stack_top\+0x28> -0+806b tst 0+5 <_toto\+0x1> -0+806e bne 0+8065 +0+8065 addd 0x0+136 <_stack_top\+0x3c> +0+8068 std 0x0+122 <_stack_top\+0x28> +0+806b tst 0x0+5 <_toto\+0x1> +0+806e bne 0x0+8065 ... -0+8138 jmp 0+8000 <_start> +0+8138 jmp 0x0+8000 <_start> diff --git a/ld/testsuite/ld-m68hc11/relax-group.d b/ld/testsuite/ld-m68hc11/relax-group.d index 25ac588..8c4fb24 100644 --- a/ld/testsuite/ld-m68hc11/relax-group.d +++ b/ld/testsuite/ld-m68hc11/relax-group.d @@ -6,57 +6,57 @@ .*: +file format elf32-m68hc11 Disassembly of section .text: -0+8000 <_start> bset \*0+ <__bss_size> #\$04 -0+8003 bset \*0+ <__bss_size> #\$04 -0+8006 bset \*0+3 <__bss_size\+0x3> #\$04 -0+8009 bset \*0+4 #\$08 -0+800c bset \*0+3 <__bss_size\+0x3> #\$04 -0+800f bset \*0+4 #\$08 -0+8012 bset \*0+6 #\$04 -0+8015 bset \*0+7 #\$08 -0+8018 bset \*0+8 #\$0c -0+801b bset \*0+9 #\$0c -0+801e bset \*0+a #\$0c -0+8021 bset \*0+b #\$0c -0+8024 bset \*0+6 #\$04 -0+8027 bset \*0+7 #\$08 -0+802a bset \*0+8 #\$0c -0+802d bset \*0+9 #\$0c -0+8030 bset \*0+a #\$0c -0+8033 bset \*0+b #\$0c -0+8036 bra 0+8000 <_start> -0+8038 ldx #0+fe -0+803b bset \*0+fe #\$04 -0+803e bset \*0+ff #\$08 -0+8041 bset 2,x #\$0c -0+8044 bset 3,x #\$0c -0+8047 bset 4,x #\$0c -0+804a bset 5,x #\$0c -0+804d ldy #0+fe -0+8051 bset \*0+fe #\$04 -0+8054 bset \*0+ff #\$08 -0+8057 bset 2,y #\$0c -0+805b bset 3,y #\$0c -0+805f bset 4,y #\$0c -0+8063 bset 5,y #\$0c -0+8067 bclr \*0+a #\$04 -0+806a bclr \*0+b #\$08 -0+806d bclr \*0+1a #\$04 -0+8070 bclr \*0+1b #\$08 -0+8073 brset \*0+8 #\$04 0+8073 -0+8077 brset \*0+8 #\$04 0+8077 -0+807b brset \*0+8 #\$04 0+8094 -0+807f brset \*0+8 #\$04 0+8094 -0+8083 brclr \*0+8 #\$04 0+8083 -0+8087 brclr \*0+8 #\$04 0+8087 -0+808b brclr \*0+8 #\$04 0+8094 -0+808f brclr \*0+8 #\$04 0+8094 +0+8000 <_start> bset \*0x0+ <__bss_size>, #0x04 +0+8003 bset \*0x0+ <__bss_size>, #0x04 +0+8006 bset \*0x0+3 <__bss_size\+0x3>, #0x04 +0+8009 bset \*0x0+4 , #0x08 +0+800c bset \*0x0+3 <__bss_size\+0x3>, #0x04 +0+800f bset \*0x0+4 , #0x08 +0+8012 bset \*0x0+6 , #0x04 +0+8015 bset \*0x0+7 , #0x08 +0+8018 bset \*0x0+8 , #0x0c +0+801b bset \*0x0+9 , #0x0c +0+801e bset \*0x0+a , #0x0c +0+8021 bset \*0x0+b , #0x0c +0+8024 bset \*0x0+6 , #0x04 +0+8027 bset \*0x0+7 , #0x08 +0+802a bset \*0x0+8 , #0x0c +0+802d bset \*0x0+9 , #0x0c +0+8030 bset \*0x0+a , #0x0c +0+8033 bset \*0x0+b , #0x0c +0+8036 bra 0x0+8000 <_start> +0+8038 ldx #0x0+fe +0+803b bset \*0x0+fe , #0x04 +0+803e bset \*0x0+ff , #0x08 +0+8041 bset 0x2,x, #0x0c +0+8044 bset 0x3,x, #0x0c +0+8047 bset 0x4,x, #0x0c +0+804a bset 0x5,x, #0x0c +0+804d ldy #0x0+fe +0+8051 bset \*0x0+fe , #0x04 +0+8054 bset \*0x0+ff , #0x08 +0+8057 bset 0x2,y, #0x0c +0+805b bset 0x3,y, #0x0c +0+805f bset 0x4,y, #0x0c +0+8063 bset 0x5,y, #0x0c +0+8067 bclr \*0x0+a , #0x04 +0+806a bclr \*0x0+b , #0x08 +0+806d bclr \*0x0+1a , #0x04 +0+8070 bclr \*0x0+1b , #0x08 +0+8073 brset \*0x0+8 , #0x04, 0x0+8073 +0+8077 brset \*0x0+8 , #0x04, 0x0+8077 +0+807b brset \*0x0+8 , #0x04, 0x0+8094 +0+807f brset \*0x0+8 , #0x04, 0x0+8094 +0+8083 brclr \*0x0+8 , #0x04, 0x0+8083 +0+8087 brclr \*0x0+8 , #0x04, 0x0+8087 +0+808b brclr \*0x0+8 , #0x04, 0x0+8094 +0+808f brclr \*0x0+8 , #0x04, 0x0+8094 0+8093 nop -0+8094 bset 0,x #\$04 -0+8097 ldx #0+ <__bss_size> -0+809a ldy #0+8 +0+8094 bset 0x0,x, #0x04 +0+8097 ldx #0x0+ <__bss_size> +0+809a ldy #0x0+8 0+809e rts -0+809f ldx #0+ <__bss_size> -0+80a2 bset 0,x #\$05 -0+80a5 jmp 0+8000 <_start> +0+809f ldx #0x0+ <__bss_size> +0+80a2 bset 0x0,x, #0x05 +0+80a5 jmp 0x0+8000 <_start> 0+80a8 rts diff --git a/ld/testsuite/ld-m68hc11/xgate-link.d b/ld/testsuite/ld-m68hc11/xgate-link.d new file mode 100644 index 0000000..cdf80ab --- /dev/null +++ b/ld/testsuite/ld-m68hc11/xgate-link.d @@ -0,0 +1,25 @@ +#as: -mm9s12xg +#source: xgate-link.s +#ld: --relax -mm68hc12elf -defsym var1=0xfeed -defsym var2=0xdeaf -defsym var3=0xa1b2 -defsym var4=0x3456 -defsym var5=0xfa -defsym var6=0x20fe +#objdump: -d --prefix-addresses -r -mm9s12xg + +tmpdir/dump: file format elf32-m68hc12 + + +Disassembly of section .text: +00008000 <_start> ldl R1, #0xed +00008002 <_start\+0x2> ldh R1, #0xfe +00008004 <_start\+0x4> addl R5, #0xaf +00008006 <_start\+0x6> addh R5, #0xde +00008008 <_start\+0x8> ldl R2, #0x56 +0000800a <_start\+0xa> ldh R2, #0x34 +0000800c <_start\+0xc> ldl R3, #0x21 +0000800e <_start\+0xe> ldh R6, #0xfa +00008010 <_start\+0x10> cmpl R1, #0xcd +00008012 <_start\+0x12> cpch R1, #0xab +00008014 <_start\+0x14> cmpl R2, #0xb2 +00008016 <_start\+0x16> cpch R2, #0xa1 +00008018 <_start\+0x18> ldl R1, #0xfe +0000801a <_start\+0x1a> ldh R1, #0x20 +0000801c <_start\+0x1c> ldl R2, #0x02 +0000801e <_start\+0x1e> ldh R2, #0x22 diff --git a/ld/testsuite/ld-m68hc11/xgate-link.s b/ld/testsuite/ld-m68hc11/xgate-link.s new file mode 100644 index 0000000..8413bd9 --- /dev/null +++ b/ld/testsuite/ld-m68hc11/xgate-link.s @@ -0,0 +1,16 @@ +;;; Test 16bit relocate with XGATE +;;; + .sect .text + .globl _start +_start: + + ldw r1,#var1 ; expands to two IMM8 %hi,%lo relocate + add r5,#var2 ; expands to two IMM8 %hi,%lo relocate + ldl r2,#%lovar4 ; test explicit %lo + ldh r2,#%hivar4 ; test explicit %hi + ldl r3,#0x21 ; regular IMM8 + ldh r6,#var5 ; IMM8 with relocate + cmp r1,#0xabcd ; expands to two IMM8 with constant + cmp r2,#var3 ; expands to two IMM8 %hi,%lo relocate + ldw r1,#var6 + ldw r2,#var6+0x104 ; check for correct carry diff --git a/ld/testsuite/ld-m68hc11/xgate-offset.d b/ld/testsuite/ld-m68hc11/xgate-offset.d new file mode 100644 index 0000000..ee8d492 --- /dev/null +++ b/ld/testsuite/ld-m68hc11/xgate-offset.d @@ -0,0 +1,13 @@ +#as: -mm9s12xg --xgate-ramoffset +#source: xgate-offset.s +#ld: --relax -mm68hc12elf -defsym var=0x20fe +#objdump: -d --prefix-addresses -r -mm9s12xg + +tmpdir/dump: file format elf32-m68hc12 + + +Disassembly of section .text: +00008000 <_start> ldl R1, #0xfe +00008002 <_start\+0x2> ldh R1, #0xe0 +00008004 <_start\+0x4> ldl R2, #0x04 +00008006 <_start\+0x6> ldh R2, #0xe2 diff --git a/ld/testsuite/ld-m68hc11/xgate-offset.s b/ld/testsuite/ld-m68hc11/xgate-offset.s new file mode 100644 index 0000000..f81bc89 --- /dev/null +++ b/ld/testsuite/ld-m68hc11/xgate-offset.s @@ -0,0 +1,8 @@ +;;; Test 16bit relocate with --xgate-ramoffset +;;; + .sect .text + .globl _start +_start: + + ldw r1,#var + ldw r2,#var+0x106 ; check for correct carry too diff --git a/ld/testsuite/ld-m68hc11/xgate1.d b/ld/testsuite/ld-m68hc11/xgate1.d new file mode 100644 index 0000000..abe6bbc --- /dev/null +++ b/ld/testsuite/ld-m68hc11/xgate1.d @@ -0,0 +1,24 @@ +#as: -mm9s12xg +#source: xgate1.s +#source: xgate2.s +#ld: --relax -mm68hc12elf +#objdump: -d --prefix-addresses -r -mm9s12xg + +tmpdir/dump: file format elf32-m68hc12 + + +Disassembly of section .text: +00008000 <_start> ldl R1, \#0x00 +00008002 <_start\+0x2> ldh R1, \#0x11 +00008004 <_start\+0x4> sub R0, R1, R0 +00008006 <_start\+0x6> beq 0x0+8010 +00008008 <_start\+0x8> sub R0, R2, R0 +0000800a <_start\+0xa> beq 0x0+800e +0000800c <_start\+0xc> bra 0x0+8018 +0000800e rts +00008010 cmpl R4, \#0x01 +00008012 bne 0x0+8018 +00008014 nop +00008016 par R5 +00008018 csem \#0x2 +0000801a rts diff --git a/ld/testsuite/ld-m68hc11/xgate1.s b/ld/testsuite/ld-m68hc11/xgate1.s new file mode 100644 index 0000000..26baf67 --- /dev/null +++ b/ld/testsuite/ld-m68hc11/xgate1.s @@ -0,0 +1,18 @@ +;;; Test branches and branch relocate with XGATE +;;; + .sect .text + .globl _start +_start: + + ldw r1,#var1 ; expands to two IMM8 %hi,%lo relocate + tst r1 + beq linked_ad1 + tst r2 + beq the_end + bra linked_ad2 + +the_end: + rts + + .sect .data +var1: fdb 0x1234 diff --git a/ld/testsuite/ld-m68hc11/xgate2.s b/ld/testsuite/ld-m68hc11/xgate2.s new file mode 100644 index 0000000..54b1ed9 --- /dev/null +++ b/ld/testsuite/ld-m68hc11/xgate2.s @@ -0,0 +1,16 @@ +;;; Part2 of branch test +;;; +.globl linked_ad1, linked_ad2 + .sect .text + +linked_ad1: + cmpl r4,#1 + bne linked_ad2 + +label1: + nop + par r5 + +linked_ad2: + csem #2 + rts diff --git a/ld/testsuite/ld-plugin/plugin.exp b/ld/testsuite/ld-plugin/plugin.exp index 02319bf..d28505d 100644 --- a/ld/testsuite/ld-plugin/plugin.exp +++ b/ld/testsuite/ld-plugin/plugin.exp @@ -57,6 +57,10 @@ set regclm "-plugin-opt registerclaimfile" set regas "-plugin-opt registerallsymbolsread" set regcln "-plugin-opt registercleanup" +if { [istarget m681*-*-*] || [istarget m68hc1*-*-*] || [istarget m9s12x*-*-*] } { + # otherwise get FAILS due to _.frame + set CFLAGS "$CFLAGS -fomit-frame-pointer" +} # In order to define symbols in plugin options in the list of tests below, # we need to know if the platform prepends an underscore to C symbols, # which we find out by compiling the test objects now. If there is any diff --git a/ld/testsuite/ld-srec/srec.exp b/ld/testsuite/ld-srec/srec.exp index 5e741e0..4c21320 100644 --- a/ld/testsuite/ld-srec/srec.exp +++ b/ld/testsuite/ld-srec/srec.exp @@ -276,6 +276,21 @@ proc run_srec_test { test objs } { setup_xfail "epiphany*-*-*" } + if [istarget m681*-*-*] { + set flags "$flags --defsym _start=0xc000" + setup_xfail "m681*-*-*" + } + + if [istarget m68hc1*-*-*] { + set flags "$flags --defsym _start=0xc000" + setup_xfail "m68hc1*-*-*" + } + + if [istarget m9s12x*-*-*] { + set flags "$flags --defsym _start=0xc000" + setup_xfail "m9s12x*-*-*" + } + if { ![ld_simple_link $ld tmpdir/sr1 "$flags $objs"] \ || ![ld_simple_link $ld tmpdir/sr2.sr "$flags --oformat srec $objs"] } { fail $test -- cgit v1.1