Revert "arc: Add new linker emulation and scripts for ARCv3 ISA."

This reverts commit 4deb1ee57fdb711cac6f36fed75b3c8cb5112d99.
This commit is contained in:
Claudiu Zissulescu 2023-09-25 17:02:55 +03:00
parent 8784b6df88
commit 7f2b40892a
10 changed files with 35 additions and 103 deletions

View File

@ -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 \

View File

@ -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@

View File

@ -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
;;

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -394,10 +394,20 @@ test -n "${RELOCATING}" && cat <<EOF
The options appear in the wrong order to do this with a single symbol -
ldflags comes after flags injected with per-file stanzas, and thus
the setting from ldflags prevails. */
${RELOCATING+. = ALIGN(${ALIGNMENT});}
${RELOCATING+ PROVIDE (__start_heap = .) ; }
${RELOCATING+ PROVIDE (__stack_top = . + (DEFINED(__HEAP_SIZE) ? __HEAP_SIZE : (DEFINED(__DEFAULT_HEAP_SIZE) ? __DEFAULT_HEAP_SIZE : 20k)) + (DEFINED(__STACK_SIZE) ? __STACK_SIZE : 64k));}
${RELOCATING+ PROVIDE (__end_heap = . + (DEFINED(__HEAP_SIZE) ? __HEAP_SIZE : (DEFINED(__DEFAULT_STACK_SIZE) ? __DEFAULT_STACK_SIZE : 20k)));}
.heap :
{
__start_heap = . ;
. = . + (DEFINED(__HEAP_SIZE) ? __HEAP_SIZE : (DEFINED(__DEFAULT_HEAP_SIZE) ? __DEFAULT_HEAP_SIZE : 20k)) ;
__end_heap = . ;
}
. = ALIGN(0x8);
.stack :
{
__stack = . ;
. = . + (DEFINED(__STACK_SIZE) ? __STACK_SIZE : (DEFINED(__DEFAULT_STACK_SIZE) ? __DEFAULT_STACK_SIZE : 64k)) ;
__stack_top = . ;
}
EOF
source_sh $srcdir/scripttempl/misc-sections.sc

View File

@ -0,0 +1,12 @@
#source: got-weak.s
#as:
#ld: -Bstatic
#objdump: -d
[^:]*:\s+file format elf32-.*arc
Disassembly of section \.text:
[0-9a-f]+ <.*>:
^\s+[0-9a-f]+:\s+2730\s7f80\s[0-9a-f]+\s[0-9a-f]+\s+ld\s+r\d+,\[pcl,.*

View File

@ -0,0 +1,7 @@
.cpu archs
.weak symb
.global __start
.text
__start:
ld r0,[pcl,@symb@gotpc]