[x86] Resolve non-PIC undefweak symbols in executable
[external/binutils.git] / ld / emulparams / elf32_x86_64.sh
index fb94003..1b285c5 100644 (file)
@@ -1,4 +1,7 @@
 . ${srcdir}/emulparams/plt_unwind.sh
+. ${srcdir}/emulparams/extern_protected_data.sh
+. ${srcdir}/emulparams/dynamic_undefined_weak.sh
+. ${srcdir}/emulparams/call_nop.sh
 SCRIPT_NAME=elf
 ELFSIZE=32
 OUTPUT_FORMAT="elf32-x86-64"
@@ -13,7 +16,8 @@ GENERATE_SHLIB_SCRIPT=yes
 GENERATE_PIE_SCRIPT=yes
 NO_SMALL_DATA=yes
 LARGE_SECTIONS=yes
-SEPARATE_GOTPLT=24
+LARGE_BSS_AFTER_BSS=
+SEPARATE_GOTPLT="SIZEOF (.got.plt) >= 24 ? 24 : 0"
 IREL_IN_PLT=
 
 if [ "x${host}" = "x${target}" ]; then
@@ -28,8 +32,13 @@ fi
 case "$target" in
   x86_64*-linux*|i[3-7]86-*-linux-*)
     case "$EMULATION_NAME" in
-      *32*) LIBPATH_SUFFIX=x32 ;;
-      *64*) LIBPATH_SUFFIX=64 ;;
+      *32*)
+        LIBPATH_SUFFIX=x32
+       LIBPATH_SUFFIX_SKIP=64
+       ;;
+      *64*)
+        LIBPATH_SUFFIX=64
+       ;;
     esac
     ;;
 esac