mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-16 01:24:27 +00:00

The following build system variables have been renamed: - `LINKERFILE` -> `DEFAULT_LINKER_SCRIPT` - `BL_LINKERFILE` -> `DEFAULT_LINKER_SCRIPT_SOURCE` - `<IMAGE>_LINKERFILE` -> `<IMAGE>_DEFAULT_LINKER_SCRIPT_SOURCE` These new names better reflect how each variable is used: 1. the default linker script is passed via `-dT` instead of `-T` 2. linker script source files are first preprocessed Additionally, linker scripts are now placed in the build directory relative to where they exist in the source directory. For example, the `bl32/sp_min/sp_min.ld.S` would now preprocess to `sp_min/sp_min.ld` instead of just `bl32.ld` BREAKING-CHANGE: The `LINKERFILE`, `BL_LINKERFILE` and `<IMAGE_LINKERFILE>` build system variables have been renamed. See the commit message for more information. Change-Id: If8cef65dcb8820e8993736702c8741e97a66e6cc Signed-off-by: Chris Kay <chris.kay@arm.com>
72 lines
1.1 KiB
ArmAsm
72 lines
1.1 KiB
ArmAsm
/*
|
|
* Copyright (c) 2021-2023, Arm Limited and Contributors. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#include <common/bl_common.ld.h>
|
|
#include <lib/xlat_tables/xlat_tables_defs.h>
|
|
|
|
/* Mapped using 4K pages, requires us to align different sections with
|
|
* different property at the same granularity. */
|
|
PAGE_SIZE_4K = 4096;
|
|
|
|
OUTPUT_FORMAT("elf64-littleaarch64")
|
|
OUTPUT_ARCH(aarch64)
|
|
ENTRY(trp_head)
|
|
|
|
MEMORY {
|
|
RAM (rwx): ORIGIN = RMM_BASE, LENGTH = RMM_LIMIT - RMM_BASE
|
|
}
|
|
|
|
|
|
SECTIONS
|
|
{
|
|
. = RMM_BASE;
|
|
|
|
.text : {
|
|
*(.head.text)
|
|
. = ALIGN(8);
|
|
*(.text*)
|
|
} >RAM
|
|
|
|
. = ALIGN(PAGE_SIZE_4K);
|
|
|
|
.rodata : {
|
|
*(.rodata*)
|
|
} >RAM
|
|
|
|
. = ALIGN(PAGE_SIZE_4K);
|
|
|
|
__RW_START__ = . ;
|
|
|
|
.data : {
|
|
*(.data*)
|
|
} >RAM
|
|
|
|
.bss (NOLOAD) : {
|
|
__BSS_START__ = .;
|
|
*(.bss*)
|
|
__BSS_END__ = .;
|
|
} >RAM
|
|
__BSS_SIZE__ = SIZEOF(.bss);
|
|
|
|
|
|
STACK_SECTION >RAM
|
|
|
|
|
|
/*
|
|
* Define a linker symbol to mark the end of the RW memory area for this
|
|
* image.
|
|
*/
|
|
__RW_END__ = .;
|
|
__RMM_END__ = .;
|
|
|
|
|
|
/DISCARD/ : { *(.dynstr*) }
|
|
/DISCARD/ : { *(.dynamic*) }
|
|
/DISCARD/ : { *(.plt*) }
|
|
/DISCARD/ : { *(.interp*) }
|
|
/DISCARD/ : { *(.gnu*) }
|
|
/DISCARD/ : { *(.note*) }
|
|
}
|