12159047fSniklas# Linker script for MIPS systems. 22159047fSniklas# Ian Lance Taylor <ian@cygnus.com>. 32159047fSniklas# These variables may be overridden by the emulation file. The 42159047fSniklas# defaults are appropriate for a DECstation running Ultrix. 52159047fSniklastest -z "$ENTRY" && ENTRY=__start 6*191aa565Sniklas 7*191aa565Sniklasif [ -z "$EMBEDDED" ]; then 82159047fSniklas test -z "$TEXT_START_ADDR" && TEXT_START_ADDR="0x400000 + SIZEOF_HEADERS" 9*191aa565Sniklaselse 10*191aa565Sniklas test -z "$TEXT_START_ADDR" && TEXT_START_ADDR="0x400000" 11*191aa565Sniklasfi 122159047fSniklasif test "x$LD_FLAG" = "xn" -o "x$LD_FLAG" = "xN"; then 132159047fSniklas DATA_ADDR=. 142159047fSniklaselse 152159047fSniklas test -z "$DATA_ADDR" && DATA_ADDR=0x10000000 162159047fSniklasfi 172159047fSniklascat <<EOF 182159047fSniklasOUTPUT_FORMAT("${OUTPUT_FORMAT}", "${BIG_OUTPUT_FORMAT}", 192159047fSniklas "${LITTLE_OUTPUT_FORMAT}") 202159047fSniklas${LIB_SEARCH_DIRS} 212159047fSniklas 222159047fSniklasENTRY(${ENTRY}) 232159047fSniklas 242159047fSniklasSECTIONS 252159047fSniklas{ 262159047fSniklas ${RELOCATING+. = ${TEXT_START_ADDR};} 272159047fSniklas .text : { 282159047fSniklas ${RELOCATING+ _ftext = . }; 292159047fSniklas *(.init) 302159047fSniklas ${RELOCATING+ eprol = .}; 312159047fSniklas *(.text) 322159047fSniklas ${RELOCATING+PROVIDE (__runtime_reloc_start = .);} 332159047fSniklas *(.rel.sdata) 342159047fSniklas ${RELOCATING+PROVIDE (__runtime_reloc_stop = .);} 352159047fSniklas *(.fini) 362159047fSniklas ${RELOCATING+ etext = .}; 372159047fSniklas ${RELOCATING+ _etext = .}; 382159047fSniklas } 392159047fSniklas ${RELOCATING+. = ${DATA_ADDR};} 402159047fSniklas .rdata : { 412159047fSniklas *(.rdata) 422159047fSniklas } 432159047fSniklas ${RELOCATING+ _fdata = ALIGN(16);} 442159047fSniklas .data : { 452159047fSniklas *(.data) 462159047fSniklas ${CONSTRUCTING+CONSTRUCTORS} 472159047fSniklas } 482159047fSniklas ${RELOCATING+ _gp = ALIGN(16) + 0x8000;} 492159047fSniklas .lit8 : { 502159047fSniklas *(.lit8) 512159047fSniklas } 522159047fSniklas .lit4 : { 532159047fSniklas *(.lit4) 542159047fSniklas } 552159047fSniklas .sdata : { 562159047fSniklas *(.sdata) 572159047fSniklas } 582159047fSniklas ${RELOCATING+ edata = .;} 592159047fSniklas ${RELOCATING+ _edata = .;} 602159047fSniklas ${RELOCATING+ _fbss = .;} 612159047fSniklas .sbss : { 622159047fSniklas *(.sbss) 632159047fSniklas *(.scommon) 642159047fSniklas } 652159047fSniklas .bss : { 662159047fSniklas *(.bss) 672159047fSniklas *(COMMON) 682159047fSniklas } 692159047fSniklas ${RELOCATING+ end = .;} 702159047fSniklas ${RELOCATING+ _end = .;} 712159047fSniklas} 722159047fSniklasEOF 73