summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNico Huber <nico.h@gmx.de>2017-07-28 19:30:43 +0200
committerNico Huber <nico.h@gmx.de>2017-07-30 00:06:20 +0000
commitf1778ce33366f2005f1ac5e492525012b47d788e (patch)
treef34af881ae6ba0caa508f8aa25e545edb0c29021
parentef869305cfffc31b30c145c95c81e3284b88c5ac (diff)
lib/program.ld: Guard .id section placement
For x86, we place the .id section at 4GiB - CONFIG_ID_SECTION_OFFSET. To take effect, we have to guard the conflicting default placement in `program.ld`. Also, as we only include the .id section into the boot- block, guard it by ENV_BOOTBLOCK too. Change-Id: Idc7cbd670ce4f75b7790ff8d95578683e355ba7e Signed-off-by: Nico Huber <nico.h@gmx.de> Reviewed-on: https://review.coreboot.org/20810 Reviewed-by: Aaron Durbin <adurbin@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Tested-by: Raptor Engineering Automated Test Stand <noreply@raptorengineeringinc.com>
-rw-r--r--src/lib/program.ld3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/lib/program.ld b/src/lib/program.ld
index 1526aadf0a..668b29b18e 100644
--- a/src/lib/program.ld
+++ b/src/lib/program.ld
@@ -34,7 +34,10 @@
*(.rom.data);
*(.text._start);
*(.text.stage_entry);
+#if ENV_BOOTBLOCK && !(IS_ENABLED(CONFIG_ARCH_BOOTBLOCK_X86_32) || \
+ IS_ENABLED(CONFIG_ARCH_BOOTBLOCK_X86_64))
KEEP(*(.id));
+#endif
*(.text);
*(.text.*);