elf32xtensa.sh 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. SCRIPT_NAME=elfxtensa
  2. TEMPLATE_NAME=elf
  3. EXTRA_EM_FILE=xtensaelf
  4. OUTPUT_FORMAT=undefined
  5. BIG_OUTPUT_FORMAT="elf32-xtensa-be"
  6. LITTLE_OUTPUT_FORMAT="elf32-xtensa-le"
  7. NO_REL_RELOCS=yes
  8. TEXT_START_ADDR=0x400000
  9. MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
  10. COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
  11. ARCH=xtensa
  12. MACHINE=
  13. GENERATE_SHLIB_SCRIPT=yes
  14. GENERATE_PIE_SCRIPT=yes
  15. GENERATE_COMBRELOC_SCRIPT=yes
  16. NO_SMALL_DATA=yes
  17. TEXT_PLT=yes
  18. PLT="/* .plt* sections are embedded in .text */"
  19. GOT=".got ${RELOCATING-0} : { *(.got) }"
  20. OTHER_READONLY_SECTIONS="
  21. .got.loc ${RELOCATING-0} : { *(.got.loc) }
  22. .xt_except_table ${RELOCATING-0} : ONLY_IF_RO { KEEP (*(.xt_except_table${RELOCATING+ .xt_except_table.* .gnu.linkonce.e.*})) }
  23. "
  24. OTHER_RELRO_SECTIONS="
  25. .xt_except_table ${RELOCATING-0} : ONLY_IF_RW { KEEP (*(.xt_except_table${RELOCATING+ .xt_except_table.* .gnu.linkonce.e.*})) }
  26. "
  27. OTHER_READWRITE_SECTIONS="
  28. .xt_except_desc ${RELOCATING-0} :
  29. {
  30. *(.xt_except_desc${RELOCATING+ .xt_except_desc.* .gnu.linkonce.h.*})
  31. ${RELOCATING+*(.xt_except_desc_end)}
  32. }
  33. "
  34. OTHER_SDATA_SECTIONS="
  35. .lit4 ${RELOCATING-0} :
  36. {
  37. ${RELOCATING+PROVIDE (_lit4_start = .);}
  38. *(.lit4${RELOCATING+ .lit4.* .gnu.linkonce.lit4.*})
  39. ${RELOCATING+PROVIDE (_lit4_end = .);}
  40. }
  41. "
  42. OTHER_SECTIONS="
  43. .xt.lit 0 : { KEEP (*(.xt.lit${RELOCATING+ .xt.lit.* .gnu.linkonce.p.*})) }
  44. .xt.insn 0 : { KEEP (*(.xt.insn${RELOCATING+ .gnu.linkonce.x.*})) }
  45. .xt.prop 0 : { KEEP (*(.xt.prop${RELOCATING+ .xt.prop.* .gnu.linkonce.prop.*})) }
  46. "