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 6 TARGET_PAGE_SIZE=0x400 7 MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" 8 TEXT_START_ADDR=0x8000 9 CHECK_RELOCS_AFTER_OPEN_INPUT=yes 10 NONPAGED_TEXT_START_ADDR=0 11 ATTRS_SECTIONS='.csky.attributes 0 : { KEEP (*(.csky.attributes)) KEEP (*(.csky.attributes)) }' 12 ARCH=csky 13 EMBEDDED=yes 14 EXTRA_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. 25 NOP=0 26 27 ENTRY=__start 28 OTHER_BSS_SYMBOLS="__bss_start__ = . ;" 29 OTHER_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 34 TEMPLATE_NAME=elf 35 36 37 unset EMBEDDED 38 unset ENTRY 39 COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" 40 GENERATE_SHLIB_SCRIPT=yes 41 GENERATE_PIE_SCRIPT=yes 42 GENERATE_SHLIB_SCRIPT=yes 43 GENERATE_COMBRELOC_SCRIPT=yes 44