summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2020-04-19 05:53:44 +0300
committerPatrick Georgi <pgeorgi@google.com>2020-05-28 09:51:46 +0000
commit58b8054ccacd0877bd52b640c7938f7582f6d69a (patch)
tree24b8fb74537101c7a272fc620aa89a4efc59d6b6 /src
parentdf771c1ee4329389968a76396ab5f43ae5478748 (diff)
downloadcoreboot-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.ld2
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))
}