[PATCH 1/4] [ARC][committed] Use DWARF.sc in elf linker script templates.

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

[PATCH 1/4] [ARC][committed] Use DWARF.sc in elf linker script templates.

Claudiu Zissulescu-2
xxxx-xx-xx  Claudiu Zissulescu  <[hidden email]>

        * elfarcv2.sc : Allow interrupt vector table to be located at an
        arbitrary address.  Use DWARF.sc file.
        * elfarc.sc: Use DWARF.sc file.
---
 ld/ChangeLog               |   6 ++
 ld/scripttempl/elfarc.sc   |  36 ++---------
 ld/scripttempl/elfarcv2.sc | 126 +++++++++++++++++--------------------
 3 files changed, 70 insertions(+), 98 deletions(-)

diff --git a/ld/ChangeLog b/ld/ChangeLog
index 7ff108cbb0..58f9b8b44c 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,9 @@
+2020-01-13  Claudiu Zissulescu  <[hidden email]>
+
+ * scripttempl/elfarcv2.sc : Allow interrupt vector table to be
+ located at an arbitrary address.  Use DWARF.sc file.
+ * scripttempl/elfarc.sc: Use DWARF.sc file.
+
 2020-01-07  Alan Modra  <[hidden email]>
 
  * testsuite/ld-mips-elf/eh-frame5.s,
diff --git a/ld/scripttempl/elfarc.sc b/ld/scripttempl/elfarc.sc
index 0390e05fc8..8851c771f2 100644
--- a/ld/scripttempl/elfarc.sc
+++ b/ld/scripttempl/elfarc.sc
@@ -408,40 +408,14 @@ cat <<EOF
   .stab.indexstr 0 : { *(.stab.indexstr) }
 
   .comment       0 : { *(.comment) }
+  .note.gnu.build-id : { *(.note.gnu.build-id) }
+EOF
 
-  /* DWARF debug sections.
-     Symbols in the DWARF debugging sections are relative to the beginning
-     of the section so we begin them at 0.  */
-
-  /* DWARF 1 */
-  .debug          0 : { *(.debug) }
-  .line           0 : { *(.line) }
-
-  /* GNU DWARF 1 extensions */
-  .debug_srcinfo  0 : { *(.debug_srcinfo) }
-  .debug_sfnames  0 : { *(.debug_sfnames) }
-
-  /* DWARF 1.1 and DWARF 2 */
-  .debug_aranges  0 : { *(.debug_aranges) }
-  .debug_pubnames 0 : { *(.debug_pubnames) }
-
-  /* DWARF 2 */
-  .debug_info     0 : { *(.debug_info${RELOCATING+ .gnu.linkonce.wi.*}) }
-  .debug_abbrev   0 : { *(.debug_abbrev) }
-  .debug_line     0 : { *(.debug_line) }
-  .debug_frame    0 : { *(.debug_frame) }
-  .debug_str      0 : { *(.debug_str) }
-  .debug_loc      0 : { *(.debug_loc) }
-  .debug_macinfo  0 : { *(.debug_macinfo) }
-
-  /* SGI/MIPS DWARF 2 extensions */
-  .debug_weaknames 0 : { *(.debug_weaknames) }
-  .debug_funcnames 0 : { *(.debug_funcnames) }
-  .debug_typenames 0 : { *(.debug_typenames) }
-  .debug_varnames  0 : { *(.debug_varnames) }
+. $srcdir/scripttempl/DWARF.sc
 
+cat <<EOF
   /* ARC Extension Sections */
-  .arcextmap  0 : { *(.gnu.linkonce.arcextmap.*) }
+  .arcextmap  0 : { *(.arcextmap.*) }
 
   ${OTHER_SECTIONS}
   ${RELOCATING+${OTHER_END_SYMBOLS}}
diff --git a/ld/scripttempl/elfarcv2.sc b/ld/scripttempl/elfarcv2.sc
index 1d5b73188d..b6cab6c580 100644
--- a/ld/scripttempl/elfarcv2.sc
+++ b/ld/scripttempl/elfarcv2.sc
@@ -54,6 +54,16 @@ DTOR=".dtors        ${CONSTRUCTING-0} :
     ${CONSTRUCTING+${DTOR_END}}
   } ${RELOCATING+ > ${DATA_MEMORY}}"
 
