* shared/startup/linkcmds.base: Removed workaround since LD 2.21 is
	fixed now.
This commit is contained in:
Sebastian Huber
2011-01-26 12:21:26 +00:00
parent 7fe5a88c88
commit 432a63882d
2 changed files with 7 additions and 46 deletions

View File

@@ -1,3 +1,8 @@
2011-01-26 Sebastian Huber <sebastian.huber@embedded-brains.de>
* shared/startup/linkcmds.base: Removed workaround since LD 2.21 is
fixed now.
2010-12-16 Sebastian Huber <sebastian.huber@embedded-brains.de> 2010-12-16 Sebastian Huber <sebastian.huber@embedded-brains.de>
* shared/lpc/include/lpc-i2s.h: Documentation. Fixed defines. * shared/lpc/include/lpc-i2s.h: Documentation. Fixed defines.

View File

@@ -7,7 +7,7 @@
*/ */
/* /*
* Copyright (c) 2008-2010 embedded brains GmbH. All rights reserved. * Copyright (c) 2008-2011 embedded brains GmbH. All rights reserved.
* *
* embedded brains GmbH * embedded brains GmbH
* Obere Lagerstr. 30 * Obere Lagerstr. 30
@@ -55,15 +55,11 @@ bsp_stack_und_size = ALIGN (bsp_stack_und_size, bsp_stack_align);
bsp_stack_main_size = DEFINED (bsp_stack_main_size) ? bsp_stack_main_size : 0; bsp_stack_main_size = DEFINED (bsp_stack_main_size) ? bsp_stack_main_size : 0;
bsp_stack_main_size = ALIGN (bsp_stack_main_size, bsp_stack_align); bsp_stack_main_size = ALIGN (bsp_stack_main_size, bsp_stack_align);
/* FIXME: This should go away when LD is fixed */
bsp_section_align = DEFINED (bsp_section_align) ? bsp_section_align : 32;
SECTIONS { SECTIONS {
.start : { .start : {
bsp_section_start_begin = .; bsp_section_start_begin = .;
KEEP (*(.bsp_start_text)) KEEP (*(.bsp_start_text))
KEEP (*(.bsp_start_data)) KEEP (*(.bsp_start_data))
. = ALIGN (bsp_section_align);
bsp_section_start_end = .; bsp_section_start_end = .;
} > REGION_START AT > REGION_START } > REGION_START AT > REGION_START
bsp_section_start_size = bsp_section_start_end - bsp_section_start_begin; bsp_section_start_size = bsp_section_start_end - bsp_section_start_begin;
@@ -100,7 +96,6 @@ SECTIONS {
bsp_stack_main_end = .; bsp_stack_main_end = .;
*(.bsp_vector) *(.bsp_vector)
. = ALIGN (bsp_section_align);
bsp_section_vector_end = .; bsp_section_vector_end = .;
} > REGION_VECTOR AT > REGION_VECTOR } > REGION_VECTOR AT > REGION_VECTOR
bsp_section_vector_size = bsp_section_vector_end - bsp_section_vector_begin; bsp_section_vector_size = bsp_section_vector_end - bsp_section_vector_begin;
@@ -114,40 +109,30 @@ SECTIONS {
.interp : { .interp : {
bsp_section_text_begin = .; bsp_section_text_begin = .;
*(.interp) *(.interp)
. = ALIGN (bsp_section_align);
} > REGION_TEXT AT > REGION_TEXT_LOAD } > REGION_TEXT AT > REGION_TEXT_LOAD
.note.gnu.build-id : { .note.gnu.build-id : {
*(.note.gnu.build-id) *(.note.gnu.build-id)
. = ALIGN (bsp_section_align);
} > REGION_TEXT AT > REGION_TEXT_LOAD } > REGION_TEXT AT > REGION_TEXT_LOAD
.hash : { .hash : {
*(.hash) *(.hash)
. = ALIGN (bsp_section_align);
} > REGION_TEXT AT > REGION_TEXT_LOAD } > REGION_TEXT AT > REGION_TEXT_LOAD
.gnu.hash : { .gnu.hash : {
*(.gnu.hash) *(.gnu.hash)
. = ALIGN (bsp_section_align);
} > REGION_TEXT AT > REGION_TEXT_LOAD } > REGION_TEXT AT > REGION_TEXT_LOAD
.dynsym : { .dynsym : {
*(.dynsym) *(.dynsym)
. = ALIGN (bsp_section_align);
} > REGION_TEXT AT > REGION_TEXT_LOAD } > REGION_TEXT AT > REGION_TEXT_LOAD
.dynstr : { .dynstr : {
*(.dynstr) *(.dynstr)
. = ALIGN (bsp_section_align);
} > REGION_TEXT AT > REGION_TEXT_LOAD } > REGION_TEXT AT > REGION_TEXT_LOAD
.gnu.version : { .gnu.version : {
*(.gnu.version) *(.gnu.version)
. = ALIGN (bsp_section_align);
} > REGION_TEXT AT > REGION_TEXT_LOAD } > REGION_TEXT AT > REGION_TEXT_LOAD
.gnu.version_d : { .gnu.version_d : {
*(.gnu.version_d) *(.gnu.version_d)
. = ALIGN (bsp_section_align); } > REGION_TEXT AT > REGION_TEXT_LOAD
}
> REGION_TEXT AT > REGION_TEXT_LOAD
.gnu.version_r : { .gnu.version_r : {
*(.gnu.version_r) *(.gnu.version_r)
. = ALIGN (bsp_section_align);
} > REGION_TEXT AT > REGION_TEXT_LOAD } > REGION_TEXT AT > REGION_TEXT_LOAD
.rel.dyn : { .rel.dyn : {
*(.rel.init) *(.rel.init)
@@ -167,7 +152,6 @@ SECTIONS {
PROVIDE_HIDDEN (__rel_iplt_end = .); PROVIDE_HIDDEN (__rel_iplt_end = .);
PROVIDE_HIDDEN (__rela_iplt_start = .); PROVIDE_HIDDEN (__rela_iplt_start = .);
PROVIDE_HIDDEN (__rela_iplt_end = .); PROVIDE_HIDDEN (__rela_iplt_end = .);
. = ALIGN (bsp_section_align);
} > REGION_TEXT AT > REGION_TEXT_LOAD } > REGION_TEXT AT > REGION_TEXT_LOAD
.rela.dyn : { .rela.dyn : {
*(.rela.init) *(.rela.init)
@@ -186,31 +170,24 @@ SECTIONS {
PROVIDE_HIDDEN (__rela_iplt_start = .); PROVIDE_HIDDEN (__rela_iplt_start = .);
*(.rela.iplt) *(.rela.iplt)
PROVIDE_HIDDEN (__rela_iplt_end = .); PROVIDE_HIDDEN (__rela_iplt_end = .);
. = ALIGN (bsp_section_align);
} > REGION_TEXT AT > REGION_TEXT_LOAD } > REGION_TEXT AT > REGION_TEXT_LOAD
.rel.plt : { .rel.plt : {
*(.rel.plt) *(.rel.plt)
. = ALIGN (bsp_section_align);
} > REGION_TEXT AT > REGION_TEXT_LOAD } > REGION_TEXT AT > REGION_TEXT_LOAD
.rela.plt : { .rela.plt : {
*(.rela.plt) *(.rela.plt)
. = ALIGN (bsp_section_align);
} > REGION_TEXT AT > REGION_TEXT_LOAD } > REGION_TEXT AT > REGION_TEXT_LOAD
.init : { .init : {
KEEP (*(.init)) KEEP (*(.init))
. = ALIGN (bsp_section_align);
} > REGION_TEXT AT > REGION_TEXT_LOAD } > REGION_TEXT AT > REGION_TEXT_LOAD
.fini : { .fini : {
KEEP (*(.fini)) KEEP (*(.fini))
. = ALIGN (bsp_section_align);
} > REGION_TEXT AT > REGION_TEXT_LOAD } > REGION_TEXT AT > REGION_TEXT_LOAD
.plt : { .plt : {
*(.plt) *(.plt)
. = ALIGN (bsp_section_align);
} > REGION_TEXT AT > REGION_TEXT_LOAD } > REGION_TEXT AT > REGION_TEXT_LOAD
.iplt : { .iplt : {
*(.iplt) *(.iplt)
. = ALIGN (bsp_section_align);
} > REGION_TEXT AT > REGION_TEXT_LOAD } > REGION_TEXT AT > REGION_TEXT_LOAD
.text : { .text : {
*(.text.unlikely .text.*_unlikely) *(.text.unlikely .text.*_unlikely)
@@ -218,7 +195,6 @@ SECTIONS {
/* .gnu.warning sections are handled specially by elf32.em. */ /* .gnu.warning sections are handled specially by elf32.em. */
*(.gnu.warning) *(.gnu.warning)
*(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx) *(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx)
. = ALIGN (bsp_section_align);
bsp_section_text_end = .; bsp_section_text_end = .;
} > REGION_TEXT AT > REGION_TEXT_LOAD } > REGION_TEXT AT > REGION_TEXT_LOAD
bsp_section_text_size = bsp_section_text_end - bsp_section_text_begin; bsp_section_text_size = bsp_section_text_end - bsp_section_text_begin;
@@ -228,45 +204,37 @@ SECTIONS {
.rodata1 : { .rodata1 : {
bsp_section_rodata_begin = .; bsp_section_rodata_begin = .;
*(.rodata1) *(.rodata1)
. = ALIGN (bsp_section_align);
} > REGION_RODATA AT > REGION_RODATA_LOAD } > REGION_RODATA AT > REGION_RODATA_LOAD
.ARM.extab : { .ARM.extab : {
*(.ARM.extab* .gnu.linkonce.armextab.*) *(.ARM.extab* .gnu.linkonce.armextab.*)
. = ALIGN (bsp_section_align);
} > REGION_RODATA AT > REGION_RODATA_LOAD } > REGION_RODATA AT > REGION_RODATA_LOAD
.ARM.exidx : { .ARM.exidx : {
__exidx_start = .; __exidx_start = .;
*(.ARM.exidx* .gnu.linkonce.armexidx.*) *(.ARM.exidx* .gnu.linkonce.armexidx.*)
__exidx_end = .; __exidx_end = .;
. = ALIGN (bsp_section_align);
} > REGION_RODATA AT > REGION_RODATA_LOAD } > REGION_RODATA AT > REGION_RODATA_LOAD
.eh_frame : { .eh_frame : {
KEEP (*(.eh_frame)) KEEP (*(.eh_frame))
. = ALIGN (bsp_section_align);
} > REGION_RODATA AT > REGION_RODATA_LOAD } > REGION_RODATA AT > REGION_RODATA_LOAD
.gcc_except_table : { .gcc_except_table : {
*(.gcc_except_table .gcc_except_table.*) *(.gcc_except_table .gcc_except_table.*)
. = ALIGN (bsp_section_align);
} > REGION_RODATA AT > REGION_RODATA_LOAD } > REGION_RODATA AT > REGION_RODATA_LOAD
.preinit_array : { .preinit_array : {
PROVIDE_HIDDEN (__preinit_array_start = .); PROVIDE_HIDDEN (__preinit_array_start = .);
KEEP (*(.preinit_array)) KEEP (*(.preinit_array))
PROVIDE_HIDDEN (__preinit_array_end = .); PROVIDE_HIDDEN (__preinit_array_end = .);
. = ALIGN (bsp_section_align);
} > REGION_RODATA AT > REGION_RODATA_LOAD } > REGION_RODATA AT > REGION_RODATA_LOAD
.init_array : { .init_array : {
PROVIDE_HIDDEN (__init_array_start = .); PROVIDE_HIDDEN (__init_array_start = .);
KEEP (*(SORT(.init_array.*))) KEEP (*(SORT(.init_array.*)))
KEEP (*(.init_array)) KEEP (*(.init_array))
PROVIDE_HIDDEN (__init_array_end = .); PROVIDE_HIDDEN (__init_array_end = .);
. = ALIGN (bsp_section_align);
} > REGION_RODATA AT > REGION_RODATA_LOAD } > REGION_RODATA AT > REGION_RODATA_LOAD
.fini_array : { .fini_array : {
PROVIDE_HIDDEN (__fini_array_start = .); PROVIDE_HIDDEN (__fini_array_start = .);
KEEP (*(.fini_array)) KEEP (*(.fini_array))
KEEP (*(SORT(.fini_array.*))) KEEP (*(SORT(.fini_array.*)))
PROVIDE_HIDDEN (__fini_array_end = .); PROVIDE_HIDDEN (__fini_array_end = .);
. = ALIGN (bsp_section_align);
} > REGION_RODATA AT > REGION_RODATA_LOAD } > REGION_RODATA AT > REGION_RODATA_LOAD
.ctors : { .ctors : {
/* gcc uses crtbegin.o to find the start of /* gcc uses crtbegin.o to find the start of
@@ -287,7 +255,6 @@ SECTIONS {
KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors)) KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
KEEP (*(SORT(.ctors.*))) KEEP (*(SORT(.ctors.*)))
KEEP (*(.ctors)) KEEP (*(.ctors))
. = ALIGN (bsp_section_align);
} > REGION_RODATA AT > REGION_RODATA_LOAD } > REGION_RODATA AT > REGION_RODATA_LOAD
.dtors : { .dtors : {
KEEP (*crtbegin.o(.dtors)) KEEP (*crtbegin.o(.dtors))
@@ -295,24 +262,19 @@ SECTIONS {
KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors)) KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
KEEP (*(SORT(.dtors.*))) KEEP (*(SORT(.dtors.*)))
KEEP (*(.dtors)) KEEP (*(.dtors))
. = ALIGN (bsp_section_align);
} > REGION_RODATA AT > REGION_RODATA_LOAD } > REGION_RODATA AT > REGION_RODATA_LOAD
.data.rel.ro : { .data.rel.ro : {
*(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*)
*(.data.rel.ro* .gnu.linkonce.d.rel.ro.*) *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*)
. = ALIGN (bsp_section_align);
} > REGION_RODATA AT > REGION_RODATA_LOAD } > REGION_RODATA AT > REGION_RODATA_LOAD
.jcr : { .jcr : {
KEEP (*(.jcr)) KEEP (*(.jcr))
. = ALIGN (bsp_section_align);
} > REGION_RODATA AT > REGION_RODATA_LOAD } > REGION_RODATA AT > REGION_RODATA_LOAD
.dynamic : { .dynamic : {
*(.dynamic) *(.dynamic)
. = ALIGN (bsp_section_align);
} > REGION_RODATA AT > REGION_RODATA_LOAD } > REGION_RODATA AT > REGION_RODATA_LOAD
.got : { .got : {
*(.got.plt) *(.igot.plt) *(.got) *(.igot) *(.got.plt) *(.igot.plt) *(.got) *(.igot)
. = ALIGN (bsp_section_align);
} > REGION_RODATA AT > REGION_RODATA_LOAD } > REGION_RODATA AT > REGION_RODATA_LOAD
.rodata : { .rodata : {
/* Special FreeBSD sysctl sections */ /* Special FreeBSD sysctl sections */
@@ -333,7 +295,6 @@ SECTIONS {
_bsd__stop_set_sysctl_set = .; _bsd__stop_set_sysctl_set = .;
*(.rodata .rodata.* .gnu.linkonce.r.*) *(.rodata .rodata.* .gnu.linkonce.r.*)
. = ALIGN (bsp_section_align);
bsp_section_rodata_end = .; bsp_section_rodata_end = .;
} > REGION_RODATA AT > REGION_RODATA_LOAD } > REGION_RODATA AT > REGION_RODATA_LOAD
bsp_section_rodata_size = bsp_section_rodata_end - bsp_section_rodata_begin; bsp_section_rodata_size = bsp_section_rodata_end - bsp_section_rodata_begin;
@@ -347,12 +308,10 @@ SECTIONS {
.data1 : { .data1 : {
bsp_section_data_begin = .; bsp_section_data_begin = .;
*(.data1) *(.data1)
. = ALIGN (bsp_section_align);
} > REGION_DATA AT > REGION_DATA_LOAD } > REGION_DATA AT > REGION_DATA_LOAD
.data : { .data : {
*(.data .data.* .gnu.linkonce.d.*) *(.data .data.* .gnu.linkonce.d.*)
SORT(CONSTRUCTORS) SORT(CONSTRUCTORS)
. = ALIGN (bsp_section_align);
bsp_section_data_end = .; bsp_section_data_end = .;
} > REGION_DATA AT > REGION_DATA_LOAD } > REGION_DATA AT > REGION_DATA_LOAD
bsp_section_data_size = bsp_section_data_end - bsp_section_data_begin; bsp_section_data_size = bsp_section_data_end - bsp_section_data_begin;
@@ -362,7 +321,6 @@ SECTIONS {
.fast_text : { .fast_text : {
bsp_section_fast_text_begin = .; bsp_section_fast_text_begin = .;
*(.bsp_fast_text) *(.bsp_fast_text)
. = ALIGN (bsp_section_align);
bsp_section_fast_text_end = .; bsp_section_fast_text_end = .;
} > REGION_FAST_TEXT AT > REGION_FAST_TEXT_LOAD } > REGION_FAST_TEXT AT > REGION_FAST_TEXT_LOAD
bsp_section_fast_text_size = bsp_section_fast_text_end - bsp_section_fast_text_begin; bsp_section_fast_text_size = bsp_section_fast_text_end - bsp_section_fast_text_begin;
@@ -372,7 +330,6 @@ SECTIONS {
.fast_data : { .fast_data : {
bsp_section_fast_data_begin = .; bsp_section_fast_data_begin = .;
*(.bsp_fast_data) *(.bsp_fast_data)
. = ALIGN (bsp_section_align);
bsp_section_fast_data_end = .; bsp_section_fast_data_end = .;
} > REGION_FAST_DATA AT > REGION_FAST_DATA_LOAD } > REGION_FAST_DATA AT > REGION_FAST_DATA_LOAD
bsp_section_fast_data_size = bsp_section_fast_data_end - bsp_section_fast_data_begin; bsp_section_fast_data_size = bsp_section_fast_data_end - bsp_section_fast_data_begin;
@@ -384,7 +341,6 @@ SECTIONS {
*(.dynbss) *(.dynbss)
*(.bss .bss.* .gnu.linkonce.b.*) *(.bss .bss.* .gnu.linkonce.b.*)
*(COMMON) *(COMMON)
. = ALIGN (bsp_section_align);
bsp_section_bss_end = .; bsp_section_bss_end = .;
} > REGION_BSS AT > REGION_BSS } > REGION_BSS AT > REGION_BSS
bsp_section_bss_size = bsp_section_bss_end - bsp_section_bss_begin; bsp_section_bss_size = bsp_section_bss_end - bsp_section_bss_begin;