-
Notifications
You must be signed in to change notification settings - Fork 0
/
linker.ld
46 lines (40 loc) · 893 Bytes
/
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
OUTPUT_ARCH("riscv")
ENTRY(_start)
. = 0x80200000; /* Hint where to place the code to QEMU, the kernel is in practice Position Independant */
SECTIONS
{
.text : {
*(.text.init) /* Startup code first */
*(.text.trap) /* Then trap handlers */
*(.text) /* Regular code */
*(.text.*) /* Other text sections */
. = ALIGN(8);
}
.rodata : {
*(.rodata)
*(.rodata.*)
*(.srodata.*)
. = ALIGN(8);
}
.data : {
*(.data)
*(.data.*)
*(.sdata)
*(.sdata.*)
. = ALIGN(8);
}
.bss : {
*(.bss)
*(.bss.*)
*(.sbss)
*(.sbss.*)
*(COMMON)
. = ALIGN(8);
}
/* Stack setup */
.stack (NOLOAD) : {
. = ALIGN(16);
. += 0x4000; /* 16KB stack */
stack_top = .;
}
}