1source_sh ${srcdir}/emulparams/plt_unwind.sh 2source_sh ${srcdir}/emulparams/extern_protected_data.sh 3source_sh ${srcdir}/emulparams/dynamic_undefined_weak.sh 4source_sh ${srcdir}/emulparams/reloc_overflow.sh 5source_sh ${srcdir}/emulparams/call_nop.sh 6source_sh ${srcdir}/emulparams/cet.sh 7SCRIPT_NAME=elf 8ELFSIZE=64 9OUTPUT_FORMAT="elf64-x86-64" 10NO_REL_RELOCS=yes 11TEXT_START_ADDR=0x400000 12MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" 13COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" 14ARCH="i386:x86-64" 15MACHINE= 16TEMPLATE_NAME=elf 17EXTRA_EM_FILE="elf-x86" 18GENERATE_SHLIB_SCRIPT=yes 19GENERATE_PIE_SCRIPT=yes 20NO_SMALL_DATA=yes 21LARGE_SECTIONS=yes 22LARGE_BSS_AFTER_BSS= 23SEPARATE_GOTPLT="SIZEOF (.got.plt) >= 24 ? 24 : 0" 24IREL_IN_PLT= 25# These sections are placed right after .plt section. 26OTHER_PLT_SECTIONS=" 27.plt.got ${RELOCATING-0} : { *(.plt.got) } 28.plt.sec ${RELOCATING-0} : { *(.plt.sec) } 29" 30 31if [ "x${host}" = "x${target}" ]; then 32 case " $EMULATION_LIBPATH " in 33 *" ${EMULATION_NAME} "*) 34 NATIVE=yes 35 esac 36fi 37 38# Linux/Solaris modify the default library search path to first include 39# a 64-bit specific directory. 40case "$target" in 41 x86_64*-linux*|i[3-7]86-*-linux-*) 42 case "$EMULATION_NAME" in 43 *64*) 44 LIBPATH_SUFFIX=64 45 PARSE_AND_LIST_OPTIONS_BNDPLT=' 46 fprintf (file, _("\ 47 -z bndplt Always generate BND prefix in PLT entries\n")); 48' 49 PARSE_AND_LIST_ARGS_CASE_Z_BNDPLT=' 50 else if (strcmp (optarg, "bndplt") == 0) 51 params.bndplt = TRUE; 52' 53 PARSE_AND_LIST_OPTIONS="$PARSE_AND_LIST_OPTIONS $PARSE_AND_LIST_OPTIONS_BNDPLT" 54 PARSE_AND_LIST_ARGS_CASE_Z="$PARSE_AND_LIST_ARGS_CASE_Z $PARSE_AND_LIST_ARGS_CASE_Z_BNDPLT" 55 ;; 56 esac 57 ;; 58 *-*-solaris2*) 59 LIBPATH_SUFFIX=/amd64 60 ELF_INTERPRETER_NAME=\"/lib/amd64/ld.so.1\" 61 ;; 62esac 63