xref: /netbsd-src/external/gpl3/binutils/dist/ld/emulparams/cskyelf.sh (revision 2718af68c3efc72c9769069b5c7f9ed36f6b9def)
1# If you change this file, please also look at files which source this one:
2# cskyelf_linux.sh
3SCRIPT_NAME=elf
4OUTPUT_FORMAT="elf32-csky-little"
5BIG_OUTPUT_FORMAT="elf32-csky-big"
6LITTLE_OUTPUT_FORMAT="elf32-csky-little"
7NO_REL_RELOCS=yes
8TARGET_PAGE_SIZE=0x400
9MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
10TEXT_START_ADDR=0x8000
11CHECK_RELOCS_AFTER_OPEN_INPUT=yes
12NONPAGED_TEXT_START_ADDR=0
13ARCH=csky
14EMBEDDED=yes
15EXTRA_EM_FILE=cskyelf
16
17# There is a problem with the NOP value - it must work for both
18# big endian and little endian systems.  Unfortunately there is
19# no symmetrical mcore opcode that functions as a noop.  The
20# chosen solution is to use "tst r0, r14".  This is a symmetrical
21# value, and apart from the corruption of the C bit, it has no other
22# side effects.  Since the carry bit is never tested without being
23# explicitly set first, and since the NOP code is only used as a
24# fill value between independently viable pieces of code, it should
25# not matter.
26NOP=0
27
28ENTRY=__start
29OTHER_BSS_SYMBOLS="__bss_start__ = . ;"
30OTHER_BSS_END_SYMBOLS="__bss_end__ = . ;"
31
32# This sets the stack to the top of the simulator memory (2^19 bytes).
33# STACK_ADDR=0x80000
34
35TEMPLATE_NAME=elf
36