aboutsummaryrefslogtreecommitdiff
path: root/arch/x86_64/scripts/kernel.ld
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86_64/scripts/kernel.ld')
-rw-r--r--arch/x86_64/scripts/kernel.ld18
1 files changed, 17 insertions, 1 deletions
diff --git a/arch/x86_64/scripts/kernel.ld b/arch/x86_64/scripts/kernel.ld
index cc07896..3d9a7ae 100644
--- a/arch/x86_64/scripts/kernel.ld
+++ b/arch/x86_64/scripts/kernel.ld
@@ -85,9 +85,20 @@ SECTIONS
KEEP(*crtn.s.o*(.fini))
}
+ .stl_text ALIGN(4K) : AT(ADDR (.stl_text))
+ {
+ *(.stl_text .stl_text*)
+ KEEP(*libstdc++.a:*(.text .text.*))
+ }
+
.text ALIGN(4K) : AT(ADDR (.text))
{
- *(.text*)
+ *(.text .text.*)
+ }
+
+ .user_text ALIGN(4K) : AT(ADDR (.user_text))
+ {
+ *(.user_text .user_text.*)
}
.rodata ALIGN(4K) : AT (ADDR (.rodata))
@@ -123,6 +134,11 @@ SECTIONS
*(.data*)
}
+ .user_data ALIGN(4K) : AT (ADDR (.user_data))
+ {
+ *(.user_data .user_data.*)
+ }
+
/***************************************************************************
* In accordance with the symbol definitions at the start, we generate some
* symbols to mark the end of our loaded image.