This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[patch] XGATE CPU Support


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.


Attachment: xgate-support.tar.gz
Description: GNU Zip compressed data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]