mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-26 20:09:02 +09:00
![Simon Glass](/assets/img/avatar_default.png)
This area of the image contains symbols whose values are filled in by binman. If this feature is not used, the table is empty. Add this to the ARM SPL link script. Signed-off-by: Simon Glass <sjg@chromium.org>
95 lines
1.7 KiB
Plaintext
95 lines
1.7 KiB
Plaintext
/*
|
|
* Copyright (c) 2004-2008 Texas Instruments
|
|
*
|
|
* (C) Copyright 2002
|
|
* Gary Jennejohn, DENX Software Engineering, <garyj@denx.de>
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0+
|
|
*/
|
|
|
|
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
OUTPUT_ARCH(arm)
|
|
ENTRY(_start)
|
|
SECTIONS
|
|
{
|
|
. = 0x00000000;
|
|
|
|
. = ALIGN(4);
|
|
.text :
|
|
{
|
|
__image_copy_start = .;
|
|
*(.vectors)
|
|
CPUDIR/start.o (.text*)
|
|
*(.text*)
|
|
}
|
|
|
|
. = ALIGN(4);
|
|
.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
|
|
|
|
. = ALIGN(4);
|
|
.data : {
|
|
*(.data*)
|
|
}
|
|
|
|
. = ALIGN(4);
|
|
.u_boot_list : {
|
|
KEEP(*(SORT(.u_boot_list*)));
|
|
}
|
|
|
|
. = ALIGN(4);
|
|
.binman_sym_table : {
|
|
__binman_sym_start = .;
|
|
KEEP(*(SORT(.binman_sym*)));
|
|
__binman_sym_end = .;
|
|
}
|
|
|
|
. = ALIGN(4);
|
|
|
|
__image_copy_end = .;
|
|
|
|
.rel.dyn : {
|
|
__rel_dyn_start = .;
|
|
*(.rel*)
|
|
__rel_dyn_end = .;
|
|
}
|
|
|
|
.end :
|
|
{
|
|
*(.__end)
|
|
}
|
|
|
|
_image_binary_end = .;
|
|
|
|
.bss __rel_dyn_start (OVERLAY) : {
|
|
__bss_start = .;
|
|
*(.bss*)
|
|
. = ALIGN(4);
|
|
__bss_end = .;
|
|
}
|
|
__bss_size = __bss_end - __bss_start;
|
|
.dynsym _image_binary_end : { *(.dynsym) }
|
|
.dynbss : { *(.dynbss) }
|
|
.dynstr : { *(.dynstr*) }
|
|
.dynamic : { *(.dynamic*) }
|
|
.hash : { *(.hash*) }
|
|
.plt : { *(.plt*) }
|
|
.interp : { *(.interp*) }
|
|
.gnu : { *(.gnu*) }
|
|
.ARM.exidx : { *(.ARM.exidx*) }
|
|
}
|
|
|
|
#if defined(CONFIG_SPL_MAX_SIZE)
|
|
ASSERT(__image_copy_end - __image_copy_start < (CONFIG_SPL_MAX_SIZE), \
|
|
"SPL image too big");
|
|
#endif
|
|
|
|
#if defined(CONFIG_SPL_BSS_MAX_SIZE)
|
|
ASSERT(__bss_end - __bss_start < (CONFIG_SPL_BSS_MAX_SIZE), \
|
|
"SPL image BSS too big");
|
|
#endif
|
|
|
|
#if defined(CONFIG_SPL_MAX_FOOTPRINT)
|
|
ASSERT(__bss_end - _start < (CONFIG_SPL_MAX_FOOTPRINT), \
|
|
"SPL image plus BSS too big");
|
|
#endif
|