[update] Updated the Cortex-A of linker scripts for the new version of GCC(4.7)。
This commit is contained in:
parent
60c96fbc12
commit
77900ab420
|
@ -4,7 +4,7 @@ OUTPUT_ARCH(arm)
|
||||||
SECTIONS
|
SECTIONS
|
||||||
{
|
{
|
||||||
. = 0x80100000;
|
. = 0x80100000;
|
||||||
|
|
||||||
__text_start = .;
|
__text_start = .;
|
||||||
.text :
|
.text :
|
||||||
{
|
{
|
||||||
|
@ -45,8 +45,9 @@ SECTIONS
|
||||||
.ctors :
|
.ctors :
|
||||||
{
|
{
|
||||||
PROVIDE(__ctors_start__ = .);
|
PROVIDE(__ctors_start__ = .);
|
||||||
KEEP(*(SORT(.ctors.*)))
|
/* new GCC version uses .init_array */
|
||||||
KEEP(*(.ctors))
|
KEEP(*(SORT(.init_array.*)))
|
||||||
|
KEEP(*(.init_array))
|
||||||
PROVIDE(__ctors_end__ = .);
|
PROVIDE(__ctors_end__ = .);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@ SECTIONS
|
||||||
__rt_utest_tc_tab_start = .;
|
__rt_utest_tc_tab_start = .;
|
||||||
KEEP(*(UtestTcTab))
|
KEEP(*(UtestTcTab))
|
||||||
__rt_utest_tc_tab_end = .;
|
__rt_utest_tc_tab_end = .;
|
||||||
|
|
||||||
/* section information for finsh shell */
|
/* section information for finsh shell */
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
__fsymtab_start = .;
|
__fsymtab_start = .;
|
||||||
|
@ -59,8 +59,9 @@ SECTIONS
|
||||||
.ctors :
|
.ctors :
|
||||||
{
|
{
|
||||||
PROVIDE(__ctors_start__ = .);
|
PROVIDE(__ctors_start__ = .);
|
||||||
KEEP(*(SORT(.ctors.*)))
|
/* new GCC version uses .init_array */
|
||||||
KEEP(*(.ctors))
|
KEEP(*(SORT(.init_array.*)))
|
||||||
|
KEEP(*(.init_array))
|
||||||
PROVIDE(__ctors_end__ = .);
|
PROVIDE(__ctors_end__ = .);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@ SECTIONS
|
||||||
__vsymtab_start = .;
|
__vsymtab_start = .;
|
||||||
KEEP(*(VSymTab))
|
KEEP(*(VSymTab))
|
||||||
__vsymtab_end = .;
|
__vsymtab_end = .;
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
|
|
||||||
/* section information for modules */
|
/* section information for modules */
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
|
@ -44,8 +44,9 @@ SECTIONS
|
||||||
.ctors :
|
.ctors :
|
||||||
{
|
{
|
||||||
PROVIDE(__ctors_start__ = .);
|
PROVIDE(__ctors_start__ = .);
|
||||||
KEEP(*(SORT(.ctors.*)))
|
/* new GCC version uses .init_array */
|
||||||
KEEP(*(.ctors))
|
KEEP(*(SORT(.init_array.*)))
|
||||||
|
KEEP(*(.init_array))
|
||||||
PROVIDE(__ctors_end__ = .);
|
PROVIDE(__ctors_end__ = .);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -88,8 +88,9 @@ SECTIONS
|
||||||
.ctors :
|
.ctors :
|
||||||
{
|
{
|
||||||
PROVIDE(__ctors_start__ = .);
|
PROVIDE(__ctors_start__ = .);
|
||||||
KEEP(*(SORT(.ctors.*)))
|
/* new GCC version uses .init_array */
|
||||||
KEEP(*(.ctors))
|
KEEP(*(SORT(.init_array.*)))
|
||||||
|
KEEP(*(.init_array))
|
||||||
PROVIDE(__ctors_end__ = .);
|
PROVIDE(__ctors_end__ = .);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -75,8 +75,9 @@ SECTIONS
|
||||||
.ctors :
|
.ctors :
|
||||||
{
|
{
|
||||||
PROVIDE(__ctors_start__ = .);
|
PROVIDE(__ctors_start__ = .);
|
||||||
KEEP(*(SORT(.ctors.*)))
|
/* new GCC version uses .init_array */
|
||||||
KEEP(*(.ctors))
|
KEEP(*(SORT(.init_array.*)))
|
||||||
|
KEEP(*(.init_array))
|
||||||
PROVIDE(__ctors_end__ = .);
|
PROVIDE(__ctors_end__ = .);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -75,8 +75,9 @@ SECTIONS
|
||||||
.ctors :
|
.ctors :
|
||||||
{
|
{
|
||||||
PROVIDE(__ctors_start__ = .);
|
PROVIDE(__ctors_start__ = .);
|
||||||
KEEP(*(SORT(.ctors.*)))
|
/* new GCC version uses .init_array */
|
||||||
KEEP(*(.ctors))
|
KEEP(*(SORT(.init_array.*)))
|
||||||
|
KEEP(*(.init_array))
|
||||||
PROVIDE(__ctors_end__ = .);
|
PROVIDE(__ctors_end__ = .);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -77,8 +77,9 @@ SECTIONS
|
||||||
.ctors :
|
.ctors :
|
||||||
{
|
{
|
||||||
PROVIDE(__ctors_start__ = .);
|
PROVIDE(__ctors_start__ = .);
|
||||||
KEEP(*(SORT(.ctors.*)))
|
/* new GCC version uses .init_array */
|
||||||
KEEP(*(.ctors))
|
KEEP(*(SORT(.init_array.*)))
|
||||||
|
KEEP(*(.init_array))
|
||||||
PROVIDE(__ctors_end__ = .);
|
PROVIDE(__ctors_end__ = .);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -85,8 +85,9 @@ SECTIONS
|
||||||
.ctors :
|
.ctors :
|
||||||
{
|
{
|
||||||
PROVIDE(__ctors_start__ = .);
|
PROVIDE(__ctors_start__ = .);
|
||||||
KEEP(*(SORT(.ctors.*)))
|
/* new GCC version uses .init_array */
|
||||||
KEEP(*(.ctors))
|
KEEP(*(SORT(.init_array.*)))
|
||||||
|
KEEP(*(.init_array))
|
||||||
PROVIDE(__ctors_end__ = .);
|
PROVIDE(__ctors_end__ = .);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -77,8 +77,9 @@ SECTIONS
|
||||||
.ctors :
|
.ctors :
|
||||||
{
|
{
|
||||||
PROVIDE(__ctors_start__ = .);
|
PROVIDE(__ctors_start__ = .);
|
||||||
KEEP(*(SORT(.ctors.*)))
|
/* new GCC version uses .init_array */
|
||||||
KEEP(*(.ctors))
|
KEEP(*(SORT(.init_array.*)))
|
||||||
|
KEEP(*(.init_array))
|
||||||
PROVIDE(__ctors_end__ = .);
|
PROVIDE(__ctors_end__ = .);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -63,8 +63,9 @@ SECTIONS
|
||||||
.ctors :
|
.ctors :
|
||||||
{
|
{
|
||||||
PROVIDE(__ctors_start__ = .);
|
PROVIDE(__ctors_start__ = .);
|
||||||
KEEP(*(SORT(.ctors.*)))
|
/* new GCC version uses .init_array */
|
||||||
KEEP(*(.ctors))
|
KEEP(*(SORT(.init_array.*)))
|
||||||
|
KEEP(*(.init_array))
|
||||||
PROVIDE(__ctors_end__ = .);
|
PROVIDE(__ctors_end__ = .);
|
||||||
} > CODE
|
} > CODE
|
||||||
|
|
||||||
|
|
|
@ -79,8 +79,9 @@ SECTIONS
|
||||||
.ctors :
|
.ctors :
|
||||||
{
|
{
|
||||||
PROVIDE(__ctors_start__ = .);
|
PROVIDE(__ctors_start__ = .);
|
||||||
KEEP(*(SORT(.ctors.*)))
|
/* new GCC version uses .init_array */
|
||||||
KEEP(*(.ctors))
|
KEEP(*(SORT(.init_array.*)))
|
||||||
|
KEEP(*(.init_array))
|
||||||
PROVIDE(__ctors_end__ = .);
|
PROVIDE(__ctors_end__ = .);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,7 @@ OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
||||||
OUTPUT_ARCH(arm)
|
OUTPUT_ARCH(arm)
|
||||||
SECTIONS
|
SECTIONS
|
||||||
{
|
{
|
||||||
.vectors :
|
.vectors :
|
||||||
{
|
{
|
||||||
KEEP (*(.vectors))
|
KEEP (*(.vectors))
|
||||||
*(.boot)
|
*(.boot)
|
||||||
|
@ -32,7 +32,7 @@ SECTIONS
|
||||||
__rt_utest_tc_tab_start = .;
|
__rt_utest_tc_tab_start = .;
|
||||||
KEEP(*(UtestTcTab))
|
KEEP(*(UtestTcTab))
|
||||||
__rt_utest_tc_tab_end = .;
|
__rt_utest_tc_tab_end = .;
|
||||||
|
|
||||||
/* section information for finsh shell */
|
/* section information for finsh shell */
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
__fsymtab_start = .;
|
__fsymtab_start = .;
|
||||||
|
@ -80,8 +80,9 @@ SECTIONS
|
||||||
.ctors :
|
.ctors :
|
||||||
{
|
{
|
||||||
PROVIDE(__ctors_start__ = .);
|
PROVIDE(__ctors_start__ = .);
|
||||||
KEEP(*(SORT(.ctors.*)))
|
/* new GCC version uses .init_array */
|
||||||
KEEP(*(.ctors))
|
KEEP(*(SORT(.init_array.*)))
|
||||||
|
KEEP(*(.init_array))
|
||||||
PROVIDE(__ctors_end__ = .);
|
PROVIDE(__ctors_end__ = .);
|
||||||
} > psu_r5_ddr_0_MEM_0
|
} > psu_r5_ddr_0_MEM_0
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue