Advertisement
carlsondc

msp430.x

Dec 29th, 2011
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.04 KB | None | 0 0
  1. /* Default linker script, for normal executables */
  2. OUTPUT_FORMAT("elf32-msp430")
  3. OUTPUT_ARCH("msp430")
  4. INCLUDE memory.x
  5. INCLUDE periph.x
  6. SECTIONS
  7. {
  8. /* Read-only sections, merged into text segment. */
  9. .hash : { *(.hash) }
  10. .dynsym : { *(.dynsym) }
  11. .dynstr : { *(.dynstr) }
  12. .gnu.version : { *(.gnu.version) }
  13. .gnu.version_d : { *(.gnu.version_d) }
  14. .gnu.version_r : { *(.gnu.version_r) }
  15. .rel.init : { *(.rel.init) }
  16. .rela.init : { *(.rela.init) }
  17. .rel.text :
  18. {
  19. *(.rel.text)
  20. *(.rel.text.*)
  21. *(.rel.gnu.linkonce.t*)
  22. }
  23. .rela.text :
  24. {
  25. *(.rela.text)
  26. *(.rela.text.*)
  27. *(.rela.gnu.linkonce.t*)
  28. }
  29. .rel.fini : { *(.rel.fini) }
  30. .rela.fini : { *(.rela.fini) }
  31. .rel.rodata :
  32. {
  33. *(.rel.rodata)
  34. *(.rel.rodata.*)
  35. *(.rel.gnu.linkonce.r*)
  36. }
  37. .rela.rodata :
  38. {
  39. *(.rela.rodata)
  40. *(.rela.rodata.*)
  41. *(.rela.gnu.linkonce.r*)
  42. }
  43. .rel.data :
  44. {
  45. *(.rel.data)
  46. *(.rel.data.*)
  47. *(.rel.gnu.linkonce.d*)
  48. }
  49. .rela.data :
  50. {
  51. *(.rela.data)
  52. *(.rela.data.*)
  53. *(.rela.gnu.linkonce.d*)
  54. }
  55. .rel.ctors : { *(.rel.ctors) }
  56. .rela.ctors : { *(.rela.ctors) }
  57. .rel.dtors : { *(.rel.dtors) }
  58. .rela.dtors : { *(.rela.dtors) }
  59. .rel.got : { *(.rel.got) }
  60. .rela.got : { *(.rela.got) }
  61. .rel.bss : { *(.rel.bss) }
  62. .rela.bss : { *(.rela.bss) }
  63. .rel.plt : { *(.rel.plt) }
  64. .rela.plt : { *(.rela.plt) }
  65. /* Internal text space. */
  66. .text :
  67. {
  68. . = ALIGN(2);
  69. KEEP(*(.init))
  70. KEEP(*(.init0)) /* Start here after reset. */
  71. KEEP(*(.init1)) /* User definable. */
  72. KEEP(*(.init2)) /* Initialize stack. */
  73. KEEP(*(.init3)) /* Initialize hardware, user definable. */
  74. KEEP(*(.init4)) /* Copy data to .data, clear bss. */
  75. KEEP(*(.init5)) /* User definable. */
  76. KEEP(*(.init6)) /* C++ constructors. */
  77. KEEP(*(.init7)) /* User definable. */
  78. KEEP(*(.init8)) /* User definable. */
  79. KEEP(*(.init9)) /* Call main(). */
  80. KEEP(*(.fini9)) /* Falls into here after main(). User definable. */
  81. KEEP(*(.fini8)) /* User definable. */
  82. KEEP(*(.fini7)) /* User definable. */
  83. KEEP(*(.fini6)) /* C++ destructors. */
  84. KEEP(*(.fini5)) /* User definable. */
  85. KEEP(*(.fini4)) /* User definable. */
  86. KEEP(*(.fini3)) /* User definable. */
  87. KEEP(*(.fini2)) /* User definable. */
  88. KEEP(*(.fini1)) /* User definable. */
  89. KEEP(*(.fini0)) /* Infinite loop after program termination. */
  90. KEEP(*(.fini))
  91. . = ALIGN(2);
  92. __ctors_start = . ;
  93. KEEP(*(.ctors))
  94. __ctors_end = . ;
  95. __dtors_start = . ;
  96. KEEP(*(.dtors))
  97. __dtors_end = . ;
  98. . = ALIGN(2);
  99. *(.text)
  100. . = ALIGN(2);
  101. *(.text.*)
  102. _etext = .;
  103. } > REGION_TEXT
  104. .data :
  105. {
  106. . = ALIGN(2);
  107. PROVIDE (__data_start = .) ;
  108. *(.data)
  109. *(SORT_BY_ALIGNMENT(.data.*))
  110. . = ALIGN(2);
  111. *(.gnu.linkonce.d*)
  112. . = ALIGN(2);
  113. _edata = . ;
  114. } > REGION_DATA AT > REGION_TEXT
  115. PROVIDE (__data_load_start = LOADADDR(.data) );
  116. PROVIDE (__data_size = SIZEOF(.data) );
  117. .bss :
  118. {
  119. PROVIDE (__bss_start = .) ;
  120. *(.bss)
  121. *(SORT_BY_ALIGNMENT(.bss.*))
  122. *(COMMON)
  123. PROVIDE (__bss_end = .) ;
  124. _end = . ;
  125. } > REGION_DATA
  126. PROVIDE (__bss_size = SIZEOF(.bss) );
  127. .noinit :
  128. {
  129. PROVIDE (__noinit_start = .) ;
  130. *(.noinit)
  131. *(.noinit.*)
  132. *(COMMON)
  133. PROVIDE (__noinit_end = .) ;
  134. _end = . ;
  135. } > REGION_DATA
  136. /* Information memory. */
  137. .infomem :
  138. {
  139. *(.infomem)
  140. . = ALIGN(2);
  141. *(.infomem.*)
  142. } > infomem
  143. .vectors :
  144. {
  145. PROVIDE (__vectors_start = .) ;
  146. KEEP(*(.vectors*))
  147. _vectors_end = . ;
  148. } > vectors
  149. .bslskey :
  150. {
  151. PROVIDE (__bslskey_start = .) ;
  152. KEEP(*(.bslskey*))
  153. _bslskey_end = . ;
  154. } > bslskey
  155. .fartext :
  156. {
  157. . = ALIGN(2);
  158. *(.fartext)
  159. . = ALIGN(2);
  160. *(.fartext.*)
  161. _efartext = .;
  162. } > REGION_FAR_ROM
  163. /* Stabs for profiling information*/
  164. .profiler 0 : { *(.profiler) }
  165. /* Stabs debugging sections. */
  166. .stab 0 : { *(.stab) }
  167. .stabstr 0 : { *(.stabstr) }
  168. .stab.excl 0 : { *(.stab.excl) }
  169. .stab.exclstr 0 : { *(.stab.exclstr) }
  170. .stab.index 0 : { *(.stab.index) }
  171. .stab.indexstr 0 : { *(.stab.indexstr) }
  172. .comment 0 : { *(.comment) }
  173. /* DWARF debug sections.
  174. Symbols in the DWARF debugging sections are relative to the beginning
  175. of the section so we begin them at 0. */
  176. /* DWARF 1 */
  177. .debug 0 : { *(.debug) }
  178. .line 0 : { *(.line) }
  179. /* GNU DWARF 1 extensions */
  180. .debug_srcinfo 0 : { *(.debug_srcinfo) }
  181. .debug_sfnames 0 : { *(.debug_sfnames) }
  182. /* DWARF 1.1 and DWARF 2 */
  183. .debug_aranges 0 : { *(.debug_aranges) }
  184. .debug_pubnames 0 : { *(.debug_pubnames) }
  185. /* DWARF 2 */
  186. .debug_info 0 : { *(.debug_info) *(.gnu.linkonce.wi.*) }
  187. .debug_abbrev 0 : { *(.debug_abbrev) }
  188. .debug_line 0 : { *(.debug_line) }
  189. .debug_frame 0 : { *(.debug_frame) }
  190. .debug_str 0 : { *(.debug_str) }
  191. .debug_loc 0 : { *(.debug_loc) }
  192. .debug_macinfo 0 : { *(.debug_macinfo) }
  193. /* DWARF 3 */
  194. .debug_pubtypes 0 : { *(.debug_pubtypes) }
  195. .debug_ranges 0 : { *(.debug_ranges) }
  196. PROVIDE (__stack = ORIGIN(ram) + LENGTH(ram));
  197. PROVIDE (__data_start_rom = _etext);
  198. PROVIDE (__data_end_rom = _etext + SIZEOF (.data));
  199. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement