[patch] XGATE CPU Support

Sean Keys skeys@ipdatasys.com
Wed Mar 14 18:56:00 GMT 2012


Please find attached an updated patch that adds support for the XGATE 
CPU. I made a couple of code formating fixes as per the GNU coding 
standards since my last posting.

This patch differs from my previous ones in that it contains absolutely 
no change to the m68hc1x code base. Because of this it is of zero-risk 
to existing users of that port requiring stability in their builds. In 
order to link files for both cores into a single loadable binary image, 
simply build the linker with both necessary targets enabled and use the 
--no-warn-mismatch flag.

I've tried multiple times to work with James to produce a collective 
patch, however he's not interested in that. I hope that this standalone 
patch facilitates easier merging of his work with mine in the future.

I have performed the following tests on my dev system.

   gcc (Ubuntu/Linaro 4.6.1-9ubuntu3 i386) 4.6.1

   1. Results with --enable-targets=all:
      make[1]: Nothing to be done for `all-target'.
      real    13m53.799s
      user    8m44.333s
      sys    1m4.316s


     (Fixed XGATE entry in ALL_EMULATION_SOURCES since last patch posting.)

2. make check-binutils

         === binutils Summary ===

# of expected passes        131
# of expected failures        2
# of unsupported tests        13

3. make -C gas check

      === gas Summary ===

# of expected passes        352
../as-new 2.22.52.20120312

Change logs and news are included in the tar ball as well as listed 
below for your convenience.

Thank you for your time,
Sean Keys

src/gas/ChangeLog
2012-02-01  Sean Keys<skeys@ipdatasys.com>
      * doc/Makefile.am (CPU_DOCS): Added XGATE file.
      * doc/c-xgate.texi: Document XGATE and XGATE port.
      * doc/as.texinfo: Ditto.
      * doc/all.texi: Ditto
      * configure, Makefile.in: Regenerate.
      * Makefile.am (CPU_TYPES, TARGET_CPU_CFILES, TARGET_CPU_HFILES):
      * configure.tgt: Added cpu type.
      Added files for XGATE assembler.
      * config/tc-xgate.c: Assembler for XGATE.
      * config/tc-xgate.h: Header definition for assembler
      Added files for XGATE testsuite.
      * testsuite/gas/all/gas.exp: Added xgate tex entry.
      * testsuite/gas/xgate/abi-xgate-16-32.d: Simple ABI flag test.
      * testsuite/gas/xgate/abi-xgate-16-64.d: Ditto
      * testsuite/gas/xgate/abi-xgate-32-32.d: Ditto
      * testsuite/gas/xgate/abi-xgate-32-64.d: Ditto
      * testsuite/gas/xgate/abi.s: Source file for ABI tests.
      * testsuite/gas/xgate/all_insns.d: Dump file for all instructions 
test.
      * testsuite/gas/xgate/all_insns.s: Source file for all instructions
test.
      * testsuite/gas/xgate/insns-dwarf2.d: Dump file for dwarf2 test.
      * testsuite/gas/xgate/insns.d: Dump file for instructions test.
      * testsuite/gas/xgate/insns.s: Source file for instructions test.
      * testsuite/gas/xgate/xgate.exp: XGATE tests file.

src/bfd/ChangeLog
2012-02-01  Sean Keys<skeys@ipdatasys.com>
      * cpu-xgate.c: New file. Added XGATE support.
      * archures.c (bfd_architecture): Add XGATE architecture.
      (bfd_archures_list): Add reference to XGATE architecture info.
      * elf-bfd.h (prep_headers): Handle bfd_arch_xgate.
      * reloc.c: Add various XGATE relocation enums.
      * targets.c (bfd_elf32_xgate_vec): Declare and add to target vector
      list.
      * Makefile.am: Add support for XGATE elf.
      * configure.in: Ditto.
      * config.bfd: Ditto.
      * Makefile.in: Regenerate.
      * configure: Ditto.
      * bfd-in2.h: Ditto.
      * libbfd.h: Ditto.
      Added files for XGATE relocations.
      * elf32-xgate.c: Created minimal relocation file.
      * elf32-xgate.h: Created minimal header file for elf32-xgate.

src/include/ChangeLog
2012-02-01  Sean Keys<skeys@ipdatasys.com>

      * dis-asm.h (print_insn_xgate): Define.
      (print_insn_xgate): Ditto.
      Added new files for XGATE port.
      * elf/xgate.h: Mininal file to support XGATE relocations.
      * opcode/xgate.h: Header file for XGATE assembler.

src/ld/ChangeLog
2012-02-01  Sean Keys<skeys@ipdatasys.com>

      * Makefile.am (ALL_EMULATIONS): Added new emulation for XGATE
      and XGATE (elf).
      * Makefile.in: Rebuild.
      * configure.tgt: Recognize XGATE.
      * scripttempl/elfxgate.sc: New file, mostly cloned from m68hc12.
      * emulparams/xgateelf: New emulation, mostly cloned from m68hc12.

src/opcodes/ChangeLog
2012-02-01  Sean Keys<skeys@ipdatasys.com>

      * Makefile.in, configure: regenerate
      * disassemble.c (disassembler): Recognize ARCH_XGATE.
      * xgate-dis.c (read_memory, print_insn, print_insn_xgate):
      New functions.
      * configure.in: Recognize xgate.
      * xgate-dis.c, xgate-opc.c: New files for support of xgate
      * Makefile.am (CFILES, ALL_MACHINES): New files for disassembly
      and opcode generation for xgate.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: xgate-support.tar.gz
Type: application/x-gzip
Size: 40653 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20120314/7437f1fb/attachment.bin>


More information about the Binutils mailing list