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]

[PATCHv3 0/7] Add initial arc nps400 support


Here's a rewrite that removes the need to use the vendor string in
order change the behaviour of binutils[1].

I didn't set out to expand my 2 patch series into a 7 patch series in
order to prove that avoiding the vendor string resulted in a bunch of
extra code :) though I can understand if it looks that way.

Patch 1 is a bug fix for a new big-endian arc regression that has
crept in.

Patch 2 was patch 1 in the previous series.

Patch 3 and 4 are clean up of the constants used to setup the elf
header flags.  I hadn't looked at these too closely before, but now I
needed to add a new one I though this code could be simplified.

Patch 5 adds the new nps400 cpu type, this is the code that replaces
the use of the vendor string in the old patch 2 from my previous
iteration of this series.  I have now split this out into its own
patch as there's more of it.

Patch 6 is a new patch that modifies the way that the CLASS attribute
of arc flag operands are used.  This makes the final patch smaller
than it was previously.

Patch 7 is the new instruction part of what used to be patch 2 in the
previous iteration of this series.  I've now included a few more
instructions, so there's a few more operands.  However, thanks to
patch 6 there's actually less insert/extract code than before.

Is this OK?

Thanks,
Andrew

[1] I still don't understand why that's a bad thing though....

---

Andrew Burgess (7):
  gas/arc: Fix test for big-endian arc
  arc/gas: default mach is arc700, initialised in md_begin
  arc: Remove duplicated constant in include/elf/arc.h
  arc: Remove EF_ARC_CPU_GENERIC constant.
  arc: Add nps400 machine type, and assembler flag.
  arc/opcodes: Use flag operand class to handle multiple flag matches
  arc/nps400: Add first nps400 instructions

 bfd/ChangeLog                               |  21 +++
 bfd/archures.c                              |   1 +
 bfd/bfd-in2.h                               |   1 +
 bfd/cpu-arc.c                               |   5 +-
 bfd/elf32-arc.c                             |  16 +--
 binutils/ChangeLog                          |  13 ++
 binutils/readelf.c                          |   9 +-
 binutils/testsuite/binutils-all/objdump.exp |   2 +-
 gas/ChangeLog                               |  44 ++++++
 gas/config/tc-arc.c                         | 104 +++++++-------
 gas/testsuite/gas/arc/asm-errors.d          |   2 +
 gas/testsuite/gas/arc/asm-errors.err        |   4 +
 gas/testsuite/gas/arc/asm-errors.s          |   4 +
 gas/testsuite/gas/arc/inline-data-1.d       |   1 +
 gas/testsuite/gas/arc/inline-data-2.d       |   9 ++
 gas/testsuite/gas/arc/nps400-0.d            |  15 +++
 gas/testsuite/gas/arc/nps400-0.s            |   2 +
 gas/testsuite/gas/arc/nps400-1.d            |  18 +++
 gas/testsuite/gas/arc/nps400-1.s            |  12 ++
 include/ChangeLog                           |  27 ++++
 include/elf/arc.h                           |  12 +-
 include/opcode/arc.h                        |  25 ++--
 opcodes/ChangeLog                           |  28 ++++
 opcodes/arc-dis.c                           |   4 +
 opcodes/arc-nps400-tbl.h                    |  11 ++
 opcodes/arc-opc.c                           | 201 ++++++++++++++++++++++++----
 26 files changed, 476 insertions(+), 115 deletions(-)
 create mode 100644 gas/testsuite/gas/arc/asm-errors.d
 create mode 100644 gas/testsuite/gas/arc/asm-errors.err
 create mode 100644 gas/testsuite/gas/arc/asm-errors.s
 create mode 100644 gas/testsuite/gas/arc/inline-data-2.d
 create mode 100644 gas/testsuite/gas/arc/nps400-0.d
 create mode 100644 gas/testsuite/gas/arc/nps400-0.s
 create mode 100644 gas/testsuite/gas/arc/nps400-1.d
 create mode 100644 gas/testsuite/gas/arc/nps400-1.s
 create mode 100644 opcodes/arc-nps400-tbl.h

-- 
2.5.1


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