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 }