aboutsummaryrefslogtreecommitdiff
path: root/src/arch/x86/ramstage.ld
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/x86/ramstage.ld')
-rw-r--r--src/arch/x86/ramstage.ld11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/arch/x86/ramstage.ld b/src/arch/x86/ramstage.ld
index 1c8e8dcd6f..0843be7906 100644
--- a/src/arch/x86/ramstage.ld
+++ b/src/arch/x86/ramstage.ld
@@ -42,7 +42,7 @@ SECTIONS
.ctors : {
. = ALIGN(0x100);
__CTOR_LIST__ = .;
- *(.ctors);
+ KEEP(*(.ctors));
LONG(0);
__CTOR_END__ = .;
}
@@ -55,13 +55,13 @@ SECTIONS
* section names the equivalent changes need to made to
* rmodule.ld. */
pci_drivers = . ;
- *(.rodata.pci_driver)
+ KEEP(*(.rodata.pci_driver));
epci_drivers = . ;
cpu_drivers = . ;
- *(.rodata.cpu_driver)
+ KEEP(*(.rodata.cpu_driver));
ecpu_drivers = . ;
_bs_init_begin = .;
- *(.bs_init)
+ KEEP(*(.bs_init));
_bs_init_end = .;
*(.rodata)
@@ -82,6 +82,7 @@ SECTIONS
.data : {
_data = .;
*(.data)
+ *(.data.*)
_edata = .;
}
@@ -92,7 +93,9 @@ SECTIONS
_bss = .;
.bss . : {
*(.bss)
+ *(.bss.*)
*(.sbss)
+ *(.sbss.*)
*(COMMON)
}
_ebss = .;