OUTPUT_ARCH(riscv) ENTRY(_start) PHDRS { text PT_LOAD FLAGS (5); rodata PT_LOAD FLAGS (4); data PT_LOAD FLAGS (6); } SECTIONS { . = 0x400000; .text : { *(.text .text.* ); . = ALIGN(4096); } : text .rodata : { *(.rodata .rodata.*); . = ALIGN(4096); } : rodata .data : { *(.data .data.* ); . = ALIGN(4096); } : data .bss : { *(.bss .bss.* ); . = ALIGN(4096); } : data }