summaryrefslogtreecommitdiff
path: root/arch/amd64/linker.sc
blob: 16d9330bf46eb3b6ed762e6e8c4aa05a72bb385f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
OUTPUT(elf64-x86-64)
ENTRY(amd64_quirks)

SECTIONS {
	. = 0xffffffff80000000;

	.stack (NOLOAD) : {
		. = ALIGN(8);
		. += 0x10000;
		. = ALIGN(8);
		kernel_stack_high = .;
	} :stack

	kernel_begin = .;
	.text : {
		KEEP(*(.text .text.*))
	} :text

	. += CONSTANT(MAXPAGESIZE);

	.rodata : {
		KEEP(*(.rodata .rodata.*))
	} :rodata

	.data : {
		KEEP(*(.data .data.*))
	} :data

	.bss (NOLOAD) : {
		KEEP(*(COMMON))
		KEEP(*(.bss .bss.*))
	} :data
	kernel_end = .;
}