[ARC][committed] Code cleanup and improvements.
Code clean up and improvements when changing the cpu from command line. Also, remove unused/old emulations. gas/ xxxx-xx-xx Claudiu Zissulescu <claziss@synopsys.com> * config/tc-arc.c (arc_select_cpu): Re-init the bfd if we change the CPU. * config/tc-arc.h: Add header if/defs. * testsuite/gas/arc/pseudos.d: Improve matching pattern. ls/ xxxx-xx-xx Claudiu Zissulescu <claziss@synopsys.com> * Makefile.am: Remove earcelf_prof.c and earclinux_prof.c emulations. * Makefile.in: Regenerate. * configure.tgt: Likewise. * emulparams/arcelf_prof.sh: Remove file. * emulparams/arclinux_prof.sh: Likewise. opcodes/ xxxx-xx-xx Claudiu Zissulescu <claziss@synopsys.com> * arc-opc.c (C_NE): Make it required.
This commit is contained in:
parent
39fe16e078
commit
5e4f7e0518
@ -1,3 +1,10 @@
|
||||
2020-01-13 Claudiu Zissulescu <claziss@gmail.com>
|
||||
|
||||
* config/tc-arc.c (arc_select_cpu): Re-init the bfd if we change
|
||||
the CPU.
|
||||
* config/tc-arc.h: Add header if/defs.
|
||||
* testsuite/gas/arc/pseudos.d: Improve matching pattern.
|
||||
|
||||
2020-01-13 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* testsuite/gas/wasm32/allinsn.d: Update expected output.
|
||||
|
@ -841,6 +841,7 @@ static void
|
||||
arc_select_cpu (const char *arg, enum mach_selection_type sel)
|
||||
{
|
||||
int i;
|
||||
static struct cpu_type old_cpu = { 0, 0, 0, E_ARC_OSABI_CURRENT, 0 };
|
||||
|
||||
/* We should only set a default if we've not made a selection from some
|
||||
other source. */
|
||||
@ -871,7 +872,6 @@ arc_select_cpu (const char *arg, enum mach_selection_type sel)
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
/* Initialise static global data about selected machine type. */
|
||||
selected_cpu.flags = cpu_types[i].flags;
|
||||
selected_cpu.name = cpu_types[i].name;
|
||||
@ -889,7 +889,17 @@ arc_select_cpu (const char *arg, enum mach_selection_type sel)
|
||||
/* Check if set features are compatible with the chosen CPU. */
|
||||
arc_check_feature ();
|
||||
|
||||
/* If we change the CPU, we need to re-init the bfd. */
|
||||
if (mach_selection_mode != MACH_SELECTION_NONE
|
||||
&& (old_cpu.mach != selected_cpu.mach))
|
||||
{
|
||||
bfd_find_target (arc_target_format, stdoutput);
|
||||
if (! bfd_set_arch_mach (stdoutput, bfd_arch_arc, selected_cpu.mach))
|
||||
as_warn (_("Could not set architecture and machine"));
|
||||
}
|
||||
|
||||
mach_selection_mode = sel;
|
||||
old_cpu = selected_cpu;
|
||||
}
|
||||
|
||||
/* Here ends all the ARCompact extension instruction assembling
|
||||
|
@ -20,14 +20,15 @@
|
||||
Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
|
||||
02110-1301, USA. */
|
||||
|
||||
#include "opcode/arc.h"
|
||||
|
||||
#ifndef TC_ARC
|
||||
/* By convention, you should define this macro in the `.h' file. For
|
||||
example, `tc-m68k.h' defines `TC_M68K'. You might have to use this
|
||||
if it is necessary to add CPU specific code to the object format
|
||||
file. */
|
||||
#define TC_ARC
|
||||
|
||||
#include "opcode/arc.h"
|
||||
|
||||
/* We want local label support. */
|
||||
#define LOCAL_LABELS_FB 1
|
||||
|
||||
@ -267,3 +268,5 @@ struct arc_relax_type
|
||||
/* Number of flags. Used for re-assembling in md_convert_frag. */
|
||||
int nflg;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
Disassembly of section .text:
|
||||
|
||||
00000000 <.text>:
|
||||
[0]+ <.text>:
|
||||
0: 1cfc b008 st.aw r0,\[sp,-4\]
|
||||
4: 1404 3401 ld.ab r1,\[sp,4\]
|
||||
8: 0901 0002 brlt.* r1,r0,0 ;0x8
|
||||
|
@ -1,3 +1,12 @@
|
||||
2020-01-13 Claudiu Zissulescu <claziss@gmail.com>
|
||||
|
||||
* Makefile.am: Remove earcelf_prof.c and earclinux_prof.c
|
||||
emulations.
|
||||
* configure.tgt: Likewise.
|
||||
* Makefile.in: Regenerate.
|
||||
* emulparams/arcelf_prof.sh: Remove file.
|
||||
* emulparams/arclinux_prof.sh: Likewise.
|
||||
|
||||
2020-01-13 Claudiu Zissulescu <claziss@gmail.com>
|
||||
|
||||
* scripttempl/elfarcv2.sc : Allow interrupt vector table to be
|
||||
|
@ -170,10 +170,8 @@ ALL_EMULATION_SOURCES = \
|
||||
earcv2elf.c \
|
||||
earcv2elfx.c \
|
||||
earcelf.c \
|
||||
earcelf_prof.c \
|
||||
earclinux.c \
|
||||
earclinux_nps.c \
|
||||
earclinux_prof.c \
|
||||
earm_wince_pe.c \
|
||||
earmelf.c \
|
||||
earmelf_fbsd.c \
|
||||
@ -660,10 +658,8 @@ $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES): $(GEN_DEPENDS)
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earcv2elf.Pc@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earcv2elfx.Pc@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earcelf.Pc@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earcelf_prof.Pc@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earclinux.Pc@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earclinux_nps.Pc@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earclinux_prof.Pc@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earm_wince_pe.Pc@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelf.Pc@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelf_fbsd.Pc@am__quote@
|
||||
|
@ -660,10 +660,8 @@ ALL_EMULATION_SOURCES = \
|
||||
earcv2elf.c \
|
||||
earcv2elfx.c \
|
||||
earcelf.c \
|
||||
earcelf_prof.c \
|
||||
earclinux.c \
|
||||
earclinux_nps.c \
|
||||
earclinux_prof.c \
|
||||
earm_wince_pe.c \
|
||||
earmelf.c \
|
||||
earmelf_fbsd.c \
|
||||
@ -1215,10 +1213,8 @@ distclean-compile:
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ealpha.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ealphavms.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earcelf.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earcelf_prof.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earclinux.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earclinux_nps.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earclinux_prof.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earcv2elf.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earcv2elfx.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earm_wince_pe.Po@am__quote@
|
||||
@ -2266,10 +2262,8 @@ $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES): $(GEN_DEPENDS)
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earcv2elf.Pc@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earcv2elfx.Pc@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earcelf.Pc@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earcelf_prof.Pc@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earclinux.Pc@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earclinux_nps.Pc@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earclinux_prof.Pc@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earm_wince_pe.Pc@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelf.Pc@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelf_fbsd.Pc@am__quote@
|
||||
|
@ -105,7 +105,7 @@ alpha*-*-*vms*) targ_emul=alphavms
|
||||
am33_2.0-*-linux*) targ_emul=elf32am33lin # mn10300 variant
|
||||
;;
|
||||
arc*-*-elf*) targ_emul=arcelf
|
||||
targ_extra_emuls="arcelf_prof arclinux arclinux_nps arclinux_prof arcv2elf arcv2elfx"
|
||||
targ_extra_emuls="arclinux arclinux_nps arcv2elf arcv2elfx"
|
||||
;;
|
||||
arc*-*-linux*) case "${with_cpu}" in
|
||||
nps400) targ_emul=arclinux_nps
|
||||
@ -115,7 +115,7 @@ arc*-*-linux*) case "${with_cpu}" in
|
||||
targ_extra_emuls=arclinux_nps
|
||||
;;
|
||||
esac
|
||||
targ_extra_emuls="${targ_extra_emuls} arclinux_prof arcelf arcelf_prof arcv2elf arcv2elfx"
|
||||
targ_extra_emuls="${targ_extra_emuls} arcelf arcv2elf arcv2elfx"
|
||||
;;
|
||||
arm*-*-cegcc*) targ_emul=arm_wince_pe
|
||||
targ_extra_ofiles="deffilep.o pe-dll.o"
|
||||
|
@ -1,26 +0,0 @@
|
||||
source_sh ${srcdir}/emulparams/arc-endianness.sh
|
||||
SCRIPT_NAME=elfarc
|
||||
TEMPLATE_NAME=elf
|
||||
if [ "x${ARC_ENDIAN}" = "xbig" ]; then
|
||||
OUTPUT_FORMAT="elf32-bigarc"
|
||||
else
|
||||
OUTPUT_FORMAT="elf32-littlearc"
|
||||
fi
|
||||
LITTLE_OUTPUT_FORMAT="elf32-littlearc"
|
||||
BIG_OUTPUT_FORMAT="elf32-bigarc"
|
||||
# leave room for vector table, 32 vectors * 8 bytes
|
||||
TEXT_START_ADDR=0x100
|
||||
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
|
||||
#NONPAGED_TEXT_START_ADDR=0x0
|
||||
ARCH=arc
|
||||
MACHINE=
|
||||
ENTRY=__start
|
||||
SDATA_START_SYMBOLS='__SDATA_BEGIN__ = .;'
|
||||
OTHER_READONLY_SECTIONS="
|
||||
.__arc_profile_desc ${RELOCATING-0} : { *(.__arc_profile_desc) }
|
||||
.__arc_profile_forward ${RELOCATING-0} : { *(.__arc_profile_forward) }
|
||||
"
|
||||
OTHER_BSS_SECTIONS="
|
||||
.__arc_profile_counters ${RELOCATING-0} : { *(.__arc_profile_counters) }
|
||||
"
|
||||
EMBEDDED=yes
|
@ -1,27 +0,0 @@
|
||||
source_sh ${srcdir}/emulparams/arc-endianness.sh
|
||||
SCRIPT_NAME=arclinux
|
||||
if [ "x${ARC_ENDIAN}" = "xbig" ]; then
|
||||
OUTPUT_FORMAT="elf32-bigarc"
|
||||
else
|
||||
OUTPUT_FORMAT="elf32-littlearc"
|
||||
fi
|
||||
LITTLE_OUTPUT_FORMAT="elf32-littlearc"
|
||||
BIG_OUTPUT_FORMAT="elf32-bigarc"
|
||||
TEXT_START_ADDR=0x10000
|
||||
MAXPAGESIZE=0x2000
|
||||
COMMONPAGESIZE=0x2000
|
||||
NONPAGED_TEXT_START_ADDR=0x10000
|
||||
ARCH=arc
|
||||
MACHINE=
|
||||
ENTRY=__start
|
||||
TEMPLATE_NAME=elf
|
||||
EXTRA_EM_FILE=arclinux
|
||||
GENERATE_SHLIB_SCRIPT=yes
|
||||
SDATA_START_SYMBOLS='__SDATA_BEGIN__ = .;'
|
||||
OTHER_READONLY_SECTIONS="
|
||||
.__arc_profile_desc ${RELOCATING-0} : { *(.__arc_profile_desc) }
|
||||
.__arc_profile_forward ${RELOCATING-0} : { *(.__arc_profile_forward) }
|
||||
"
|
||||
OTHER_BSS_SECTIONS="
|
||||
.__arc_profile_counters ${RELOCATING-0} : { *(.__arc_profile_counters) }
|
||||
"
|
@ -1,3 +1,7 @@
|
||||
2012-01-13 Claudiu Zissulescu <claziss@gmail.com>
|
||||
|
||||
* arc-opc.c (C_NE): Make it required.
|
||||
|
||||
2012-01-13 Claudiu Zissulescu <claziss@gmail.com>
|
||||
|
||||
* opcode/arc-dis.c (regnames): Correct ACCL/ACCH naming, fix typo
|
||||
|
@ -1691,7 +1691,7 @@ const struct arc_flag_class arc_flag_classes[] =
|
||||
{ F_CLASS_OPTIONAL, { F_ASFAKE, F_NULL}},
|
||||
|
||||
#define C_NE (C_AS + 1)
|
||||
{ F_CLASS_OPTIONAL, { F_NE, F_NULL}},
|
||||
{ F_CLASS_REQUIRED, { F_NE, F_NULL}},
|
||||
|
||||
/* ARC NPS400 Support: See comment near head of file. */
|
||||
#define C_NPS_CL (C_NE + 1)
|
||||
|
Loading…
Reference in New Issue
Block a user