1SCRIPT_NAME=elf
2OUTPUT_FORMAT="elf32-csky-little"
3BIG_OUTPUT_FORMAT="elf32-csky-big"
4LITTLE_OUTPUT_FORMAT="elf32-csky-little"
5NO_REL_RELOCS=yes
6TARGET_PAGE_SIZE=0x400
7MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
8TEXT_START_ADDR=0x8000
9CHECK_RELOCS_AFTER_OPEN_INPUT=yes
10NONPAGED_TEXT_START_ADDR=0
11ATTRS_SECTIONS='.csky.attributes 0 : { KEEP (*(.csky.attributes)) KEEP (*(.csky.attributes)) }'
12ARCH=csky
13EMBEDDED=yes
14EXTRA_EM_FILE=cskyelf
15
16# There is a problem with the NOP value - it must work for both
17# big endian and little endian systems.  Unfortunately there is
18# no symmetrical mcore opcode that functions as a noop.  The
19# chosen solution is to use "tst r0, r14".  This is a symmetrical
20# value, and apart from the corruption of the C bit, it has no other
21# side effects.  Since the carry bit is never tested without being
22# explicitly set first, and since the NOP code is only used as a
23# fill value between independently viable pieces of code, it should
24# not matter.
25NOP=0
26
27ENTRY=__start
28OTHER_BSS_SYMBOLS="__bss_start__ = . ;"
29OTHER_BSS_END_SYMBOLS="__bss_end__ = . ;"
30
31# This sets the stack to the top of the simulator memory (2^19 bytes).
32# STACK_ADDR=0x80000
33
34TEMPLATE_NAME=elf
35
36
37unset EMBEDDED
38unset ENTRY
39COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
40GENERATE_SHLIB_SCRIPT=yes
41GENERATE_PIE_SCRIPT=yes
42GENERATE_SHLIB_SCRIPT=yes
43GENERATE_COMBRELOC_SCRIPT=yes
44