xref: /netbsd-src/external/gpl3/binutils/dist/ld/emulparams/elf_i386.sh (revision 9fd8799cb5ceb66c69f2eb1a6d26a1d587ba1f1e)
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/call_nop.sh
5source_sh ${srcdir}/emulparams/cet.sh
6SCRIPT_NAME=elf
7OUTPUT_FORMAT="elf32-i386"
8NO_RELA_RELOCS=yes
9TEXT_START_ADDR=0x08048000
10MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
11COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
12ARCH=i386
13MACHINE=
14TEMPLATE_NAME=elf
15EXTRA_EM_FILE="elf-x86"
16GENERATE_SHLIB_SCRIPT=yes
17#ELFSIZE=32
18GENERATE_PIE_SCRIPT=yes
19NO_SMALL_DATA=yes
20SEPARATE_GOTPLT="SIZEOF (.got.plt) >= 12 ? 12 : 0"
21IREL_IN_PLT=
22
23case "$target" in
24  x86_64-*-netbsd*)
25    case "$EMULATION_NAME" in
26      *i386*)
27       LIB_PATH='=/usr/lib/i386'
28       ;;
29    esac
30    ;;
31esac
32
33# These sections are placed right after .plt section.
34OTHER_PLT_SECTIONS="
35.plt.got      ${RELOCATING-0} : { *(.plt.got) }
36.plt.sec      ${RELOCATING-0} : { *(.plt.sec) }
37"
38
39# Linux modify the default library search path to first include
40# a 32-bit specific directory.
41case "$target" in
42  x86_64*-linux* | i[3-7]86*-linux*)
43    case "$EMULATION_NAME" in
44      *i386*)
45	LIBPATH_SUFFIX=32
46	LIBPATH_SUFFIX_SKIP=64
47	;;
48    esac
49    ;;
50esac
51