Commit | Line | Data |
---|---|---|
b8891f8d AJ |
1 | SCRIPT_NAME=elf |
2 | OUTPUT_FORMAT="elf32-csky-little" | |
3 | BIG_OUTPUT_FORMAT="elf32-csky-big" | |
4 | LITTLE_OUTPUT_FORMAT="elf32-csky-little" | |
5 | NO_REL_RELOCS=yes | |
b8891f8d AJ |
6 | TARGET_PAGE_SIZE=0x400 |
7 | MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" | |
1b03c32c CQ |
8 | TEXT_START_ADDR=0x60000000 |
9 | DATA_ADDR=0x20000000 | |
10 | ||
11 | # The default address spaces | |
12 | # RAM: 0x0 - 0x1FFFFFFF | |
13 | # RAM: 0x20000000 - 0x3FFFFFFF | |
14 | # RAM: 0x60000000 - 0x7FFFFFFF | |
15 | # | |
16 | # There are some symbols used in the crt.S | |
17 | # __stack: The stack top | |
18 | # __heap_start: The heap start | |
19 | # __heap_end: The heap end | |
20 | # __csky_exit: Be used by qemu to check exit | |
21 | ||
22 | OTHER_SYMBOLS=' | |
23 | PROVIDE (__stack = 0x01000000 - 0x8); | |
24 | PROVIDE (__heap_start = 0x00000100); | |
25 | PROVIDE (__heap_end = 0x00900000); | |
26 | PROVIDE (__csky_exit = 0x10002000); | |
27 | ' | |
b8891f8d AJ |
28 | CHECK_RELOCS_AFTER_OPEN_INPUT=yes |
29 | NONPAGED_TEXT_START_ADDR=0 | |
0861f561 | 30 | ATTRS_SECTIONS='.csky.attributes 0 : { KEEP (*(.csky.attributes)) KEEP (*(.csky.attributes)) }' |
b8891f8d AJ |
31 | ARCH=csky |
32 | EMBEDDED=yes | |
33 | EXTRA_EM_FILE=cskyelf | |
34 | ||
35 | # There is a problem with the NOP value - it must work for both | |
36 | # big endian and little endian systems. Unfortunately there is | |
37 | # no symmetrical mcore opcode that functions as a noop. The | |
38 | # chosen solution is to use "tst r0, r14". This is a symmetrical | |
39 | # value, and apart from the corruption of the C bit, it has no other | |
40 | # side effects. Since the carry bit is never tested without being | |
41 | # explicitly set first, and since the NOP code is only used as a | |
42 | # fill value between independently viable pieces of code, it should | |
43 | # not matter. | |
44 | NOP=0 | |
45 | ||
46 | ENTRY=__start | |
1b03c32c CQ |
47 | OTHER_BSS_SYMBOLS="__sbss__ = . ;" |
48 | OTHER_BSS_END_SYMBOLS="__ebss__ = . ;" | |
b8891f8d AJ |
49 | |
50 | # This sets the stack to the top of the simulator memory (2^19 bytes). | |
51 | # STACK_ADDR=0x80000 | |
52 | ||
075a2b89 | 53 | TEMPLATE_NAME=elf |