[PATCH 0/6] binutils port for the Visium

Eric Botcazou ebotcazou@adacore.com
Wed Dec 3 23:29:00 GMT 2014


From: Eric Botcazou <ebotcazou@gcc.gnu.org>

Hi,

on behalf of Controls and Data Services, AdaCore would like to contribute a
port of the binutils to the Visium.  This is a 32-bit RISC architecture with
an Extended Arithmetic Module implementing some 64-bit operations and an FPU
designed for embedded systems.  The ultimate goal is to contribute a port of
the entire toolchain with simulator, debugger, compiler and embedded libc.

The bulk of the port had been written by employees of CDS or companies that
are now part of CDS, and AdaCore contributed enhancements and modifications
on top of it.  Both companies have a copyright assignment on file with the
FSF for the various components of the toolchain.

The binutils port is split into 6 patches (config, opcodes, bfd, binutils, gas
and ld) and 'make check' reports 0 failures for a visium-elf target configured 
with --disable-gdb after they are applied (on a x86_64-linux host).

OK for the mainline?


Eric Botcazou (6):
  Update from upstream config repo
  Add Visium support to opcodes
  Add Visium support to bfd
  Add Visium support to binutils
  Add Visium support to gas
  Add Visium support to ld

 bfd/Makefile.am                             |    4 +
 bfd/Makefile.in                             |    6 +
 bfd/archures.c                              |    4 +
 bfd/bfd-in2.h                               |   11 +
 bfd/config.bfd                              |    5 +
 bfd/configure                               |    1 +
 bfd/configure.ac                            |    1 +
 bfd/cpu-visium.c                            |   41 +
 bfd/elf32-visium.c                          |  959 +++++++++++
 bfd/libbfd.h                                |    7 +
 bfd/po/SRC-POTFILES.in                      |    2 +
 bfd/reloc.c                                 |   17 +
 bfd/targets.c                               |    3 +
 binutils/readelf.c                          |   23 +
 binutils/testsuite/binutils-all/objcopy.exp |    1 +
 config.sub                                  |    4 +-
 gas/Makefile.am                             |    6 +-
 gas/Makefile.in                             |   41 +-
 gas/config/tc-visium.c                      | 2328 +++++++++++++++++++++++++++
 gas/config/tc-visium.h                      |   79 +
 gas/configure.tgt                           |    3 +
 gas/po/POTFILES.in                          |    2 +
 gas/testsuite/gas/elf/elf.exp               |    3 +-
 gas/testsuite/gas/visium/allinsn.exp        |    7 +
 gas/testsuite/gas/visium/allinsn_def.d      |  134 ++
 gas/testsuite/gas/visium/allinsn_def.s      |  157 ++
 gas/testsuite/gas/visium/allinsn_gr5.d      |  153 ++
 gas/testsuite/gas/visium/allinsn_gr5.s      |  179 ++
 gas/testsuite/gas/visium/allinsn_gr6.d      |  159 ++
 gas/testsuite/gas/visium/allinsn_gr6.s      |  185 +++
 gas/testsuite/gas/visium/basereg.s          |   20 +
 gas/testsuite/gas/visium/brr-1.d            |   16 +
 gas/testsuite/gas/visium/brr-1.s            |    9 +
 gas/testsuite/gas/visium/brr-2.d            |   18 +
 gas/testsuite/gas/visium/brr-2.s            |    9 +
 gas/testsuite/gas/visium/brr_backward.s     |   15 +
 gas/testsuite/gas/visium/brr_forward.s      |   16 +
 gas/testsuite/gas/visium/error.exp          |   35 +
 gas/testsuite/gas/visium/fcmp.s             |   11 +
 gas/testsuite/gas/visium/high-1.d           |   19 +
 gas/testsuite/gas/visium/high-1.s           |   11 +
 gas/testsuite/gas/visium/immed-1.d          |   17 +
 gas/testsuite/gas/visium/immed-1.s          |   10 +
 gas/testsuite/gas/visium/rela-1.d           |   18 +
 gas/testsuite/gas/visium/rela-1.s           |   20 +
 gas/testsuite/gas/visium/visium.exp         |   29 +
 include/dis-asm.h                           |    1 +
 include/elf/common.h                        |    1 +
 include/elf/visium.h                        |   51 +
 include/opcode/visium.h                     |  337 ++++
 ld/Makefile.am                              |    4 +
 ld/Makefile.in                              |    5 +
 ld/configure.tgt                            |    2 +
 ld/emulparams/elf32visium.sh                |    9 +
 ld/scripttempl/visium.sc                    |  181 +++
 ld/testsuite/ld-elf/eh-frame-hdr.d          |    2 +-
 ld/testsuite/ld-elf/eh5.d                   |    2 +-
 ld/testsuite/ld-elf/flags1.d                |    4 +-
 ld/testsuite/ld-elf/pr14926.d               |    2 +-
 ld/testsuite/ld-elf/sec-to-seg.exp          |    1 +
 ld/testsuite/ld-visium/brr_x_backward.d     |    4 +
 ld/testsuite/ld-visium/brr_x_backward1.s    |    6 +
 ld/testsuite/ld-visium/brr_x_backward2.s    |    7 +
 ld/testsuite/ld-visium/brr_x_forward.d      |    4 +
 ld/testsuite/ld-visium/brr_x_forward1.s     |    7 +
 ld/testsuite/ld-visium/brr_x_forward2.s     |    6 +
 ld/testsuite/ld-visium/brr_x_seg.s          |    9 +
 ld/testsuite/ld-visium/brr_x_seg1.d         |    3 +
 ld/testsuite/ld-visium/brr_x_seg2.d         |    3 +
 ld/testsuite/ld-visium/imm_x_seg.d          |    3 +
 ld/testsuite/ld-visium/imm_x_seg.s          |    8 +
 ld/testsuite/ld-visium/ld1.ld               |    9 +
 ld/testsuite/ld-visium/ld2.ld               |    9 +
 ld/testsuite/ld-visium/ld3.ld               |    9 +
 ld/testsuite/ld-visium/reloc.d              |   14 +
 ld/testsuite/ld-visium/reloc1.s             |   24 +
 ld/testsuite/ld-visium/reloc2.s             |   12 +
 ld/testsuite/ld-visium/visium.exp           |   30 +
 ld/testsuite/lib/ld-lib.exp                 |    1 +
 opcodes/Makefile.am                         |    2 +
 opcodes/Makefile.in                         |    4 +
 opcodes/configure                           |    1 +
 opcodes/configure.ac                        |    1 +
 opcodes/disassemble.c                       |    6 +
 opcodes/po/POTFILES.in                      |    2 +
 opcodes/visium-dis.c                        |  834 ++++++++++
 opcodes/visium-opc.c                        |   23 +
 87 files changed, 6420 insertions(+), 21 deletions(-)
 create mode 100644 bfd/cpu-visium.c
 create mode 100644 bfd/elf32-visium.c
 create mode 100644 gas/config/tc-visium.c
 create mode 100644 gas/config/tc-visium.h
 create mode 100644 gas/testsuite/gas/visium/allinsn.exp
 create mode 100644 gas/testsuite/gas/visium/allinsn_def.d
 create mode 100644 gas/testsuite/gas/visium/allinsn_def.s
 create mode 100644 gas/testsuite/gas/visium/allinsn_gr5.d
 create mode 100644 gas/testsuite/gas/visium/allinsn_gr5.s
 create mode 100644 gas/testsuite/gas/visium/allinsn_gr6.d
 create mode 100644 gas/testsuite/gas/visium/allinsn_gr6.s
 create mode 100644 gas/testsuite/gas/visium/basereg.s
 create mode 100644 gas/testsuite/gas/visium/brr-1.d
 create mode 100644 gas/testsuite/gas/visium/brr-1.s
 create mode 100644 gas/testsuite/gas/visium/brr-2.d
 create mode 100644 gas/testsuite/gas/visium/brr-2.s
 create mode 100644 gas/testsuite/gas/visium/brr_backward.s
 create mode 100644 gas/testsuite/gas/visium/brr_forward.s
 create mode 100644 gas/testsuite/gas/visium/error.exp
 create mode 100644 gas/testsuite/gas/visium/fcmp.s
 create mode 100644 gas/testsuite/gas/visium/high-1.d
 create mode 100644 gas/testsuite/gas/visium/high-1.s
 create mode 100644 gas/testsuite/gas/visium/immed-1.d
 create mode 100644 gas/testsuite/gas/visium/immed-1.s
 create mode 100644 gas/testsuite/gas/visium/rela-1.d
 create mode 100644 gas/testsuite/gas/visium/rela-1.s
 create mode 100644 gas/testsuite/gas/visium/visium.exp
 create mode 100644 include/elf/visium.h
 create mode 100644 include/opcode/visium.h
 create mode 100644 ld/emulparams/elf32visium.sh
 create mode 100644 ld/scripttempl/visium.sc
 create mode 100644 ld/testsuite/ld-visium/brr_x_backward.d
 create mode 100644 ld/testsuite/ld-visium/brr_x_backward1.s
 create mode 100644 ld/testsuite/ld-visium/brr_x_backward2.s
 create mode 100644 ld/testsuite/ld-visium/brr_x_forward.d
 create mode 100644 ld/testsuite/ld-visium/brr_x_forward1.s
 create mode 100644 ld/testsuite/ld-visium/brr_x_forward2.s
 create mode 100644 ld/testsuite/ld-visium/brr_x_seg.s
 create mode 100644 ld/testsuite/ld-visium/brr_x_seg1.d
 create mode 100644 ld/testsuite/ld-visium/brr_x_seg2.d
 create mode 100644 ld/testsuite/ld-visium/imm_x_seg.d
 create mode 100644 ld/testsuite/ld-visium/imm_x_seg.s
 create mode 100644 ld/testsuite/ld-visium/ld1.ld
 create mode 100644 ld/testsuite/ld-visium/ld2.ld
 create mode 100644 ld/testsuite/ld-visium/ld3.ld
 create mode 100644 ld/testsuite/ld-visium/reloc.d
 create mode 100644 ld/testsuite/ld-visium/reloc1.s
 create mode 100644 ld/testsuite/ld-visium/reloc2.s
 create mode 100644 ld/testsuite/ld-visium/visium.exp
 create mode 100644 opcodes/visium-dis.c
 create mode 100644 opcodes/visium-opc.c

-- 
1.7.7



More information about the Binutils mailing list