xref: /netbsd-src/external/gpl3/binutils/dist/ld/emulparams/elf64loongarch-defs.sh (revision a45db23f655e22f0c2354600d3b3c2cb98abf2dc)
1# This is an ELF platform.
2SCRIPT_NAME=elf
3ARCH=loongarch
4NO_REL_RELOCS=yes
5
6TEMPLATE_NAME=elf
7EXTRA_EM_FILE=loongarchelf
8
9ELFSIZE=64
10
11if test `echo "$host" | sed -e s/64//` = `echo "$target" | sed -e s/64//`; then
12  case " $EMULATION_LIBPATH " in
13    *" ${EMULATION_NAME} "*)
14      NATIVE=yes
15      ;;
16  esac
17fi
18
19# Enable shared library support for everything except an embedded elf target.
20case "$target" in
21  loongarch*-elf)
22    ;;
23  *)
24    GENERATE_SHLIB_SCRIPT=yes
25    GENERATE_PIE_SCRIPT=yes
26    ;;
27esac
28
29# In all cases, the number is big-endian.
30# LoongArch nop is 'andi $r0,$r0,0'.
31NOP=0x00004003
32
33TEXT_START_ADDR=0x120000000
34MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
35COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
36
37SEPARATE_GOTPLT=0
38INITIAL_READONLY_SECTIONS=".interp         : { *(.interp) } ${CREATE_PIE-${INITIAL_READONLY_SECTIONS}}"
39INITIAL_READONLY_SECTIONS="${RELOCATING+${CREATE_SHLIB-${INITIAL_READONLY_SECTIONS}}}"
40