summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorAaron Durbin <adurbin@chromium.org>2015-09-04 12:06:05 -0500
committerAaron Durbin <adurbin@chromium.org>2015-09-09 19:35:12 +0000
commit14714e1303a420f9e0bf0bb5bba2efaae2c52efb (patch)
treec26b86718fb5de9ef1e2194071f640f51e0a1149 /src/lib
parentb2a62622ba030162784c31865a4fcba0c03408c7 (diff)
downloadcoreboot-14714e1303a420f9e0bf0bb5bba2efaae2c52efb.tar.xz
x86: link romstage like the other architectures
All the other architectures are using the memlayout for linking romstage. Use that same method on x86 as well for consistency. BUG=chrome-os-partner:44827 BRANCH=None TEST=Built a myriad of boards. Analyzed readelf output. Change-Id: I016666c4b01410df112e588c2949e3fc64540c2e Signed-off-by: Aaron Durbin <adubin@chromium.org> Reviewed-on: http://review.coreboot.org/11510 Tested-by: build bot (Jenkins) Tested-by: Raptor Engineering Automated Test Stand <noreply@raptorengineeringinc.com> Reviewed-by: Patrick Georgi <pgeorgi@google.com>
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/Makefile.inc4
-rw-r--r--src/lib/program.ld6
2 files changed, 8 insertions, 2 deletions
diff --git a/src/lib/Makefile.inc b/src/lib/Makefile.inc
index 4aa6bf8392..464d631aab 100644
--- a/src/lib/Makefile.inc
+++ b/src/lib/Makefile.inc
@@ -192,12 +192,12 @@ smm-y += halt.c
secmon-y += halt.c
ifneq ($(CONFIG_ARCH_X86),y)
-# X86 bootblock and romstage use custom ldscripts that are all glued together,
+# X86 bootblock uses custom ldscripts that are all glued together,
# so we need to exclude it here or it would pick these up as well
bootblock-y += program.ld
-romstage-y += program.ld
endif
+romstage-y += program.ld
ramstage-y += program.ld
ifeq ($(CONFIG_RELOCATABLE_MODULES),y)
diff --git a/src/lib/program.ld b/src/lib/program.ld
index 1346eafbf8..cf011e9b08 100644
--- a/src/lib/program.ld
+++ b/src/lib/program.ld
@@ -27,6 +27,12 @@
.text : {
_program = .;
_text = .;
+ /*
+ * The .rom.* sections are to acommodate x86 romstage. romcc as well
+ * as the assembly files put their text and data in these sections.
+ */
+ *(.rom.text);
+ *(.rom.data);
*(.text._start);
*(.text.stage_entry);
*(.text);