diff options
Diffstat (limited to 'ld/emulparams/nds32elf_linux.sh')
-rw-r--r-- | ld/emulparams/nds32elf_linux.sh | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/ld/emulparams/nds32elf_linux.sh b/ld/emulparams/nds32elf_linux.sh new file mode 100644 index 00000000000..6d89f7924f9 --- /dev/null +++ b/ld/emulparams/nds32elf_linux.sh @@ -0,0 +1,36 @@ +DEFAULT_TEXT_START_ADDR=0 +DEFAULT_STACK_START_ADDR=0 +MACHINE= +SCRIPT_NAME=nds32elf +TEMPLATE_NAME=elf32 +EXTRA_EM_FILE=nds32elf +BIG_OUTPUT_FORMAT="elf32-nds32be-linux" +LITTLE_OUTPUT_FORMAT="elf32-nds32le-linux" +OUTPUT_FORMAT="$LITTLE_OUTPUT_FORMAT" +LIB_PATH="=/usr/local/lib:=/lib:=/usr/lib/" + +if [ "${DEFAULT_TEXT_START_ADDR}" = "0" ]; then + TEXT_START_ADDR=0x8000 +else + TEXT_START_ADDR=${DEFAULT_TEXT_START_ADDR} +fi + +ARCH=nds32 +MACHINE= +MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" +COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" + +# Hmmm, there's got to be a better way. This sets the stack to the +# top of simulator memory (32MB). +if [ "${DEFAULT_STACK_START_ADDR}" = "0" ]; then + OTHER_RELOCATING_SECTIONS='PROVIDE (_stack = 0x2000000);' +else + OTHER_RELOCATING_SECTIONS="PROVIDE (_stack = ${DEFAULT_STACK_START_ADDR});" +fi + +GENERATE_SHLIB_SCRIPT=yes +GENERATE_PIE_SCRIPT=yes + +# Instruct genscripts.sh not to compile scripts in by COMPILE_IN +# in order to use external linker scripts files. +EMULATION_LIBPATH= |