+IVT="
+ /* If the 'ivtbase_addr' symbol is defined, it indicates  the base address of
+    the interrupt vectors.  See description of INT_VECTOR_BASE register.  */
+
+ .ivt DEFINED (ivtbase_addr) ? ivtbase_addr : 0x00 :
+ {
+   ${RELOCATING+ PROVIDE (__ivtbase_addr = .); }
+   KEEP (*(.ivt));
+ } ${RELOCATING+ > ${STARTUP_MEMORY}}"
+
 if test -z "${NO_SMALL_DATA}"; then
   SBSS=".sbss         ${RELOCATING-0} :
   {
@@ -110,10 +120,6 @@ MEMORY
     ICCM : ORIGIN = 0x00000000, LENGTH = ${ICCM_SIZE}
     DCCM : ORIGIN = ${RAM_START_ADDR}, LENGTH = ${RAM_SIZE}
 }
-
-/* Setup the stack on the top of the data memory bank.  */
-PROVIDE (__stack_top = (${RAM_START_ADDR} + ${RAM_SIZE} - 1) & -4);
-PROVIDE (__end_heap = ${RAM_START_ADDR} + ${RAM_SIZE} - 1);
 "
  ;;
 esac
@@ -129,15 +135,7 @@ ${RELOCATING+${MEMORY_DEF}}
 
 SECTIONS
 {
-  .ivt 0x00 :
-  {
-   KEEP (*(.ivt));
-  } ${RELOCATING+ > ${STARTUP_MEMORY}}
-
-  .startup 0x100:
-  {
-    KEEP (*crt0.o(.text.__startup))
-  } ${RELOCATING+ > ${STARTUP_MEMORY}}
+  ${RELOCATING+${IVT}}
 
   /* Read-only sections, merged into text segment: */
   ${TEXT_DYNAMIC+${DYNAMIC}}
@@ -175,35 +173,21 @@ SECTIONS
   .rel.bss      ${RELOCATING-0} : { *(.rel.bss${RELOCATING+ .rel.bss.* .rel.gnu.linkonce.b.*}) }
   .rela.bss     ${RELOCATING-0} : { *(.rela.bss${RELOCATING+ .rela.bss.* .rela.gnu.linkonce.b.*}) }
 
-  .jcr : { KEEP (*(.jcr)) } ${RELOCATING+> ${TEXT_MEMORY}}
-  .eh_frame : { KEEP (*(.eh_frame)) } ${RELOCATING+> ${TEXT_MEMORY}}
-  .gcc_except_table : { *(.gcc_except_table${RELOCATING+ .gcc_except_table.*}) } ${RELOCATING+> ${TEXT_MEMORY}}
-  .plt : { *(.plt) } ${RELOCATING+> ${TEXT_MEMORY}}
-  .jlitab :
-  {
-    ${RELOCATING+${JLI_START_TABLE}}
-    ${RELOCATING+jlitab*.o:(.jlitab*)}
-    *(.jlitab${RELOCATING+*})
-  } ${RELOCATING+> ${TEXT_MEMORY}}
-
-  .rodata ${RELOCATING-0} :
+  .text         ${RELOCATING-0} :
   {
-    *(.rodata) ${RELOCATING+*(.rodata.*)} ${RELOCATING+*(.gnu.linkonce.r.*)}
-  } ${RELOCATING+> ${TEXT_MEMORY}}
-
-  .rodata1      ${RELOCATING-0} : { *(.rodata1) } ${RELOCATING+> ${TEXT_MEMORY}}
+    ${RELOCATING+${TEXT_START_SYMBOLS}}
 
-  .init         ${RELOCATING-0} :
-  {
+    ${RELOCATING+ . = ALIGN(4);}
     ${RELOCATING+${INIT_START}}
     KEEP (*(SORT_NONE(.init)))
     ${RELOCATING+${INIT_END}}
-  } ${RELOCATING+ > ${TEXT_MEMORY}}  =${NOP-0}
 
-  .text         ${RELOCATING-0} :
-  {
-    ${RELOCATING+${TEXT_START_SYMBOLS}}
+    /* Start here after reset.  */
+    ${RELOCATING+ . = ALIGN(4);}
+    KEEP (*crt0.o(.text.__startup))
 
+    /* Remaining code.  */
+    ${RELOCATING+ . = ALIGN(4);}
     *(.text .stub${RELOCATING+ .text.* .gnu.linkonce.t.*})
     /* .gnu.warning sections are handled specially by elf.em.  */
     *(.gnu.warning)
@@ -223,6 +207,39 @@ SECTIONS
     ${RELOCATING+PROVIDE (etext = .);}
   } ${RELOCATING+ > ${TEXT_MEMORY}} =${NOP-0}
 
+  .jcr ${RELOCATING-0} :
+  {
+    KEEP (*(.jcr))
+  } ${RELOCATING+> ${TEXT_MEMORY}}
+
+  .eh_frame ${RELOCATING-0} :
+  {
+    KEEP (*(.eh_frame))
+  } ${RELOCATING+> ${TEXT_MEMORY}}
+
+  .gcc_except_table ${RELOCATING-0} :
+  {
+    *(.gcc_except_table) *(.gcc_except_table.*)
+  } ${RELOCATING+> ${TEXT_MEMORY}}
+
+  .plt ${RELOCATING-0} :
+  {
+    *(.plt)
+  } ${RELOCATING+> ${TEXT_MEMORY}}
+
+  .jlitab ${RELOCATING-0} :
+  {
+    ${RELOCATING+${JLI_START_TABLE}}
+     jlitab*.o:(.jlitab*) *(.jlitab*)
+  } ${RELOCATING+> ${TEXT_MEMORY}}
+
+  .rodata ${RELOCATING-0} :
+  {
+    *(.rodata) ${RELOCATING+*(.rodata.*)} ${RELOCATING+*(.gnu.linkonce.r.*)}
+  } ${RELOCATING+> ${TEXT_MEMORY}}
+
+  .rodata1      ${RELOCATING-0} : { *(.rodata1) } ${RELOCATING+> ${TEXT_MEMORY}}
+
   ${RELOCATING+${OTHER_READONLY_SECTIONS}}
 
   /* Start of the data section image in ROM.  */
@@ -271,6 +288,8 @@ SECTIONS
     ${RELOCATING+ PROVIDE (__start_heap = .) ; }
   } ${RELOCATING+ > ${DATA_MEMORY}}
 
