From 7f2b40892ac65feddf8d532548f0fff0af01a3e9 Mon Sep 17 00:00:00 2001 From: Claudiu Zissulescu Date: Mon, 25 Sep 2023 17:02:55 +0300 Subject: [PATCH] Revert "arc: Add new linker emulation and scripts for ARCv3 ISA." This reverts commit 4deb1ee57fdb711cac6f36fed75b3c8cb5112d99. --- ld/Makefile.am | 4 ---- ld/Makefile.in | 8 -------- ld/configure.tgt | 21 ++------------------- ld/emulparams/arc64elf32.sh | 12 ------------ ld/emulparams/arc64elf64.sh | 12 ------------ ld/emulparams/arc64linux32.sh | 22 ---------------------- ld/emulparams/arc64linux64.sh | 22 ---------------------- ld/scripttempl/elfarc.sc | 18 ++++++++++++++---- ld/testsuite/ld-arc/got-weak.d | 12 ++++++++++++ ld/testsuite/ld-arc/got-weak.s | 7 +++++++ 10 files changed, 35 insertions(+), 103 deletions(-) delete mode 100644 ld/emulparams/arc64elf32.sh delete mode 100644 ld/emulparams/arc64elf64.sh delete mode 100644 ld/emulparams/arc64linux32.sh delete mode 100644 ld/emulparams/arc64linux64.sh create mode 100644 ld/testsuite/ld-arc/got-weak.d create mode 100644 ld/testsuite/ld-arc/got-weak.s diff --git a/ld/Makefile.am b/ld/Makefile.am index 1efb1726f65..9664d4c7709 100644 --- a/ld/Makefile.am +++ b/ld/Makefile.am @@ -391,10 +391,6 @@ ALL_64_EMULATION_SOURCES = \ eaarch64nto.c \ eaarch64pe.c \ earm64pe.c \ - earc64elf32.c \ - earc64elf64.c \ - earc64linux32.c \ - earc64linux64.c \ eelf32_x86_64.c \ eelf32b4300.c \ eelf32bmip.c \ diff --git a/ld/Makefile.in b/ld/Makefile.in index ce2fb16ec83..afd22d479ec 100644 --- a/ld/Makefile.in +++ b/ld/Makefile.in @@ -890,10 +890,6 @@ ALL_64_EMULATION_SOURCES = \ eaarch64nto.c \ eaarch64pe.c \ earm64pe.c \ - earc64elf32.c \ - earc64elf64.c \ - earc64linux32.c \ - earc64linux64.c \ eelf32_x86_64.c \ eelf32b4300.c \ eelf32bmip.c \ @@ -1283,10 +1279,6 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaixrs6.Po@am__quote@ @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)/earc64elf32.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earc64elf64.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earc64linux32.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earc64linux64.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earcelf.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@ diff --git a/ld/configure.tgt b/ld/configure.tgt index d69dee8c355..ff0aaaae257 100644 --- a/ld/configure.tgt +++ b/ld/configure.tgt @@ -153,27 +153,10 @@ alpha*-*-*vms*) targ_emul=alphavms ;; am33_2.0-*-linux*) targ_emul=elf32am33lin # mn10300 variant ;; -arc-*-elf* | arc[be]*-*-elf*) targ_emul=arcelf +arc*-*-elf*) targ_emul=arcelf targ_extra_emuls="arclinux arclinux_nps arcv2elf arcv2elfx" ;; -arc64-*-elf*) targ_emul=arc64elf64 - targ_extra_emuls="arc64elf32 arc64linux64 arc64linux32" - targ_extra_libpath=$targ_extra_emuls - ;; -arc32-*-elf*) targ_emul=arc64elf32 - targ_extra_emuls="arc64linux32 arc64elf64 arc64linux64" - targ_extra_libpath=$targ_extra_emuls - ;; -arc64-*-linux*) targ_emul=arc64linux64 - targ_extra_emuls="arc64elf64 arc64elf32 arc64linux32" - targ_extra_libpath=$targ_extra_emuls - ;; -arc32-*-linux*) targ_emul=arc64linux32 - targ_extra_emuls="arc64elf32 arc64elf64 arc64linux64" - targ_extra_libpath=$targ_extra_emuls - ;; -arc-*-linux* | arc[eb]*-linux*) - case "${with_cpu}" in +arc*-*-linux*) case "${with_cpu}" in nps400) targ_emul=arclinux_nps targ_extra_emuls=arclinux ;; diff --git a/ld/emulparams/arc64elf32.sh b/ld/emulparams/arc64elf32.sh deleted file mode 100644 index 0f8389a0a6f..00000000000 --- a/ld/emulparams/arc64elf32.sh +++ /dev/null @@ -1,12 +0,0 @@ -SCRIPT_NAME=elf -ELFSIZE=32 -SCRIPT_NAME=elfarc -TEMPLATE_NAME=elf -OUTPUT_FORMAT="elf32-littlearc64" - -TEXT_START_ADDR=0x00 - -MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" -ARCH="arc64:32" -ENTRY=__start -EMBEDDED=yes diff --git a/ld/emulparams/arc64elf64.sh b/ld/emulparams/arc64elf64.sh deleted file mode 100644 index d4291345206..00000000000 --- a/ld/emulparams/arc64elf64.sh +++ /dev/null @@ -1,12 +0,0 @@ -SCRIPT_NAME=elf -ELFSIZE=64 -SCRIPT_NAME=elfarc -TEMPLATE_NAME=elf -OUTPUT_FORMAT="elf64-littlearc64" - -TEXT_START_ADDR=0x00 - -MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" -ARCH="arc64:64" -ENTRY=__start -EMBEDDED=yes diff --git a/ld/emulparams/arc64linux32.sh b/ld/emulparams/arc64linux32.sh deleted file mode 100644 index 1ad8f3de41e..00000000000 --- a/ld/emulparams/arc64linux32.sh +++ /dev/null @@ -1,22 +0,0 @@ -ARCH="arc64:32" - -SCRIPT_NAME=elf -ELFSIZE=32 -OUTPUT_FORMAT="elf32-littlearc64" - -TEMPLATE_NAME=elf - -GENERATE_SHLIB_SCRIPT=yes -GENERATE_PIE_SCRIPT=yes - -MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" -COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" - -TEXT_START_ADDR=0x10000 - -ENTRY=__start - -# To support RELRO security feature. -NO_SMALL_DATA=yes -SEPARATE_GOTPLT="SIZEOF (.got.plt) >= 12 ? 12 : 0" -GENERATE_COMBRELOC_SCRIPT=yes diff --git a/ld/emulparams/arc64linux64.sh b/ld/emulparams/arc64linux64.sh deleted file mode 100644 index 89ff73dc4f2..00000000000 --- a/ld/emulparams/arc64linux64.sh +++ /dev/null @@ -1,22 +0,0 @@ -ARCH="arc64:64" - -SCRIPT_NAME=elf -ELFSIZE=64 -OUTPUT_FORMAT="elf64-littlearc64" - -TEMPLATE_NAME=elf - -GENERATE_SHLIB_SCRIPT=yes -GENERATE_PIE_SCRIPT=yes - -MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" -COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" - -TEXT_START_ADDR=0x10000 - -ENTRY=__start - -# To support RELRO security feature. -NO_SMALL_DATA=yes -SEPARATE_GOTPLT=8 #FIXME! what is the true value here? -GENERATE_COMBRELOC_SCRIPT=yes diff --git a/ld/scripttempl/elfarc.sc b/ld/scripttempl/elfarc.sc index 78cb0fa9540..1ae0248a900 100644 --- a/ld/scripttempl/elfarc.sc +++ b/ld/scripttempl/elfarc.sc @@ -394,10 +394,20 @@ test -n "${RELOCATING}" && cat <: +^\s+[0-9a-f]+:\s+2730\s7f80\s[0-9a-f]+\s[0-9a-f]+\s+ld\s+r\d+,\[pcl,.* diff --git a/ld/testsuite/ld-arc/got-weak.s b/ld/testsuite/ld-arc/got-weak.s new file mode 100644 index 00000000000..8ea18be3780 --- /dev/null +++ b/ld/testsuite/ld-arc/got-weak.s @@ -0,0 +1,7 @@ + .cpu archs + + .weak symb + .global __start + .text +__start: + ld r0,[pcl,@symb@gotpc] -- 2.30.2