# This is an ELF platform. SCRIPT_NAME=elf ARCH=riscv NO_REL_RELOCS=yes TEMPLATE_NAME=elf32 EXTRA_EM_FILE=riscvelf ELFSIZE=32 if test `echo "$host" | sed -e s/64//` = `echo "$target" | sed -e s/64//`; then case " $EMULATION_LIBPATH " in *" ${EMULATION_NAME} "*) NATIVE=yes ;; esac fi GENERATE_SHLIB_SCRIPT=yes GENERATE_PIE_SCRIPT=yes TEXT_START_ADDR=0x10000 MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" SDATA_START_SYMBOLS="_gp = . + 0x800; *(.srodata.cst16) *(.srodata.cst8) *(.srodata.cst4) *(.srodata.cst2) *(.srodata .srodata.*)" # Place the data section before text section. This enables more compact # global variable access for RVC code via linker relaxation. INITIAL_READONLY_SECTIONS=" .data : { *(.data) *(.data.*) *(.gnu.linkonce.d.*) } .rodata : { *(.rodata) *(.rodata.*) *(.gnu.linkonce.r.*) } .srodata : { ${SDATA_START_SYMBOLS} } .sdata : { *(.sdata .sdata.* .gnu.linkonce.s.*) } .sbss : { *(.dynsbss) *(.sbss .sbss.* .gnu.linkonce.sb.*) } .bss : { *(.dynbss) *(.bss .bss.* .gnu.linkonce.b.*) *(COMMON) } . = ALIGN(${SEGMENT_SIZE}) + (. & (${MAXPAGESIZE} - 1));" INITIAL_READONLY_SECTIONS=".interp : { *(.interp) } ${CREATE_PIE-${INITIAL_READONLY_SECTIONS}}" INITIAL_READONLY_SECTIONS="${RELOCATING+${CREATE_SHLIB-${INITIAL_READONLY_SECTIONS}}}" SDATA_START_SYMBOLS="${CREATE_PIE+${SDATA_START_SYMBOLS}}"