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 ALIGN(16) : { *(.rodata*) } .data ALIGN(16) : { *(.data*) } .shstrtab ALIGN(16) : { *(.shstrtab*) } .bss ALIGN(16) : { *(.bss*) *(COMMON) } /* Discard bloat and unnecessary ELF sections */ /DISCARD/ : { *(*) } }