132 lines
2.8 KiB
Plaintext
132 lines
2.8 KiB
Plaintext
|
/*
|
||
|
* Copyright (c) 2006-2021, RT-Thread Development Team
|
||
|
*
|
||
|
* SPDX-License-Identifier: Apache-2.0
|
||
|
*
|
||
|
* Change Logs:
|
||
|
* Date Author Notes
|
||
|
* 2021-09-09 linzhenxing first version
|
||
|
*/
|
||
|
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
||
|
OUTPUT_ARCH(arm)
|
||
|
|
||
|
/* _EL1_STACK_SIZE = DEFINED(_EL1_STACK_SIZE) ? _EL1_STACK_SIZE : 0x20000; */
|
||
|
|
||
|
SECTIONS
|
||
|
{
|
||
|
. = 0xc0001000;
|
||
|
. = ALIGN(4096);
|
||
|
.text :
|
||
|
{
|
||
|
KEEP(*(.text.entrypoint)) /* The entry point */
|
||
|
*(.vectors)
|
||
|
*(.text) /* remaining code */
|
||
|
*(.text.*) /* remaining code */
|
||
|
|
||
|
*(.rodata) /* read-only data (constants) */
|
||
|
*(.rodata*)
|
||
|
*(.glue_7)
|
||
|
*(.glue_7t)
|
||
|
*(.gnu.linkonce.t*)
|
||
|
|
||
|
/* section information for finsh shell */
|
||
|
. = ALIGN(16);
|
||
|
__fsymtab_start = .;
|
||
|
KEEP(*(FSymTab))
|
||
|
__fsymtab_end = .;
|
||
|
. = ALIGN(16);
|
||
|
__vsymtab_start = .;
|
||
|
KEEP(*(VSymTab))
|
||
|
__vsymtab_end = .;
|
||
|
. = ALIGN(16);
|
||
|
|
||
|
/* section information for initial. */
|
||
|
. = ALIGN(16);
|
||
|
__rt_init_start = .;
|
||
|
KEEP(*(SORT(.rti_fn*)))
|
||
|
__rt_init_end = .;
|
||
|
. = ALIGN(16);
|
||
|
|
||
|
/* section information for uRPC */
|
||
|
. = ALIGN(4);
|
||
|
__uRPCSvcTab_start = .;
|
||
|
KEEP(*(uRPCSvcTab))
|
||
|
__uRPCSvcTab_end = .;
|
||
|
|
||
|
. = ALIGN(16);
|
||
|
_etext = .;
|
||
|
}
|
||
|
|
||
|
.ARM.exidx : {
|
||
|
__exidx_start = .;
|
||
|
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
||
|
__exidx_end = .;
|
||
|
}
|
||
|
|
||
|
.eh_frame_hdr :
|
||
|
{
|
||
|
*(.eh_frame_hdr)
|
||
|
*(.eh_frame_entry)
|
||
|
}
|
||
|
.eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) }
|
||
|
|
||
|
. = ALIGN(16);
|
||
|
.data :
|
||
|
{
|
||
|
*(.data)
|
||
|
*(.data.*)
|
||
|
|
||
|
*(.data1)
|
||
|
*(.data1.*)
|
||
|
|
||
|
. = ALIGN(16);
|
||
|
_gp = ABSOLUTE(.); /* Base of small data */
|
||
|
|
||
|
*(.sdata)
|
||
|
*(.sdata.*)
|
||
|
}
|
||
|
|
||
|
. = ALIGN(16);
|
||
|
.ctors :
|
||
|
{
|
||
|
PROVIDE(__ctors_start__ = .);
|
||
|
KEEP(*(SORT(.ctors.*)))
|
||
|
KEEP(*(.ctors))
|
||
|
PROVIDE(__ctors_end__ = .);
|
||
|
}
|
||
|
|
||
|
.dtors :
|
||
|
{
|
||
|
PROVIDE(__dtors_start__ = .);
|
||
|
KEEP(*(SORT(.dtors.*)))
|
||
|
KEEP(*(.dtors))
|
||
|
PROVIDE(__dtors_end__ = .);
|
||
|
}
|
||
|
|
||
|
. = ALIGN(16);
|
||
|
.bss :
|
||
|
{
|
||
|
PROVIDE(__bss_start = .);
|
||
|
*(.bss)
|
||
|
*(.bss.*)
|
||
|
*(.dynbss)
|
||
|
|
||
|
*(COMMON)
|
||
|
PROVIDE(__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 = .;
|
||
|
|
||
|
}
|
||
|
|
||
|
__bss_size = (__bss_end - __bss_start)>>3;
|