STARTUP(LIBC_PREFIX/arch/UARCH/src/entry.o) ENTRY(__entry) PHDRS { text PT_LOAD FLAGS(5); interp PT_INTERP; data PT_LOAD FLAGS(6); dynamic PT_DYNAMIC; } SECTIONS { . = 0x1000 + SIZEOF_HEADERS; .interp : { *(.interp); } :interp .init : { *(.init); } :text .text : { *(.text); *(.text.*); *(.rodata*); } :text .rel.plt : { *(.rel.plt); } /* *.rel.dyn MUST FOLLOW IMMEDIATELY after .rel.plt * without alignment gap or DT_REL will be broken */ .rel.dyn : { *(.rel.*); } :text .plt : { *(.plt); } :text .dynsym : { *(.dynsym); } :text .dynstr : { *(.dynstr); } :text . = . + 0x1000; .dynamic : { *(.dynamic); } :data :dynamic .data : { *(.data); } :data .data.rel : { *(.data.rel); } :data .got : { *(.got); } :data .got.plt : { *(.got.plt); } :data .bss : { *(COMMON); *(.bss); } :data /* .tdata : { _tdata_start = .; *(.tdata); _tdata_end = .; } :data .tbss : { _tbss_start = .; *(.tbss); _tbss_end = .; } :data _tls_alignment = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss)); */ /DISCARD/ : { *(.comment); } . = ALIGN(0x1000); _heap = .; }