117 lines
2.8 KiB
Plaintext
117 lines
2.8 KiB
Plaintext
/*
|
|
* COPYRIGHT (C) 2013-2014, Shanghai Real-Thread Technology Co., Ltd
|
|
*
|
|
* This file is part of RT-Thread (http://www.rt-thread.org)
|
|
*
|
|
* All rights reserved.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License along
|
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
*/
|
|
|
|
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
OUTPUT_ARCH(arm)
|
|
SECTIONS
|
|
{
|
|
. = 0x1ff00000;
|
|
__text_start = .;
|
|
.text :
|
|
{
|
|
*(.vectors)
|
|
/* make the ISRs close to vectors may be more cache-friendly */
|
|
*(.text.isr)
|
|
|
|
*(.text)
|
|
*(.text.*)
|
|
|
|
/* 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 = .;
|
|
|
|
/* section information for initialization */
|
|
. = ALIGN(4);
|
|
__rt_init_start = .;
|
|
KEEP(*(SORT(.rti_fn*)))
|
|
__rt_init_end = .;
|
|
} =0
|
|
__text_end = .;
|
|
|
|
__rodata_start = .;
|
|
.rodata : { *(.rodata) *(.rodata.*) }
|
|
__rodata_end = .;
|
|
|
|
. = ALIGN(4);
|
|
.ctors :
|
|
{
|
|
PROVIDE(__ctors_start__ = .);
|
|
KEEP(*(SORT(.ctors.*)))
|
|
KEEP(*(.ctors))
|
|
PROVIDE(__ctors_end__ = .);
|
|
}
|
|
|
|
.dtors :
|
|
{
|
|
PROVIDE(__dtors_start__ = .);
|
|
KEEP(*(SORT(.dtors.*)))
|
|
KEEP(*(.dtors))
|
|
PROVIDE(__dtors_end__ = .);
|
|
}
|
|
|
|
__data_start = .;
|
|
. = ALIGN(4);
|
|
.data :
|
|
{
|
|
KEEP(*(.resource_table))
|
|
*(.data)
|
|
*(.data.*)
|
|
}
|
|
__data_end = .;
|
|
|
|
. = ALIGN(4);
|
|
__bss_start = __data_end;
|
|
.bss :
|
|
{
|
|
*(.bss)
|
|
*(.bss.*)
|
|
*(COMMON)
|
|
. = ALIGN(4);
|
|
}
|
|
. = ALIGN(4);
|
|
__bss_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) }
|
|
|
|
_end = .;
|
|
}
|