ARM Compiler toolchain Using the Linker - ARM Information Center
ARM Compiler toolchain Using the Linker - ARM Information Center
ARM Compiler toolchain Using the Linker - ARM Information Center
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
9.6 Default GNU ld scripts used by armlink<br />
9.6.1 Default ld script for an executable<br />
GNU ld script support in armlink<br />
If you use command-line options that require an ld script, you can specify a script to use with<br />
<strong>the</strong> --linker_script command-line option. If you do not specify a script, <strong>the</strong> default ld script<br />
used by armlink depends on whe<strong>the</strong>r you are building an executable or a shared object:<br />
SECTIONS<br />
{<br />
PROVIDE(__executable_start = 0x0008000);<br />
. = 0x00008000 + SIZEOF_HEADERS;<br />
.interp : { *(.interp) }<br />
.note.ABI-tag : { *(.note.ABI-tag) }<br />
.hash : { *(.hash) }<br />
.dynsym : { *(.dynsym) }<br />
.dynstr : { *(.dynstr) }<br />
.version : { *(.version) }<br />
.version_d : { *(.version_d) }<br />
.version_r : { *(.version_r) }<br />
.rel.dyn : { *(.rel.dyn) }<br />
.rela.dyn : { *(.rela.dyn) }<br />
.rel.plt : { *(.rel.plt) }<br />
.rela.plt : { *(.rela.plt) }<br />
.init : { KEEP (*(.init)) }<br />
.plt : { *(.plt) }<br />
.text : { *(.text .text.*) }<br />
.fini : { KEEP (*(.fini)) }<br />
PROVIDE(__etext = .);<br />
PROVIDE(_etext = .);<br />
PROVIDE(etext = .);<br />
.rodata : { *(.rodata .rodata.*) }<br />
__exidx_start = .;<br />
.<strong>ARM</strong>.exidx : { *(.<strong>ARM</strong>.exidx*) }<br />
__exidx_end = .;<br />
. = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT<br />
(MAXPAGESIZE) - 1));<br />
. = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE));<br />
.tdata : { *(.tdata .tdata.*) }<br />
.tbss : { *(.tbss .tbss.*) }<br />
.preinit_array :<br />
{<br />
PROVIDE_HIDDEN (__preinit_array_start = .);<br />
KEEP (*(.preinit_array))<br />
PROVIDE_HIDDEN (__preinit_array_end = .);<br />
}<br />
.init_array :<br />
{<br />
PROVIDE_HIDDEN (__init_array_start = .);<br />
KEEP (*(.init_array*))<br />
PROVIDE_HIDDEN (__init_array_end = .);<br />
}<br />
.fini_array :<br />
{<br />
PROVIDE_HIDDEN (__fini_array_start = .);<br />
KEEP (*(.fini_array*))<br />
PROVIDE_HIDDEN (__fini_array_end = .);<br />
}<br />
.dynamic : { *(.dynamic) }<br />
.got : { *(.got.plt) *(.got) }<br />
<strong>ARM</strong> DUI 0474C Copyright © 2010-2011 <strong>ARM</strong>. All rights reserved. 9-8<br />
ID080411 Non-Confidential