aboutsummaryrefslogtreecommitdiff
path: root/binutils
diff options
context:
space:
mode:
authorAndrew Burgess <andrew.burgess@embecosm.com>2016-03-15 21:51:50 +0000
committerAndrew Burgess <andrew.burgess@embecosm.com>2016-03-21 16:44:49 +0000
commit8699fc3e88de47be12401fd366fbe1ee0c4294c7 (patch)
tree7459f723fbf2994958b03ffb5a6f524525d84381 /binutils
parenta9522a2168c8233e8f15c42a32e7376c2a40ac12 (diff)
downloadgdb-8699fc3e88de47be12401fd366fbe1ee0c4294c7.zip
gdb-8699fc3e88de47be12401fd366fbe1ee0c4294c7.tar.gz
gdb-8699fc3e88de47be12401fd366fbe1ee0c4294c7.tar.bz2
arc: Add nps400 machine type, and assembler flag.
This commit introduces the nps400 machine type as a variant of arc. There's a new flag in the assembler to select this machine type. All other changes are just adding handling of the new machine type into the relevant places. The nps400 is an arc700 variant with some vendor specific instructions added into the instruction set. This commit does not add any of the new instructions, this is just laying the groundwork for future commits. However, in preparation for these new instructions a new opcode define for nps400 has been added to include/opcode/arc.h, this new opcode define is used in the assembler and disassembler along with the existing define for arc700 such that when assembling and disassembling for nps400 the user will have access to all arc700 instructions and all the nps400 vendor extension instructions. bfd/ChangeLog: * archures.c (bfd_mach_arc_nps400): Define. * bfd-in2.h: Regenerate. * cpu-arc.c (arch_info_struct): New entry for nps400, renumber some existing entries to make space. * elf32-arc.c (arc_elf_object_p): Add nps400 case. (arc_elf_final_write_processing): Likewise. binutils/ChangeLog: * readelf.c (decode_ARC_machine_flags): Handle nps400. gas/ChangeLog: * config/tc-arc.c (cpu_types): Add nps400 entry. (check_zol): Handle nps400. include/ChangeLog: * elf/arc.h (E_ARC_MACH_NPS400): Define. * opcode/arc.h (ARC_OPCODE_NPS400): Define. opcodes/ChangeLog: * arc-dis.c (print_insn_arc): Handle nps400.
Diffstat (limited to 'binutils')
-rw-r--r--binutils/ChangeLog4
-rw-r--r--binutils/readelf.c3
2 files changed, 7 insertions, 0 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index c71ba3f..805c6d8 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,5 +1,9 @@
2016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
+ * readelf.c (decode_ARC_machine_flags): Handle nps400.
+
+2016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
+
* readelf.c (get_machine_flags): Move arc processing into...
(decode_ARC_machine_flags): ... new function. Remove use of
EF_ARC_CPU_GENERIC, change default case from "generic arc" to
diff --git a/binutils/readelf.c b/binutils/readelf.c
index fe23d45..5755b6b 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -2306,6 +2306,9 @@ decode_ARC_machine_flags (unsigned e_flags, unsigned e_machine, char buf[])
case E_ARC_MACH_ARC700:
strcat (buf, ", ARC700");
break;
+ case E_ARC_MACH_NPS400:
+ strcat (buf, ", NPS400");
+ break;
/* The only times we should end up here are (a) A corrupt ELF, (b) A
new ELF with new architecture being read by an old version of