diff options
| author | aozima <[email protected]> | 2013-07-11 23:07:16 +0800 |
|---|---|---|
| committer | aozima <[email protected]> | 2013-07-11 23:07:16 +0800 |
| commit | cc8301d0f17210cf0e74232b8d58cde81e28e5e9 (patch) | |
| tree | e1bb093782f169b5a8f41ec7442d8ddad8698b61 /bsp/at91sam9260 | |
| parent | 51532ae425b4b468ba78c956ef95f214dd427c1b (diff) | |
update linker script for components auto initial.
Diffstat (limited to 'bsp/at91sam9260')
| -rwxr-xr-x | bsp/at91sam9260/at91sam9260_ram.ld | 144 |
1 files changed, 75 insertions, 69 deletions
diff --git a/bsp/at91sam9260/at91sam9260_ram.ld b/bsp/at91sam9260/at91sam9260_ram.ld index 9f3fbfc45c..501287d981 100755 --- a/bsp/at91sam9260/at91sam9260_ram.ld +++ b/bsp/at91sam9260/at91sam9260_ram.ld @@ -3,83 +3,89 @@ OUTPUT_ARCH(arm) ENTRY(_start) SECTIONS { - . = 0x20000000; + . = 0x20000000; - . = ALIGN(4); - .text : - { - *(.init) - *(.text) - *(.gnu.linkonce.t*) - - /* section information for finsh shell */ - . = ALIGN(4); - __fsymtab_start = .; - KEEP(*(FSymTab)) - __fsymtab_end = .; - . = ALIGN(4); - __vsymtab_start = .; - KEEP(*(VSymTab)) - __vsymtab_end = .; - . = ALIGN(4); + . = ALIGN(4); + .text : + { + *(.init) + *(.text) + *(.gnu.linkonce.t*) + + /* section information for finsh shell */ + . = ALIGN(4); + __fsymtab_start = .; + KEEP(*(FSymTab)) + __fsymtab_end = .; + . = ALIGN(4); + __vsymtab_start = .; + KEEP(*(VSymTab)) + __vsymtab_end = .; + . = ALIGN(4); - /* section information for modules */ - . = ALIGN(4); - __rtmsymtab_start = .; - KEEP(*(RTMSymTab)) - __rtmsymtab_end = .; - } + . = ALIGN(4); + __rt_init_start = .; + KEEP(*(SORT(.rti_fn*))) + __rt_init_end = .; + . = ALIGN(4); - . = ALIGN(4); - .rodata : { *(.rodata) *(.rodata.*) *(.gnu.linkonce.r*) *(.eh_frame) } + /* section information for modules */ + . = ALIGN(4); + __rtmsymtab_start = .; + KEEP(*(RTMSymTab)) + __rtmsymtab_end = .; + } - . = ALIGN(4); - .ctors : - { - PROVIDE(__ctors_start__ = .); - KEEP(*(SORT(.ctors.*))) - KEEP(*(.ctors)) - PROVIDE(__ctors_end__ = .); - } + . = ALIGN(4); + .rodata : { *(.rodata) *(.rodata.*) *(.gnu.linkonce.r*) *(.eh_frame) } - .dtors : - { - PROVIDE(__dtors_start__ = .); - KEEP(*(SORT(.dtors.*))) - KEEP(*(.dtors)) - PROVIDE(__dtors_end__ = .); - } + . = ALIGN(4); + .ctors : + { + PROVIDE(__ctors_start__ = .); + KEEP(*(SORT(.ctors.*))) + KEEP(*(.ctors)) + PROVIDE(__ctors_end__ = .); + } - . = ALIGN(4); - .data : - { - *(.data) - *(.data.*) - *(.gnu.linkonce.d*) - } + .dtors : + { + PROVIDE(__dtors_start__ = .); + KEEP(*(SORT(.dtors.*))) + KEEP(*(.dtors)) + PROVIDE(__dtors_end__ = .); + } - . = ALIGN(4); - .nobss : { *(.nobss) } + . = ALIGN(4); + .data : + { + *(.data) + *(.data.*) + *(.gnu.linkonce.d*) + } - . = 0x20300000; - . = ALIGN(4); - __bss_start = .; - .bss : { *(.bss) } - __bss_end = .; + . = ALIGN(4); + .nobss : { *(.nobss) } - /* stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_info 0 : { *(.debug_info) } - .debug_line 0 : { *(.debug_line) } - .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_aranges 0 : { *(.debug_aranges) } + . = 0x20300000; + . = ALIGN(4); + __bss_start = .; + .bss : { *(.bss) } + __bss_end = .; - _end = .; + /* stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } + + _end = .; } |
