mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-21 04:42:53 +08:00
6927f98292
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.
63 lines
2.5 KiB
Makefile
63 lines
2.5 KiB
Makefile
#source: relax-direct.s
|
|
#as: -m68hc11
|
|
#ld: -m m68hc11elf --relax
|
|
#objdump: -d --prefix-addresses -r
|
|
|
|
.*: +file format elf32-m68hc11
|
|
|
|
Disassembly of section .text:
|
|
0+8000 <_start> lds \*0x0+28 <stack>
|
|
0+8002 <_start\+0x2> ldd \*0x0+ <__bss_size>
|
|
0+8004 <_start\+0x4> beq 0x0+800f <F1>
|
|
0+8006 <_start\+0x6> bne 0x0+800b <_start\+0xb>
|
|
0+8008 <_start\+0x8> jmp 0x0+8138 <F2>
|
|
0+800b <_start\+0xb> std \*0x0+ <__bss_size>
|
|
0+800d <_start\+0xd> jsr \*0x0+ <__bss_size>
|
|
0+800f <F1> addd \*0x0+4 <_toto>
|
|
0+8011 <F1\+0x2> bne 0x0+8000 <_start>
|
|
0+8013 <F1\+0x4> addd \*0x0+cc <_table\+0x9a>
|
|
0+8015 <F1\+0x6> addd 0x0+114 <_stack_top\+0x1a>
|
|
0+8018 <F1\+0x9> adca \*0x0+34 <_table\+0x2>
|
|
0+801a <F1\+0xb> adcb \*0x0+35 <_table\+0x3>
|
|
0+801c <F1\+0xd> adda \*0x0+36 <_table\+0x4>
|
|
0+801e <F1\+0xf> addb \*0x0+37 <_table\+0x5>
|
|
0+8020 <F1\+0x11> addd \*0x0+38 <_table\+0x6>
|
|
0+8022 <F1\+0x13> anda \*0x0+39 <_table\+0x7>
|
|
0+8024 <F1\+0x15> andb \*0x0+3a <_table\+0x8>
|
|
0+8026 <F1\+0x17> cmpa \*0x0+3b <_table\+0x9>
|
|
0+8028 <F1\+0x19> cmpb \*0x0+3c <_table\+0xa>
|
|
0+802a <F1\+0x1b> cpd \*0x0+3d <_table\+0xb>
|
|
0+802d <F1\+0x1e> cpx \*0x0+3e <_table\+0xc>
|
|
0+802f <F1\+0x20> cpy \*0x0+3f <_table\+0xd>
|
|
0+8032 <F1\+0x23> eora \*0x0+40 <_table\+0xe>
|
|
0+8034 <F1\+0x25> eorb \*0x0+41 <_table\+0xf>
|
|
0+8036 <F1\+0x27> jsr \*0x0+42 <_table\+0x10>
|
|
0+8038 <F1\+0x29> ldaa \*0x0+43 <_table\+0x11>
|
|
0+803a <F1\+0x2b> ldab \*0x0+44 <_table\+0x12>
|
|
0+803c <F1\+0x2d> ldd \*0x0+45 <_table\+0x13>
|
|
0+803e <F1\+0x2f> lds \*0x0+46 <_table\+0x14>
|
|
0+8040 <F1\+0x31> ldx \*0x0+47 <_table\+0x15>
|
|
0+8042 <F1\+0x33> ldy \*0x0+48 <_table\+0x16>
|
|
0+8045 <F1\+0x36> oraa \*0x0+49 <_table\+0x17>
|
|
0+8047 <F1\+0x38> orab \*0x0+4a <_table\+0x18>
|
|
0+8049 <F1\+0x3a> sbcb \*0x0+4b <_table\+0x19>
|
|
0+804b <F1\+0x3c> sbca \*0x0+4c <_table\+0x1a>
|
|
0+804d <F1\+0x3e> staa \*0x0+4d <_table\+0x1b>
|
|
0+804f <F1\+0x40> stab \*0x0+4e <_table\+0x1c>
|
|
0+8051 <F1\+0x42> std \*0x0+4f <_table\+0x1d>
|
|
0+8053 <F1\+0x44> sts \*0x0+50 <_table\+0x1e>
|
|
0+8055 <F1\+0x46> stx \*0x0+51 <_table\+0x1f>
|
|
0+8057 <F1\+0x48> sty \*0x0+52 <_table\+0x20>
|
|
0+805a <F1\+0x4b> suba \*0x0+53 <_table\+0x21>
|
|
0+805c <F1\+0x4d> subb \*0x0+54 <_table\+0x22>
|
|
0+805e <F1\+0x4f> subd \*0x0+55 <_table\+0x23>
|
|
0+8060 <F1\+0x51> bne 0x0+8000 <_start>
|
|
0+8062 <F1\+0x53> bra 0x0+800f <F1>
|
|
0+8064 <F1\+0x55> rts
|
|
0+8065 <no_relax> addd 0x0+136 <_stack_top\+0x3c>
|
|
0+8068 <no_relax\+0x3> std 0x0+122 <_stack_top\+0x28>
|
|
0+806b <no_relax\+0x6> tst 0x0+5 <_toto\+0x1>
|
|
0+806e <no_relax\+0x9> bne 0x0+8065 <no_relax>
|
|
...
|
|
0+8138 <F2> jmp 0x0+8000 <_start>
|