06.02.2013 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!