mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-25 04:23:46 +00:00
cf2a8fd66d
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>
94 lines
1.7 KiB
Text
94 lines
1.7 KiB
Text
/*
|
|
* 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
|