mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2025-02-14 06:09:10 +00:00
ld/ChangeLog:
* Makefile.am (ALL_64_EMULATION_SOURCES): Add eaarch64linux32.c and eaarch64linux32b.c (eaarch64linux32.c): New target. (eaarch64linux32b.c): Likewise. * Makefile.in: Regenerate. * configure.tgt (aarch64_be-*-linux*): Add aarch64linux32 and aarch64linux32b to targ_extra_libpath. (aarch64-*-linux*): Likewise. * emulparams/aarch64elf32.sh (SEPARATE_GOTPLT): Change to 12 (3 words). * emulparams/aarch64linux32.sh: New file. * emulparams/aarch64linux32b.sh: New file.
This commit is contained in:
parent
0d091088ea
commit
56244278a6
14
ld/ChangeLog
14
ld/ChangeLog
@ -1,3 +1,17 @@
|
||||
2013-11-21 Andrew Pinski <apinski@cavium.com>
|
||||
|
||||
* Makefile.am (ALL_64_EMULATION_SOURCES): Add eaarch64linux32.c
|
||||
and eaarch64linux32b.c
|
||||
(eaarch64linux32.c): New target.
|
||||
(eaarch64linux32b.c): Likewise.
|
||||
* Makefile.in: Regenerate.
|
||||
* configure.tgt (aarch64_be-*-linux*): Add
|
||||
aarch64linux32 and aarch64linux32b to targ_extra_libpath.
|
||||
(aarch64-*-linux*): Likewise.
|
||||
* emulparams/aarch64elf32.sh (SEPARATE_GOTPLT): Change to 12 (3 words).
|
||||
* emulparams/aarch64linux32.sh: New file.
|
||||
* emulparams/aarch64linux32b.sh: New file.
|
||||
|
||||
2013-11-21 Andrew Pinski <apinski@cavium.com>
|
||||
|
||||
* configure.tgt (aarch64_be-*-linux*): Split out the linux targets
|
||||
|
@ -468,6 +468,8 @@ ALL_64_EMULATION_SOURCES = \
|
||||
eaarch64elf32b.c \
|
||||
eaarch64linux.c \
|
||||
eaarch64linuxb.c \
|
||||
eaarch64linux32.c \
|
||||
eaarch64linux32b.c \
|
||||
eelf32_x86_64.c \
|
||||
eelf32_x86_64_nacl.c \
|
||||
eelf32b4300.c \
|
||||
@ -1787,6 +1789,14 @@ eaarch64linuxb.c: $(srcdir)/emulparams/aarch64linuxb.sh $(srcdir)/emulparams/aar
|
||||
$(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
|
||||
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
${GENSCRIPTS} aarch64linuxb "$(tdir_aarch64linuxb)"
|
||||
eaarch64linux32.c: $(srcdir)/emulparams/aarch64linux32.sh \
|
||||
$(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
|
||||
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
${GENSCRIPTS} aarch64linux32 "$(tdir_aarch64linux32)"
|
||||
eaarch64linux32b.c: $(srcdir)/emulparams/aarch64linux32b.sh $(srcdir)/emulparams/aarch64linux32.sh \
|
||||
$(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
|
||||
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
${GENSCRIPTS} aarch64linux32b "$(tdir_aarch64linux32b)"
|
||||
eor32.c: $(srcdir)/emulparams/or32.sh \
|
||||
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/or32.sc ${GEN_DEPENDS}
|
||||
${GENSCRIPTS} or32 "$(tdir_or32)"
|
||||
|
@ -775,6 +775,8 @@ ALL_64_EMULATION_SOURCES = \
|
||||
eaarch64elf32b.c \
|
||||
eaarch64linux.c \
|
||||
eaarch64linuxb.c \
|
||||
eaarch64linux32.c \
|
||||
eaarch64linux32b.c \
|
||||
eelf32_x86_64.c \
|
||||
eelf32_x86_64_nacl.c \
|
||||
eelf32b4300.c \
|
||||
@ -1084,6 +1086,8 @@ distclean-compile:
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64elf32b.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64elfb.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64linux.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64linux32.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64linux32b.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64linuxb.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaix5ppc.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaix5rs6.Po@am__quote@
|
||||
@ -3269,6 +3273,14 @@ eaarch64linuxb.c: $(srcdir)/emulparams/aarch64linuxb.sh $(srcdir)/emulparams/aar
|
||||
$(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
|
||||
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
${GENSCRIPTS} aarch64linuxb "$(tdir_aarch64linuxb)"
|
||||
eaarch64linux32.c: $(srcdir)/emulparams/aarch64linux32.sh \
|
||||
$(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
|
||||
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
${GENSCRIPTS} aarch64linux32 "$(tdir_aarch64linux32)"
|
||||
eaarch64linux32b.c: $(srcdir)/emulparams/aarch64linux32b.sh $(srcdir)/emulparams/aarch64linux32.sh \
|
||||
$(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
|
||||
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
${GENSCRIPTS} aarch64linux32b "$(tdir_aarch64linux32b)"
|
||||
eor32.c: $(srcdir)/emulparams/or32.sh \
|
||||
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/or32.sc ${GEN_DEPENDS}
|
||||
${GENSCRIPTS} or32 "$(tdir_or32)"
|
||||
|
@ -50,10 +50,10 @@ aarch64_be-*-elf) targ_emul=aarch64elfb
|
||||
aarch64-*-elf) targ_emul=aarch64elf
|
||||
targ_extra_emuls="aarch64elf32 aarch64elf32b aarch64elfb armelf armelfb" ;;
|
||||
aarch64_be-*-linux*) targ_emul=aarch64linuxb
|
||||
targ_extra_libpath="aarch64linux armelfb_linux_eabi armelf_linux_eabi"
|
||||
targ_extra_libpath="aarch64linux aarch64linux32 aarch64linux32b armelfb_linux_eabi armelf_linux_eabi"
|
||||
targ_extra_emuls="aarch64elfb aarch64elf aarch64elf32 aarch64elf32b armelfb armelf $targ_extra_libpath" ;;
|
||||
aarch64-*-linux*) targ_emul=aarch64linux
|
||||
targ_extra_libpath="aarch64linuxb armelfb_linux_eabi armelf_linux_eabi"
|
||||
targ_extra_libpath="aarch64linuxb aarch64linux32 aarch64linux32b armelfb_linux_eabi armelf_linux_eabi"
|
||||
targ_extra_emuls="aarch64elf aarch64elf32 aarch64elf32b aarch64elfb armelf armelfb $targ_extra_libpath" ;;
|
||||
alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
|
||||
targ_emul=elf64alpha_fbsd
|
||||
|
@ -17,7 +17,7 @@ MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
|
||||
|
||||
ENTRY=_start
|
||||
EMBEDDED=yes
|
||||
SEPARATE_GOTPLT=24
|
||||
SEPARATE_GOTPLT=12
|
||||
IREL_IN_PLT=
|
||||
TEXT_START_ADDR=0x00400000
|
||||
|
||||
|
47
ld/emulparams/aarch64linux32.sh
Normal file
47
ld/emulparams/aarch64linux32.sh
Normal file
@ -0,0 +1,47 @@
|
||||
ARCH="aarch64:ilp32"
|
||||
MACHINE=
|
||||
NOP=0
|
||||
|
||||
SCRIPT_NAME=elf
|
||||
ELFSIZE=32
|
||||
OUTPUT_FORMAT="elf32-littleaarch64"
|
||||
BIG_OUTPUT_FORMAT="elf32-bigaarch64"
|
||||
LITTLE_OUTPUT_FORMAT="elf32-littleaarch64"
|
||||
NO_REL_RELOCS=yes
|
||||
|
||||
TEMPLATE_NAME=elf32
|
||||
EXTRA_EM_FILE=aarch64elf
|
||||
|
||||
GENERATE_SHLIB_SCRIPT=yes
|
||||
GENERATE_PIE_SCRIPT=yes
|
||||
|
||||
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
|
||||
COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
|
||||
SEPARATE_GOTPLT=12
|
||||
IREL_IN_PLT=
|
||||
|
||||
TEXT_START_ADDR=0x400000
|
||||
|
||||
DATA_START_SYMBOLS='PROVIDE (__data_start = .);';
|
||||
|
||||
# AArch64 does not support .s* sections.
|
||||
NO_SMALL_DATA=yes
|
||||
|
||||
OTHER_BSS_SYMBOLS='__bss_start__ = .;'
|
||||
OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ;'
|
||||
OTHER_END_SYMBOLS='__end__ = . ;'
|
||||
|
||||
OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }'
|
||||
ATTRS_SECTIONS='.ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) }'
|
||||
# Ensure each PLT entry is aligned to a cache line.
|
||||
PLT=".plt ${RELOCATING-0} : ALIGN(16) { *(.plt)${IREL_IN_PLT+ *(.iplt)} }"
|
||||
|
||||
# Linux modifies the default library search path to first include
|
||||
# a 32-bit specific directory.
|
||||
case "$target" in
|
||||
aarch64*-linux*)
|
||||
case "$EMULATION_NAME" in
|
||||
aarch64linux*) LIBPATH_SUFFIX=32 ;;
|
||||
esac
|
||||
;;
|
||||
esac
|
2
ld/emulparams/aarch64linux32b.sh
Normal file
2
ld/emulparams/aarch64linux32b.sh
Normal file
@ -0,0 +1,2 @@
|
||||
. ${srcdir}/emulparams/aarch64linux32.sh
|
||||
OUTPUT_FORMAT="elf32-bigaarch64"
|
Loading…
x
Reference in New Issue
Block a user