+  ${RELOCATING+ PROVIDE (__stack_top = (ORIGIN (${DATA_MEMORY}) + LENGTH (${DATA_MEMORY}) - 1) & -4);}
+  ${RELOCATING+ PROVIDE (__end_heap = ORIGIN (${DATA_MEMORY}) + LENGTH (${DATA_MEMORY}) - 1);}
 
   /* Stabs debugging sections.  */
   .stab          0 : { *(.stab) }
@@ -281,40 +300,13 @@ SECTIONS
   .stab.indexstr 0 : { *(.stab.indexstr) }
 
   .comment       0 : { *(.comment) }
+  .note.gnu.build-id : { *(.note.gnu.build-id) }
+EOF
 
-  /* DWARF debug sections.
-     Symbols in the DWARF debugging sections are relative to the beginning
-     of the section so we begin them at 0.  */
-
-  /* DWARF 1 */
-  .debug          0 : { *(.debug) }
-  .line           0 : { *(.line) }
-
-  /* GNU DWARF 1 extensions */
-  .debug_srcinfo  0 : { *(.debug_srcinfo) }
-  .debug_sfnames  0 : { *(.debug_sfnames) }
-
-  /* DWARF 1.1 and DWARF 2 */
-  .debug_aranges  0 : { *(.debug_aranges) }
-  .debug_pubnames 0 : { *(.debug_pubnames) }
-
-  /* DWARF 2 */
-  .debug_info     0 : { *(.debug_info${RELOCATING+ .gnu.linkonce.wi.*}) }
-  .debug_abbrev   0 : { *(.debug_abbrev) }
-  .debug_line     0 : { *(.debug_line) }
-  .debug_frame    0 : { *(.debug_frame) }
-  .debug_str      0 : { *(.debug_str) }
-  .debug_loc      0 : { *(.debug_loc) }
-  .debug_macinfo  0 : { *(.debug_macinfo) }
-
-  /* DWARF 3 */
-  .debug_pubtypes 0 : { *(.debug_pubtypes) }
-  .debug_ranges   0 : { *(.debug_ranges) }
-
-  /* DWARF Extension.  */
-  .debug_macro    0 : { *(.debug_macro) }
+. $srcdir/scripttempl/DWARF.sc
 
+cat <<EOF
   /* ARC Extension Sections */
-  .arcextmap  0 : { *(.gnu.linkonce.arcextmap.*) }
+  .arcextmap  0 : { *(.arcextmap.*) }
 }
 EOF
--
2.24.1

Reply | Threaded
Open this post in threaded view
|

