X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=ld%2Femulparams%2Felf32_x86_64.sh;h=1f672c6e42644373ec70030ad1623648cc12d8af;hb=74e10d1742f1b8312359c59a2af06c9e661252b3;hp=967c1b45cd0076f33cedd6fbf2baebfc2da3fd88;hpb=4c10bbaa0912742322f10d9d5bb630ba4e15dfa7;p=deliverable%2Fbinutils-gdb.git diff --git a/ld/emulparams/elf32_x86_64.sh b/ld/emulparams/elf32_x86_64.sh index 967c1b45cd..1f672c6e42 100644 --- a/ld/emulparams/elf32_x86_64.sh +++ b/ld/emulparams/elf32_x86_64.sh @@ -1,8 +1,10 @@ -. ${srcdir}/emulparams/plt_unwind.sh -. ${srcdir}/emulparams/extern_protected_data.sh -. ${srcdir}/emulparams/dynamic_undefined_weak.sh -. ${srcdir}/emulparams/reloc_overflow.sh -. ${srcdir}/emulparams/call_nop.sh +source_sh ${srcdir}/emulparams/plt_unwind.sh +source_sh ${srcdir}/emulparams/extern_protected_data.sh +source_sh ${srcdir}/emulparams/dynamic_undefined_weak.sh +source_sh ${srcdir}/emulparams/reloc_overflow.sh +source_sh ${srcdir}/emulparams/call_nop.sh +source_sh ${srcdir}/emulparams/cet.sh +source_sh ${srcdir}/emulparams/static.sh SCRIPT_NAME=elf ELFSIZE=32 OUTPUT_FORMAT="elf32-x86-64" @@ -12,7 +14,8 @@ MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" ARCH="i386:x64-32" MACHINE= -TEMPLATE_NAME=elf32 +TEMPLATE_NAME=elf +EXTRA_EM_FILE="elf-x86" GENERATE_SHLIB_SCRIPT=yes GENERATE_PIE_SCRIPT=yes NO_SMALL_DATA=yes @@ -20,6 +23,11 @@ LARGE_SECTIONS=yes LARGE_BSS_AFTER_BSS= SEPARATE_GOTPLT="SIZEOF (.got.plt) >= 24 ? 24 : 0" IREL_IN_PLT= +# These sections are placed right after .plt section. +OTHER_PLT_SECTIONS=" +.plt.got ${RELOCATING-0} : { *(.plt.got) } +.plt.sec ${RELOCATING-0} : { *(.plt.sec) } +" if [ "x${host}" = "x${target}" ]; then case " $EMULATION_LIBPATH " in @@ -34,11 +42,11 @@ case "$target" in x86_64*-linux*|i[3-7]86-*-linux-*) case "$EMULATION_NAME" in *32*) - LIBPATH_SUFFIX=x32 + LIBPATH_SUFFIX=x32 LIBPATH_SUFFIX_SKIP=64 ;; *64*) - LIBPATH_SUFFIX=64 + LIBPATH_SUFFIX=64 ;; esac ;;