* Linker Script
*/
-_kernel_base = 0xFFFF800000000000;
+/* _kernel_base = 0xFFFF800000000000; */
+/* -2 GiB */
+_kernel_base = 0xFFFFFFFF80000000;
+/*
OUTPUT_FORMAT(elf32-i386)
OUTPUT_ARCH(i386:x86-64)
-ENTRY (start)
+*/
+OUTPUT_FORMAT(elf64-x86-64)
+ENTRY(start)
SECTIONS {
. = 0x100000;
.usertext ALIGN(0x1000): AT(ADDR(.usertext) - _kernel_base) {
_UsertextBase = .;
*(.usertext)
+ _UsertextEnd = .;
}
- _UsertextEnd = .;
.rodata ALIGN(0x1000): AT(ADDR(.rodata) - _kernel_base) {
*(.initpd)
- *(.rodata)
+ *(.rodata .rodata.*)
*(.rdata)
. = ALIGN(0x10);
gKernelSymbolsEnd = .;
}
- .padata ALIGN (0x1000) : AT(ADDR(.padata) - _kernel_base) {
- *(.padata)
- }
-
.data ALIGN (0x1000) : AT(ADDR(.data) - _kernel_base) {
+ *(.padata)
*(.data)
}
__bss_start = .;
.bss : AT(ADDR(.bss) - _kernel_base) {
- _sbss = .;
*(COMMON)
*(.bss)
- _ebss = .;
}
gKernelEnd = (. + 0xFFF)&0xFFFFFFFFFFFFF000;
}