/* Force ld to make the ELF header as loadable. */ PHDRS { headers PT_LOAD FILEHDR PHDRS ; text PT_LOAD ; data PT_LOAD ; dynamic PT_DYNAMIC ; eh_frame PT_GNU_EH_FRAME ; } SECTIONS { /* Push back .text section enough so that ld.lld not complain */ . = SIZEOF_HEADERS; .text : { *(.text .text.*) } : text .rodata : { *(.rodata .rodata.*) } .eh_frame : { KEEP(*(.eh_frame)) } : text .eh_frame_hdr : { KEEP(*(.eh_frame_hdr)) } : text : eh_frame .data : { *(.data) } : data .dynamic : { *(.dynamic) } : data : dynamic .bss (NOLOAD) : ALIGN(4) { __bss_start = .; *(.sbss .sbss.* .bss .bss.*); . = ALIGN(4); _end = .; } }