update the GNU GCC link script.

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1284 bbd45198-f89e-11dd-88c7-29a3b14d5316
This commit is contained in:
bernard.xiong 2011-02-21 06:40:59 +00:00
parent 88b3199266
commit 4853d4f54a
2 changed files with 100 additions and 94 deletions

View File

@ -24,6 +24,7 @@ SECTIONS
*(.rodata*) *(.rodata*)
*(.glue_7) *(.glue_7)
*(.glue_7t) *(.glue_7t)
*(.ARM.extab* .gnu.linkonce.armextab.*)
/* section information for finsh shell */ /* section information for finsh shell */
. = ALIGN(4); . = ALIGN(4);
@ -36,15 +37,21 @@ SECTIONS
__vsymtab_end = .; __vsymtab_end = .;
. = ALIGN(4); . = ALIGN(4);
. = ALIGN(4);
_etext = .; _etext = .;
/* This is used by the startup in order to initialize the .data secion */
_sidata = _etext;
} > CODE = 0 } > CODE = 0
/* .data section which is used for initialized data */ /* .ARM.exidx is sorted, so has to go in its own output section. */
__exidx_start = .;
.ARM.exidx :
{
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
/* This is used by the startup in order to initialize the .data secion */
_sidata = .;
} > CODE
__exidx_end = .;
/* .data section which is used for initialized data */
.data : AT (_sidata) .data : AT (_sidata)
{ {
. = ALIGN(4); . = ALIGN(4);

View File

@ -1,9 +1,8 @@
# toolchains options # toolchains options
ARCH='arm' ARCH='arm'
CPU='lm3s' CPU='lm3s'
CROSS_TOOL = 'keil' CROSS_TOOL = 'gcc'
if CROSS_TOOL == 'gcc': if CROSS_TOOL == 'gcc':
PLATFORM = 'gcc' PLATFORM = 'gcc'
EXEC_PATH = 'E:/Program Files/CodeSourcery/Sourcery G++ Lite/bin' EXEC_PATH = 'E:/Program Files/CodeSourcery/Sourcery G++ Lite/bin'
@ -25,7 +24,7 @@ if PLATFORM == 'gcc':
OBJCPY = PREFIX + 'objcopy' OBJCPY = PREFIX + 'objcopy'
DEVICE = ' -mcpu=cortex-m3 -mthumb' DEVICE = ' -mcpu=cortex-m3 -mthumb'
CFLAGS = DEVICE + ' -Dsourcerygxx' CFLAGS = DEVICE + ' -Dsourcerygxx -ffunction-sections -fdata-sections'
AFLAGS = ' -c' + DEVICE + ' -x assembler-with-cpp' AFLAGS = ' -c' + DEVICE + ' -x assembler-with-cpp'
LFLAGS = DEVICE + ' -Wl,--gc-sections,-Map=rtthread-lm3s.map,-cref,-u,Reset_Handler -T lm3s_rom.ld' LFLAGS = DEVICE + ' -Wl,--gc-sections,-Map=rtthread-lm3s.map,-cref,-u,Reset_Handler -T lm3s_rom.ld'