[PATCH 2/4] [ARC][committed] Update ARC cpu list

Claudiu Zissulescu-2
include/
xxxx-xx-xx  Claudiu Zissulescu  <[hidden email]>

        * elf/arc-cpu.def: Update ARC cpu list.
---
 include/ChangeLog       | 4 ++++
 include/elf/arc-cpu.def | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/include/ChangeLog b/include/ChangeLog
index 3e2cdcaeb4..64a03f2f10 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,7 @@
+2020-01-13  Claudiu Zissulescu  <[hidden email]>
+
+ * elf/arc-cpu.def: Update ARC cpu list.
+
 2020-01-13  Alan Modra  <[hidden email]>
 
  * opcode/tic4x.h (EXTR): Delete.
diff --git a/include/elf/arc-cpu.def b/include/elf/arc-cpu.def
index 23fbc39223..48bbd9a343 100644
--- a/include/elf/arc-cpu.def
+++ b/include/elf/arc-cpu.def
@@ -24,6 +24,7 @@ ARC_CPU_TYPE_A7xx (nps400, NPS400),
 
 ARC_CPU_TYPE_AV2EM (arcem, 0x00),
 ARC_CPU_TYPE_AV2EM (em, 0x00),
+ARC_CPU_TYPE_AV2EM (em_mini, 0x00),
 ARC_CPU_TYPE_AV2EM (em4, CD),
 ARC_CPU_TYPE_AV2EM (em4_dmips,  CD),
 ARC_CPU_TYPE_AV2EM (em4_fpus, CD),
@@ -35,6 +36,9 @@ ARC_CPU_TYPE_AV2HS (hs, CD),
 ARC_CPU_TYPE_AV2HS (hs34, CD),
 ARC_CPU_TYPE_AV2HS (hs38, CD),
 ARC_CPU_TYPE_AV2HS (hs38_linux, CD),
+ARC_CPU_TYPE_AV2HS (hs4x, CD),
+ARC_CPU_TYPE_AV2HS (hs4xd, CD),
+ARC_CPU_TYPE_AV2HS (hs4x_rel31, CD),
 
 ARC_CPU_TYPE_A6xx (arc600, 0x00),
 ARC_CPU_TYPE_A6xx (arc600_norm,     0x00),
--
2.24.1

Reply | Threaded
Open this post in threaded view
|

[PATCH 3/4] [ARC][committed] Code cleanup and improvements.

Claudiu Zissulescu-2
In reply to this post by Claudiu Zissulescu-2
Code clean up and improvements when changing the cpu from command
line. Also, remove unused/old emulations.

gas/
xxxx-xx-xx  Claudiu Zissulescu  <[hidden email]>

        * 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  <[hidden email]>

        * 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  <[hidden email]>

        * arc-opc.c (C_NE): Make it required.
---
 gas/ChangeLog                   |  7 +++++++
 gas/config/tc-arc.c             | 12 +++++++++++-
 gas/config/tc-arc.h             |  7 +++++--
 gas/testsuite/gas/arc/pseudos.d |  2 +-
 ld/ChangeLog                    |  9 +++++++++
 ld/Makefile.am                  |  4 ----
 ld/Makefile.in                  |  6 ------
 ld/configure.tgt                |  4 ++--
 ld/emulparams/arcelf_prof.sh    | 26 --------------------------
 ld/emulparams/arclinux_prof.sh  | 27 ---------------------------
 opcodes/ChangeLog               |  4 ++++
 opcodes/arc-opc.c               |  2 +-
 12 files changed, 40 insertions(+), 70 deletions(-)
 delete mode 100644 ld/emulparams/arcelf_prof.sh
 delete mode 100644 ld/emulparams/arclinux_prof.sh

diff --git a/gas/ChangeLog b/gas/ChangeLog
index c6f93cc8d2..0bf722b209 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,10 @@
+2020-01-13  Claudiu Zissulescu  <[hidden email]>
+
+ * 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  <[hidden email]>
 
  * testsuite/gas/wasm32/allinsn.d: Update expected output.
