diff --git a/src/arch/x86_64/linker.ld b/src/arch/x86_64/linker.ld index 6d512b63..ff773527 100644 --- a/src/arch/x86_64/linker.ld +++ b/src/arch/x86_64/linker.ld @@ -14,28 +14,39 @@ ENTRY(start) SECTIONS { . = 1M; - .rodata : ALIGN(4K) + .rodata : { /* ensure that the multiboot header is at the beginning */ KEEP(*(.multiboot_header)) *(.rodata .rodata.*) + . = ALIGN(4K); } - .text : ALIGN(4K) + .text : { *(.text .text.*) + . = ALIGN(4K); } - .data : ALIGN(4K) + .data : { *(.data .data.*) + . = ALIGN(4K); + } + + .bss : + { + *(.bss .bss.*) + . = ALIGN(4K); } .data.rel.ro : ALIGN(4K) { *(.data.rel.ro.local*) *(.data.rel.ro .data.rel.ro.*) + . = ALIGN(4K); } .gcc_except_table : ALIGN(4K) { *(.gcc_except_table) + . = ALIGN(4K); } }