2023-01-15 19:25:25 +00:00
|
|
|
OUTPUT_ARCH(i386)
|
|
|
|
ENTRY(entry)
|
|
|
|
|
|
|
|
SECTIONS
|
|
|
|
{
|
|
|
|
. = 1M;
|
2023-07-02 14:47:18 +00:00
|
|
|
|
2023-01-20 13:17:11 +00:00
|
|
|
kernel_start = .;
|
2023-01-15 19:25:25 +00:00
|
|
|
|
2023-07-12 11:24:17 +00:00
|
|
|
.multiboot ALIGN(0x1000): {
|
2023-07-02 14:47:18 +00:00
|
|
|
KEEP(*(.multiboot.data))
|
|
|
|
KEEP(*(.multiboot.text))
|
|
|
|
}
|
|
|
|
|
|
|
|
. += 0xC0100000;
|
|
|
|
|
|
|
|
.text ALIGN(0x1000) : AT(ADDR(.text) - 0xC0000000) {
|
2023-01-15 19:25:25 +00:00
|
|
|
*(.text)
|
|
|
|
}
|
|
|
|
|
2023-07-02 14:47:18 +00:00
|
|
|
.rodata ALIGN(0x1000) : AT(ADDR(.rodata) - 0xC0000000) {
|
2023-01-15 19:25:25 +00:00
|
|
|
*(.rodata)
|
|
|
|
}
|
|
|
|
|
2023-07-02 14:47:18 +00:00
|
|
|
.data ALIGN(0x1000) : AT(ADDR(.data) - 0xC0000000) {
|
2023-01-15 19:25:25 +00:00
|
|
|
*(.data)
|
|
|
|
}
|
|
|
|
|
2023-07-02 14:47:18 +00:00
|
|
|
.bss ALIGN(0x1000) : AT(ADDR(.bss) - 0xC0000000) {
|
|
|
|
bss_start = .;
|
2023-01-15 19:25:25 +00:00
|
|
|
*(COMMON)
|
|
|
|
*(.bss)
|
2023-07-02 14:47:18 +00:00
|
|
|
bss_end = .;
|
2023-01-15 19:25:25 +00:00
|
|
|
}
|
2023-01-20 13:17:11 +00:00
|
|
|
|
|
|
|
kernel_end = .;
|
2023-01-15 19:25:25 +00:00
|
|
|
}
|
2023-01-24 14:57:14 +00:00
|
|
|
|
|
|
|
kernel_size = kernel_end - kernel_start;
|