cat <<EOF OUTPUT_FORMAT(${OUTPUT_FORMAT}) OUTPUT_ARCH(${ARCH}) ${RELOCATING+${LIB_SEARCH_DIRS}} SECTIONS { .text ${RELOCATING:-0} ${RELOCATING+${TEXT_START_ADDR}} : { ${RELOCATING+ start = DEFINED(_START) ? _START : DEFINED(_start) ? _start : .;} ${RELOCATING+ PROVIDE(__text = .);} *(.text); *(code); *(const); *(strings); *(pSOS); *(pROBE); *(pNA); *(pHILE); *(pREPC); *(pRPC); ${CONSTRUCTING+ ___CTOR_LIST__ = .;} ${CONSTRUCTING+ LONG((___CTOR_END__ - ___CTOR_LIST__) / 4 - 2)} ${CONSTRUCTING+ *(.ctors)} ${CONSTRUCTING+ LONG(0);} ${CONSTRUCTING+ ___CTOR_END__ = .;} ${CONSTRUCTING+ ___DTOR_LIST__ = .;} ${CONSTRUCTING+ LONG((___DTOR_END__ - ___DTOR_LIST__) / 4 - 2);} ${CONSTRUCTING+ *(.dtors);} ${CONSTRUCTING+ LONG(0);} ${CONSTRUCTING+ ___DTOR_END__ = .;} ${RELOCATING+ PROVIDE(__etext = .);} ${RELOCATING+ PROVIDE(_etext = .);} } .data ${RELOCATING:-0} : ${RELOCATING+ AT(ADDR(.text) + SIZEOF(.text))} { ${RELOCATING+ PROVIDE(__data = .);} *(.data); *(vars); ${RELOCATING+ PROVIDE(__edata = .);} ${RELOCATING+ PROVIDE(_edata = .);} } .bss ${RELOCATING:-0} : { ${RELOCATING+ PROVIDE(__bss = .);} *(.bss); *(zerovars); *(COMMON); ${RELOCATING+ PROVIDE(__ebss = .);} ${RELOCATING+ PROVIDE(__end = .);} ${RELOCATING+ PROVIDE(_end = .);} ${RELOCATING+ PROVIDE(_FreeMemStart = .);} } .stab 0 ${RELOCATING+(NOLOAD)} : { *(.stab); } .stabstr 0 ${RELOCATING+(NOLOAD)} : { *(.stabstr); } } EOF