From ac8cb70f3690b4eace1325c7ff918dce9073da7c Mon Sep 17 00:00:00 2001 From: Chenghua Xu Date: Wed, 29 Aug 2018 20:13:00 +0800 Subject: [MIPS] Add Loongson 3A1000 proccessor support. bfd/ * archures.c (bfd_architecture): Rename bfd_mach_mips_loongson_3a to bfd_mach_mips_gs464. * bfd-in2.h (bfd_architecture): Likewise. * cpu-mips.c (enum I_xxx): Likewise. (arch_info_struct): Likewise. * elfxx-mips.c (_bfd_elf_mips_mach): Likewise. (mips_set_isa_flags): Likewise. (mips_mach_extensions): Likewise. (bfd_mips_isa_ext_mach): Likewise. (bfd_mips_isa_ext): Likewise. (print_mips_isa_ext): Delete AFL_EXT_LOONGSON_3A. binutils/ * NEWS: Mention Loongson 3A1000 proccessor support. * readelf.c (get_machine_flags): Rename loongson-3a to gs464. (print_mips_isa_ext): Delete AFL_EXT_LOONGSON_3A. elfcpp/ * mips.c (EF_MIPS_MACH): Rename E_MIPS_MACH_LS3A to E_MIPS_MACH_GS464. gas/ * config/tc-mips.c (ISA_HAS_ODD_SINGLE_FPR): Rename CPU_LOONGSON_3A to CPU_GS464. (mips_cpu_info_table): Add gs464 descriptors, Keep loongson3a as an alias of gs464 for compatibility. * doc/as.texi (march table): Rename loongson3a to gs464. * testsuite/gas/mips/loongson-3a-mmi.d: Set "ISA Extension" flag to None. gold/ * mips.cc (Mips_mach, add_machine_extensions, elf_mips_mach): Rename loongson3a to gs464. (mips_isa_ext_mach, mips_isa_ext): Delete loongson3a. (infer_abiflags): Use ases instead of isa_ext for infer ABI flags. (elf_mips_mach_name): Rename loongson3a to gs464. include/ * elf/mips.h (E_MIPS_MACH_XXX): Rename E_MIPS_MACH_LS3A to E_MIPS_MACH_GS464. (AFL_EXT_XXX): Delete AFL_EXT_LOONGSON_3A. * opcode/mips.h (INSN_XXX): Delete INSN_LOONGSON_3A. (CPU_XXX): Rename CPU_LOONGSON_3A to CPU_GS464. * opcode/mips.h (mips_isa_table): Delete CPU_LOONGSON_3A case. ld/ * testsuite/ld-mips-elf/mips-elf-flags.exp: Rename loongson3a to gs464. opcodes/ * mips-dis.c (mips_arch_choices): Add gs464 descriptors, Keep loongson3a as an alias of gs464 for compatibility. * mips-opc.c (mips_opcodes): Change Comments. --- binutils/ChangeLog | 6 ++++++ binutils/NEWS | 6 ++++++ binutils/readelf.c | 5 +---- 3 files changed, 13 insertions(+), 4 deletions(-) (limited to 'binutils') diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 21b936c..a8eff4d 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,5 +1,11 @@ 2018-08-29 Chenghua Xu + * NEWS: Mention Loongson 3A1000 proccessor support. + * readelf.c (get_machine_flags): Rename loongson-3a to gs464. + (print_mips_isa_ext): Delete AFL_EXT_LOONGSON_3A. + +2018-08-29 Chenghua Xu + * readelf.c (print_mips_ases): Add Loongson EXT2 extension. 2018-08-29 Chenghua Xu diff --git a/binutils/NEWS b/binutils/NEWS index a3890ed..a5fd811 100644 --- a/binutils/NEWS +++ b/binutils/NEWS @@ -1,5 +1,11 @@ -*- text -*- +* The MIPS port now supports the Loongson 3A1000 processor, aka Loongson3a, + which implements the MIPS64r2 ISA, the Loongson-mmi ASE, Loongson-cam ASE + and Loongson-ext ASE instructions. Add -march=gs464 option for Loongson + 3A1000 processor, The -march=loongson3a is an alias of -march=gs464 for + compatibility. + Changes in 2.31: * Add support for disassembling netronome Flow Processor (NFP) firmware files. diff --git a/binutils/readelf.c b/binutils/readelf.c index 8192686..c5bfb7d 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c @@ -3404,7 +3404,7 @@ get_machine_flags (Filedata * filedata, unsigned e_flags, unsigned e_machine) case E_MIPS_MACH_9000: strcat (buf, ", 9000"); break; case E_MIPS_MACH_LS2E: strcat (buf, ", loongson-2e"); break; case E_MIPS_MACH_LS2F: strcat (buf, ", loongson-2f"); break; - case E_MIPS_MACH_LS3A: strcat (buf, ", loongson-3a"); break; + case E_MIPS_MACH_GS464: strcat (buf, ", gs464"); break; case E_MIPS_MACH_OCTEON: strcat (buf, ", octeon"); break; case E_MIPS_MACH_OCTEON2: strcat (buf, ", octeon2"); break; case E_MIPS_MACH_OCTEON3: strcat (buf, ", octeon3"); break; @@ -15683,9 +15683,6 @@ print_mips_isa_ext (unsigned int isa_ext) case AFL_EXT_OCTEONP: fputs ("Cavium Networks OcteonP", stdout); break; - case AFL_EXT_LOONGSON_3A: - fputs ("Loongson 3A", stdout); - break; case AFL_EXT_OCTEON: fputs ("Cavium Networks Octeon", stdout); break; -- cgit v1.1