| /* Simple linker script for the ROS kernel. | 
 |    See the GNU ld 'info' manual ("info ld") to learn the syntax. */ | 
 |  | 
 | OUTPUT_ARCH("riscv") | 
 | ENTRY(_start) | 
 |  | 
 | SECTIONS | 
 | { | 
 | 	/* Link the kernel for 0xFFFFFFFF80002000, but load it at 0x2000) */ | 
 |  | 
 | 	.text 0xFFFFFFFF80002000 : AT(0x2000) { | 
 | 		*(.text .stub .text.* .gnu.linkonce.t.*) | 
 | 		/* Define the 'etext' symbol to this value */ | 
 | 		PROVIDE(etext = .); | 
 | 	} | 
 |  | 
 | 	INCLUDE kern/linker_tables.ld | 
 | 	INCLUDE kern/build_id.ld | 
 |  | 
 | 	.rodata : { | 
 | 		*(.rodata .rodata.* .gnu.linkonce.r.*) | 
 | 	} | 
 |  | 
 | 	/* Adjust the address for the data segment to the next page */ | 
 | 	. = ALIGN(0x1000); | 
 |  | 
 | 	/* The data segment */ | 
 | 	.data : { | 
 | 		*(.data) | 
 | 		*(.sdata) | 
 | 	} | 
 |  | 
 | 	.bss : { | 
 | 		PROVIDE(__start_bss = .); | 
 | 		*(.bss) | 
 | 		*(.sbss) | 
 | 		PROVIDE(__stop_bss = .); | 
 | 	} | 
 |  | 
 | 	.end : { | 
 | 		PROVIDE(end = .); | 
 | 	} | 
 |  | 
 | 	/DISCARD/ : { | 
 | 		*(.eh_frame .note.GNU-stack) | 
 | 	} | 
 | } |