mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-27 04:52:05 +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.6 KiB
Makefile
63 lines
2.6 KiB
Makefile
#source: relax-group.s
|
|
#as: -m68hc11
|
|
#ld: -m m68hc11elf --relax
|
|
#objdump: -d --prefix-addresses -r
|
|
|
|
.*: +file format elf32-m68hc11
|
|
|
|
Disassembly of section .text:
|
|
0+8000 <_start> bset \*0x0+ <__bss_size>, #0x04
|
|
0+8003 <L1x> bset \*0x0+ <__bss_size>, #0x04
|
|
0+8006 <L1y> bset \*0x0+3 <__bss_size\+0x3>, #0x04
|
|
0+8009 <L1y\+0x3> bset \*0x0+4 <table4>, #0x08
|
|
0+800c <L2x> bset \*0x0+3 <__bss_size\+0x3>, #0x04
|
|
0+800f <L2x\+0x3> bset \*0x0+4 <table4>, #0x08
|
|
0+8012 <L2y> bset \*0x0+6 <table4\+0x2>, #0x04
|
|
0+8015 <L2y\+0x3> bset \*0x0+7 <table4\+0x3>, #0x08
|
|
0+8018 <L2y\+0x6> bset \*0x0+8 <table8>, #0x0c
|
|
0+801b <L2y\+0x9> bset \*0x0+9 <table8\+0x1>, #0x0c
|
|
0+801e <L2y\+0xc> bset \*0x0+a <table8\+0x2>, #0x0c
|
|
0+8021 <L2y\+0xf> bset \*0x0+b <table8\+0x3>, #0x0c
|
|
0+8024 <L3x> bset \*0x0+6 <table4\+0x2>, #0x04
|
|
0+8027 <L3x\+0x3> bset \*0x0+7 <table4\+0x3>, #0x08
|
|
0+802a <L3x\+0x6> bset \*0x0+8 <table8>, #0x0c
|
|
0+802d <L3x\+0x9> bset \*0x0+9 <table8\+0x1>, #0x0c
|
|
0+8030 <L3x\+0xc> bset \*0x0+a <table8\+0x2>, #0x0c
|
|
0+8033 <L3x\+0xf> bset \*0x0+b <table8\+0x3>, #0x0c
|
|
0+8036 <L3y> bra 0x0+8000 <_start>
|
|
0+8038 <L3y\+0x2> ldx #0x0+fe <end_table\+0xe8>
|
|
0+803b <L3y\+0x5> bset \*0x0+fe <end_table\+0xe8>, #0x04
|
|
0+803e <L3y\+0x8> bset \*0x0+ff <end_table\+0xe9>, #0x08
|
|
0+8041 <L3y\+0xb> bset 0x2,x, #0x0c
|
|
0+8044 <L3y\+0xe> bset 0x3,x, #0x0c
|
|
0+8047 <L3y\+0x11> bset 0x4,x, #0x0c
|
|
0+804a <L3y\+0x14> bset 0x5,x, #0x0c
|
|
0+804d <L4x> ldy #0x0+fe <end_table\+0xe8>
|
|
0+8051 <L4x\+0x4> bset \*0x0+fe <end_table\+0xe8>, #0x04
|
|
0+8054 <L4x\+0x7> bset \*0x0+ff <end_table\+0xe9>, #0x08
|
|
0+8057 <L4x\+0xa> bset 0x2,y, #0x0c
|
|
0+805b <L4x\+0xe> bset 0x3,y, #0x0c
|
|
0+805f <L4x\+0x12> bset 0x4,y, #0x0c
|
|
0+8063 <L4x\+0x16> bset 0x5,y, #0x0c
|
|
0+8067 <L4y> bclr \*0x0+a <table8\+0x2>, #0x04
|
|
0+806a <L4y\+0x3> bclr \*0x0+b <table8\+0x3>, #0x08
|
|
0+806d <L5x> bclr \*0x0+1a <end_table\+0x4>, #0x04
|
|
0+8070 <L5x\+0x3> bclr \*0x0+1b <end_table\+0x5>, #0x08
|
|
0+8073 <L5y> brset \*0x0+8 <table8>, #0x04, 0x0+8073 <L5y>
|
|
0+8077 <L6x> brset \*0x0+8 <table8>, #0x04, 0x0+8077 <L6x>
|
|
0+807b <L7x> brset \*0x0+8 <table8>, #0x04, 0x0+8094 <brend>
|
|
0+807f <L8x> brset \*0x0+8 <table8>, #0x04, 0x0+8094 <brend>
|
|
0+8083 <L8y> brclr \*0x0+8 <table8>, #0x04, 0x0+8083 <L8y>
|
|
0+8087 <L9x> brclr \*0x0+8 <table8>, #0x04, 0x0+8087 <L9x>
|
|
0+808b <L9y> brclr \*0x0+8 <table8>, #0x04, 0x0+8094 <brend>
|
|
0+808f <L10x> brclr \*0x0+8 <table8>, #0x04, 0x0+8094 <brend>
|
|
0+8093 <L10y> nop
|
|
0+8094 <brend> bset 0x0,x, #0x04
|
|
0+8097 <w2> ldx #0x0+ <__bss_size>
|
|
0+809a <w3> ldy #0x0+8 <table8>
|
|
0+809e <w4> rts
|
|
0+809f <w5> ldx #0x0+ <__bss_size>
|
|
0+80a2 <w5\+0x3> bset 0x0,x, #0x05
|
|
0+80a5 <w5\+0x6> jmp 0x0+8000 <_start>
|
|
0+80a8 <w5\+0x9> rts
|