Commit | Line | Data |
---|---|---|
09a3f5d4 NC |
1 | SCRIPT_NAME=elf |
2 | OUTPUT_FORMAT="elf32-mcore-big" | |
3 | BIG_OUTPUT_FORMAT="elf32-mcore-big" | |
4 | LITTLE_OUTPUT_FORMAT="elf32-mcore-little" | |
5 | PAGE_SIZE=0x1000 | |
6 | TARGET_PAGE_SIZE=0x400 | |
7 | MAXPAGESIZE=0x1000 | |
8 | TEXT_START_ADDR=0 | |
9 | NONPAGED_TEXT_START_ADDR=0 | |
10 | ARCH=mcore | |
11 | EMBEDDED=yes | |
12 | ||
13 | # There is a problem with the NOP value - it must work for both | |
14 | # big endian and little endian systems. Unfortunately there is | |
15 | # no symmetrical mcore opcode that functions as a noop. The | |
16 | # chosen solution is to use "tst r0, r14". This is a symetrical | |
17 | # value, and apart from the corruption of the C bit, it has no other | |
18 | # side effects. Since the carry bit is never tested without being | |
19 | # explicitly set first, and since the NOP code is only used as a | |
20 | # fill value between independantly viable peices of code, it should | |
21 | # not matter. | |
22 | NOP=0x0e0e | |
23 | ||
24 | OTHER_BSS_SYMBOLS="__bss_start__ = . ;" | |
25 | OTHER_BSS_END_SYMBOLS="__bss_end__ = . ;" | |
26 | ||
27 | # Hmmm, there's got to be a better way. This sets the stack to the | |
28 | # top of the simulator memory (2^19 bytes). | |
29 | OTHER_RELOCATING_SECTIONS='.stack 0x80000 : { _stack = .; *(.stack) }' | |
06f2f02a NC |
30 | |
31 | TEMPLATE_NAME=elf32 | |
32 | GENERATE_SHLIB_SCRIPT=yes |