diff options
author | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2020-04-19 05:53:44 +0300 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2020-05-28 09:51:46 +0000 |
commit | 58b8054ccacd0877bd52b640c7938f7582f6d69a (patch) | |
tree | 24b8fb74537101c7a272fc620aa89a4efc59d6b6 /src | |
parent | df771c1ee4329389968a76396ab5f43ae5478748 (diff) | |
download | coreboot-58b8054ccacd0877bd52b640c7938f7582f6d69a.tar.xz |
arch/x86: Fix id section in linker script
Builds where RESET_X86_VECTOR is adjusted would create unintentionally
large bootblock files since id section can move far away from .reset
and .text. Some builds segfault or may try to create close to 4 GB
large intermediate build objects.
For cases where build is successful, id section would not reside within
REGION(program) or REGION(bootblock).
A proper fix to always place the ID data at the end of the coreboot.rom
file is left as follow-up work. For now, just place id section below
.reset.
Change-Id: Idf0e4defcde6d5e264d4752cc93f4ffb6749d287
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/40583
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Diffstat (limited to 'src')
-rw-r--r-- | src/arch/x86/id.ld | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/arch/x86/id.ld b/src/arch/x86/id.ld index b69a8dc1a5..ea8d7e9dbd 100644 --- a/src/arch/x86/id.ld +++ b/src/arch/x86/id.ld @@ -1,7 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0-only */ SECTIONS { - . = (0xffffffff - CONFIG_ID_SECTION_OFFSET) - (__id_end - __id_start) + 1; + . = (CONFIG_X86_RESET_VECTOR - CONFIG_ID_SECTION_OFFSET) + 0x10 - (__id_end - __id_start); .id (.): { KEEP(*(.id)) } |