Add support for RISC-V architecture.
[deliverable/binutils-gdb.git] / ld / emulparams / elf32lriscv-defs.sh
CommitLineData
e23eba97
NC
1# This is an ELF platform.
2SCRIPT_NAME=elf
3ARCH=riscv
4NO_REL_RELOCS=yes
5
6TEMPLATE_NAME=elf32
7EXTRA_EM_FILE=riscvelf
8
9ELFSIZE=32
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
19GENERATE_SHLIB_SCRIPT=yes
20GENERATE_PIE_SCRIPT=yes
21
22TEXT_START_ADDR=0x10000
23MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
24COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
25
26SDATA_START_SYMBOLS="_gp = . + 0x800;
27 *(.srodata.cst16) *(.srodata.cst8) *(.srodata.cst4) *(.srodata.cst2) *(.srodata .srodata.*)"
28
29# Place the data section before text section. This enables more compact
30# global variable access for RVC code via linker relaxation.
31INITIAL_READONLY_SECTIONS="
32 .data : { *(.data) *(.data.*) *(.gnu.linkonce.d.*) }
33 .rodata : { *(.rodata) *(.rodata.*) *(.gnu.linkonce.r.*) }
34 .srodata : { ${SDATA_START_SYMBOLS} }
35 .sdata : { *(.sdata .sdata.* .gnu.linkonce.s.*) }
36 .sbss : { *(.dynsbss) *(.sbss .sbss.* .gnu.linkonce.sb.*) }
37 .bss : { *(.dynbss) *(.bss .bss.* .gnu.linkonce.b.*) *(COMMON) }
38 . = ALIGN(${SEGMENT_SIZE}) + (. & (${MAXPAGESIZE} - 1));"
39INITIAL_READONLY_SECTIONS=".interp : { *(.interp) } ${CREATE_PIE-${INITIAL_READONLY_SECTIONS}}"
40INITIAL_READONLY_SECTIONS="${RELOCATING+${CREATE_SHLIB-${INITIAL_READONLY_SECTIONS}}}"
41
42SDATA_START_SYMBOLS="${CREATE_PIE+${SDATA_START_SYMBOLS}}"
This page took 0.024634 seconds and 4 git commands to generate.