/ lds / riscv-virt.ld
riscv-virt.ld
 1  ENTRY(_start);
 2  
 3  SECTIONS {
 4    . = 0x80000000;
 5  
 6    PROVIDE(__kernel_start = .);
 7  
 8    .text : {
 9      PROVIDE(__text_start = .);
10      *(.text.boot)
11      *(.text .text.*)
12      PROVIDE(__text_end = .);
13    }
14  
15    .data : {
16      *(.data .data.* .rodata .rodata.*)
17      . = ALIGN(8);
18      PROVIDE(__global_pointer$ = . + 0x800);
19      *(.sdata .sdata.* .srodata .srodata.*)
20      PROVIDE(__bss_start = .);
21      *(.sbss .sbss.*)
22      *(.bss .bss.*)
23      PROVIDE(__bss_end = .);
24    }
25  
26    PROVIDE(__stack_bottom = .);
27    . += 4096;
28    PROVIDE(__stack_top = .);
29  
30    PROVIDE(__kernel_end = .);
31  
32    /DISCARD/ : {
33      *(.eh_frame)
34      *(.comment)
35    }
36  }