diff --git a/gas/config/tc-arc.c b/gas/config/tc-arc.c
index ed1e3fb5dd..f8d469cc2e 100644
--- a/gas/config/tc-arc.c
+++ b/gas/config/tc-arc.c
@@ -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
diff --git a/gas/config/tc-arc.h b/gas/config/tc-arc.h
index 9bd2ff67b3..b8eee4fb05 100644
--- a/gas/config/tc-arc.h
+++ b/gas/config/tc-arc.h
@@ -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
diff --git a/gas/testsuite/gas/arc/pseudos.d b/gas/testsuite/gas/arc/pseudos.d
index 9332f4d787..7f59d47239 100644
--- a/gas/testsuite/gas/arc/pseudos.d
+++ b/gas/testsuite/gas/arc/pseudos.d
@@ -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
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 58f9b8b44c..0c4a056313 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,12 @@
+2020-01-13  Claudiu Zissulescu  <[hidden email]>
+
+ * 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  <[hidden email]>
 
  * scripttempl/elfarcv2.sc : Allow interrupt vector table to be
diff --git a/ld/Makefile.am b/ld/Makefile.am
index 2c7e337cea..2ed13eba87 100644
--- a/ld/Makefile.am
+++ b/ld/Makefile.am
@@ -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@
diff --git a/ld/Makefile.in b/ld/Makefile.in
index e79a8c855b..f635845643 100644
--- a/ld/Makefile.in
+++ b/ld/Makefile.in
@@ -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@
diff --git a/ld/configure.tgt b/ld/configure.tgt
index 18c3ba4c4d..23194e357f 100644
--- a/ld/configure.tgt
+++ b/ld/configure.tgt
@@ -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"
diff --git a/ld/emulparams/arcelf_prof.sh b/ld/emulparams/arcelf_prof.sh
deleted file mode 100644
index cd01769914..0000000000
--- a/ld/emulparams/arcelf_prof.sh
+++ /dev/null
@@ -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
diff --git a/ld/emulparams/arclinux_prof.sh b/ld/emulparams/arclinux_prof.sh
deleted file mode 100644
index da5ab405fb..0000000000
--- a/ld/emulparams/arclinux_prof.sh
+++ /dev/null
@@ -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) }
-"
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 91ce742846..bb235dce4c 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,7 @@
+2012-01-13  Claudiu Zissulescu <[hidden email]>
+
+ * arc-opc.c (C_NE): Make it required.
+
 2012-01-13  Claudiu Zissulescu <[hidden email]>
 
         * opcode/arc-dis.c (regnames): Correct ACCL/ACCH naming, fix typo
diff --git a/opcodes/arc-opc.c b/opcodes/arc-opc.c
index b90e5dad1b..675738aa6b 100644
--- a/opcodes/arc-opc.c
+++ b/opcodes/arc-opc.c
@@ -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)
--
2.24.1

Reply | Threaded
Open this post in threaded view
|

[PATCH 4/4] [ARC][committed] Update test matching pattern.

Claudiu Zissulescu-2
In reply to this post by Claudiu Zissulescu-2
xxxx-xx-xx  Claudiu Zissulescu <[hidden email]>

        * testsuite/ld-arc/relax-local-pic.d: Improve matching patterns.
---
 ld/ChangeLog                          | 4 ++++
 ld/testsuite/ld-arc/relax-local-pic.d | 8 ++++----
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/ld/ChangeLog b/ld/ChangeLog
index 0c4a056313..b6b8dc8d73 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,7 @@
+2020-01-13  Claudiu Zissulescu  <[hidden email]>
+
+ * testsuite/ld-arc/relax-local-pic.d: Improve matching patterns.
+
 2020-01-13  Claudiu Zissulescu  <[hidden email]>
 
  * Makefile.am: Remove earcelf_prof.c and earclinux_prof.c
diff --git a/ld/testsuite/ld-arc/relax-local-pic.d b/ld/testsuite/ld-arc/relax-local-pic.d
index 5ed268809a..181a963223 100644
--- a/ld/testsuite/ld-arc/relax-local-pic.d
+++ b/ld/testsuite/ld-arc/relax-local-pic.d
@@ -8,7 +8,7 @@
 
 Disassembly of section \.text:
 
-00000100 <__start>:
- 100: 2700 7f84 0000 [0-9a-f]+ add r4,pcl,0x[0-9a-f]+.*
- 104: R_ARC_PC32 a_in_other_thread
- 108: 1c00 [0-9a-f\s]+ st\s+.*
+[0-9a-f]+ <__start>:
+\s+[0-9a-f]+: 2700 7f84 0000 [0-9a-f]+\s+add\s+r4,pcl,.*
+ [0-9a-f]+: R_ARC_PC32 a_in_other_thread
+\s+[0-9a-f]+: 1c00 [0-9a-f\s]+ st\s+.*
--
2.24.1