ENTRY(_start) PHDRS { text PT_LOAD FLAGS(5); /* RX: Read/Execute */ } SECTIONS { PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x400000)); . = SEGMENT_START("text-segment", 0x400000) + SIZEOF_HEADERS; .text ALIGN(16) : { *(.text*) } .rodata : { *(.rodata*) } .data : { *(.data*) } .shstrtab : { *(.shstrtab*) } .bss : { *(.bss*) *(COMMON) } /* Discard bloat and unnecessary ELF sections */ /DISCARD/ : { *(*) } }