-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlinker.ld
58 lines (50 loc) · 1.01 KB
/
linker.ld
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
ENTRY(_start)
SECTIONS {
. = 0x00100000;
.multiboot.data ALIGN (0x1000) :
{
*(.multiboot.data)
}
.multiboot.text ALIGN (0x1000) :
{
*(.multiboot.text)
}
.multiboot.bss ALIGN (0x1000) :
{
*(.multiboot.bss)
}
. += 0x4000000;
.usermode.text ALIGN (0x1000) :
{
_usermode_text_start = .;
*(.usermode.text)
}
.usermode.data ALIGN (0x1000) :
{
*(.usermode.data)
_usermode_text_end = .;
}
_virt_kernel_addr = 0xC0000000;
. += 0xBC000000;
.text ALIGN (0x1000) : AT(ADDR(.text) - 0xC0000000)
{
_rodata_start = .;
*(.text)
}
.rodata ALIGN (0x1000) : AT(ADDR(.rodata) - 0xC0000000)
{
*(.rodata)
_rodata_end = .;
}
.data ALIGN (0x1000) : AT(ADDR(.data) - 0xC0000000)
{
*(.data)
}
.bss ALIGN (0x1000) : AT(ADDR(.bss) - 0xC0000000)
{
*(COMMON)
*(.bss)
}
. = ALIGN(0x1000);
_kernel_end = .;
}