rmodule: align ld script with latest x86 ld script

The x86 linker script added a .textfirst section. In
order to properly link ramstage as a relocatable module
the .textfirst section needs to be included.

Also, the support for code coverage was added by including
the constructor section and symbols. Coverage has not been
tested as I suspect it might not work in a relocatable
environment without some tweaking. However, the section
and symbols are there if needed.

Change-Id: Ie1f6d987d6eb657ed4aa3a8918b2449dafaf9463
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: http://review.coreboot.org/2883
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
This commit is contained in:
Aaron Durbin 2013-03-22 19:55:35 -05:00 committed by Stefan Reinauer
parent 2bd2e37536
commit d23e292ef6
1 changed files with 6 additions and 0 deletions

View File

@ -37,11 +37,17 @@ SECTIONS
.text : AT (_payload_begin_offset) { .text : AT (_payload_begin_offset) {
/* C code of the module. */ /* C code of the module. */
*(.textfirst);
*(.text); *(.text);
*(.text.*); *(.text.*);
/* C read-only data. */ /* C read-only data. */
. = ALIGN(16); . = ALIGN(16);
__CTOR_LIST__ = .;
*(.ctors);
LONG(0);
__CTOR_END__ = .;
/* The driver sections are to allow linking coreboot's /* The driver sections are to allow linking coreboot's
* ramstage with the rmodule linker. Any changes made in * ramstage with the rmodule linker. Any changes made in
* coreboot_ram.ld should be made here as well. */ * coreboot_ram.ld should be made here as well. */