cskyelf_linux.sh 1.3 KB

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