diff options
Diffstat (limited to 'arch/x86_64/scripts/kernel.ld')
| -rw-r--r-- | arch/x86_64/scripts/kernel.ld | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/arch/x86_64/scripts/kernel.ld b/arch/x86_64/scripts/kernel.ld index 1925872..e5cbc73 100644 --- a/arch/x86_64/scripts/kernel.ld +++ b/arch/x86_64/scripts/kernel.ld @@ -85,21 +85,21 @@ SECTIONS KEEP(*crtn.s.o*(.fini)) } - .text ALIGN(4K) : AT(ADDR (.text)) + .stl_text ALIGN(4K) : AT(ADDR (.stl_text)) { - *(.text*) - *(EXCLUDE_FILE (*libstdc++.a) .text .text.*) + *(.stl_text) + KEEP(*libstdc++.a:*(.text .text.*)) + KEEP(*libatomic.a:*(.text .text.*)) /* Attempt to move atomic stl into stl_text as well, doesn't work */ } - .user_text ALIGN(4K) : AT(ADDR (.user_text)) + .text ALIGN(4K) : AT(ADDR (.text)) { - *(.user_text) + *(.text .text.*) } - .stl_text ALIGN(4K) : AT(ADDR (.stl_text)) + .user_text ALIGN(4K) : AT(ADDR (.user_text)) { - *(.stl_text) - *libstdc++.a:*(.text .text.*) + *(.user_text) } .rodata ALIGN(4K) : AT (ADDR (.rodata)) |
