STARTUP(LIBC_PATH/arch/UARCH/src/entry.o) ENTRY(_start) PHDRS { text PT_LOAD FILEHDR PHDRS FLAGS(5); data PT_LOAD FLAGS(6); tls PT_TLS; } SECTIONS { #ifdef SHLIB . = SEGMENT_START("text-segment", 0); #else . = SEGMENT_START("text-segment", 0x400000); PROVIDE (__executable_start = .); #endif . = . + SIZEOF_HEADERS; .init : { *(.init); } :text .text : { *(.text .text.*); *(.rodata .rodata.*); } :text . = . + 0x1000; .data : { *(.opd); *(.data .data.*); *(.sdata); } :data .tdata : { *(.tdata); *(.tdata.*); *(.gnu.linkonce.td.*); } :data :tls .tbss : { *(.tbss); *(.tbss.*); *(.gnu.linkonce.tb.*); } :data :tls .bss : { *(.sbss); *(.scommon); *(COMMON); *(.bss); } :data __dso_handle = .; .init_array : { PROVIDE_HIDDEN (__init_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array .dtors)) PROVIDE_HIDDEN (__fini_array_end = .); } _end = .; /DISCARD/ : { *(*); } }