/* * The difference from _link.ld.in for regular statically-linked apps * is the base address and the special interp section. */ STARTUP(LIBC_PREFIX/arch/UARCH/src/entry.o) ENTRY(__entry) PHDRS { interp PT_INTERP; text PT_LOAD FLAGS(5); data PT_LOAD FLAGS(6); debug PT_NOTE; } SECTIONS { .interp : { *(.interp); } :interp /* . = 0x0000700000001000; */ . = 0x70001000; .init ALIGN(0x1000) : SUBALIGN(0x1000) { *(.init); } :text .text : { *(.text); *(.rodata*); } :text .data ALIGN(0x1000) : SUBALIGN(0x1000) { *(.data); } :data .tdata : { _tdata_start = .; *(.tdata); _tdata_end = .; } :data .tbss : { _tbss_start = .; *(.tbss); _tbss_end = .; } :data _tls_alignment = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss)); .bss : { *(COMMON); *(.bss); } :data #ifdef CONFIG_LINE_DEBUG .comment 0 : { *(.comment); } :debug .debug_abbrev 0 : { *(.debug_abbrev); } :debug .debug_aranges 0 : { *(.debug_aranges); } :debug .debug_info 0 : { *(.debug_info); } :debug .debug_line 0 : { *(.debug_line); } :debug .debug_loc 0 : { *(.debug_loc); } :debug .debug_pubnames 0 : { *(.debug_pubnames); } :debug .debug_pubtypes 0 : { *(.debug_pubtypes); } :debug .debug_ranges 0 : { *(.debug_ranges); } :debug .debug_str 0 : { *(.debug_str); } :debug #endif /DISCARD/ : { *(*); } }