2016-11-02 00:45:57 +08:00
|
|
|
# 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
|
|
|
|
|
2018-01-06 06:29:49 +08:00
|
|
|
# Enable shared library support for everything except an embedded elf target.
|
|
|
|
case "$target" in
|
|
|
|
riscv*-elf)
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
GENERATE_SHLIB_SCRIPT=yes
|
|
|
|
GENERATE_PIE_SCRIPT=yes
|
|
|
|
;;
|
|
|
|
esac
|
2016-11-02 00:45:57 +08:00
|
|
|
|
|
|
|
TEXT_START_ADDR=0x10000
|
|
|
|
MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
|
|
|
|
COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
|
|
|
|
|
Really fix riscv shared library __global_pointer$ problem.
ld/
* emulparams/elf32lriscv-defs.sh (SDATA_START_SYMBOLS): Remove HIDDEN.
Don't define __global_pointer$ when CREATE_SHLIB.
* testsuite/ld-riscv-elf/gp-hidden-64.rd,
* testsuite/ld-riscv-elf/gp-hidden-lib.rd,
* testsuite/ld-riscv-elf/gp-hidden-lib.s,
* testsuite/ld-riscv-elf/gp-hidden-ver-64.rd,
* testsuite/ld-riscv-elf/gp-hidden-ver.rd,
* testsuite/ld-riscv-elf/gp-hidden-ver.s,
* testsuite/ld-riscv-elf/gp-hidden-ver.ver,
* testsuite/ld-riscv-elf/gp-hidden.rd,
* testsuite/ld-riscv-elf/gp-hidden.s,
* testsuite/ld-riscv-elf/gp-hidden.sd: Delete.
* testsuite/ld-riscv-elf/gp-test-lib.sd,
* testsuite/ld-riscv-elf/gp-test.s,
* testsuite/ld-riscv-elf/gp-test.sd: New.
* testsuite/ld-riscv-elf/ld-riscv-elf.exp: Rewrite gp tests.
2017-12-06 06:42:12 +08:00
|
|
|
SDATA_START_SYMBOLS="__global_pointer$ = . + 0x800;"
|
|
|
|
SDATA_START_SYMBOLS="${CREATE_SHLIB-${SDATA_START_SYMBOLS}}
|
2016-11-02 00:45:57 +08:00
|
|
|
*(.srodata.cst16) *(.srodata.cst8) *(.srodata.cst4) *(.srodata.cst2) *(.srodata .srodata.*)"
|
|
|
|
|
|
|
|
INITIAL_READONLY_SECTIONS=".interp : { *(.interp) } ${CREATE_PIE-${INITIAL_READONLY_SECTIONS}}"
|
|
|
|
INITIAL_READONLY_SECTIONS="${RELOCATING+${CREATE_SHLIB-${INITIAL_READONLY_SECTIONS}}}"
|