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 13ATTRS_SECTIONS='.csky.attributes 0 : { KEEP (*(.csky.attributes)) KEEP (*(.csky.attributes)) }' 14ARCH=csky 15EMBEDDED=yes 16EXTRA_EM_FILE=cskyelf 17 18# There is a problem with the NOP value - it must work for both 19# big endian and little endian systems. Unfortunately there is 20# no symmetrical mcore opcode that functions as a noop. The 21# chosen solution is to use "tst r0, r14". This is a symmetrical 22# value, and apart from the corruption of the C bit, it has no other 23# side effects. Since the carry bit is never tested without being 24# explicitly set first, and since the NOP code is only used as a 25# fill value between independently viable pieces of code, it should 26# not matter. 27NOP=0 28 29ENTRY=__start 30OTHER_BSS_SYMBOLS="__bss_start__ = . ;" 31OTHER_BSS_END_SYMBOLS="__bss_end__ = . ;" 32 33# This sets the stack to the top of the simulator memory (2^19 bytes). 34# STACK_ADDR=0x80000 35 36TEMPLATE_NAME=elf 37