xref: /openbsd-src/gnu/usr.bin/binutils/ld/scripttempl/alpha.sc (revision 191aa56503508614b4308d555aa5d4ae85ef3df7)
12159047fSniklas# Linker script for Alpha systems.
22159047fSniklas# Ian Lance Taylor <ian@cygnus.com>.
32159047fSniklas# These variables may be overridden by the emulation file.  The
42159047fSniklas# defaults are appropriate for an Alpha running OSF/1.
52159047fSniklastest -z "$ENTRY" && ENTRY=__start
62159047fSniklastest -z "$TEXT_START_ADDR" && TEXT_START_ADDR="0x120000000 + SIZEOF_HEADERS"
72159047fSniklasif test "x$LD_FLAG" = "xn" -o "x$LD_FLAG" = "xN"; then
82159047fSniklas  DATA_ADDR=.
92159047fSniklaselse
102159047fSniklas  test -z "$DATA_ADDR" && DATA_ADDR=0x140000000
112159047fSniklasfi
122159047fSniklascat <<EOF
132159047fSniklasOUTPUT_FORMAT("${OUTPUT_FORMAT}")
142159047fSniklas${LIB_SEARCH_DIRS}
152159047fSniklas
162159047fSniklasENTRY(${ENTRY})
172159047fSniklas
182159047fSniklasSECTIONS
192159047fSniklas{
202159047fSniklas  ${RELOCATING+. = ${TEXT_START_ADDR};}
212159047fSniklas  .text : {
222159047fSniklas    ${RELOCATING+ _ftext = . };
232159047fSniklas    ${RELOCATING+ __istart = . };
242159047fSniklas    ${RELOCATING+ *(.init) }
252159047fSniklas    ${RELOCATING+ LONG (0x6bfa8001)}
262159047fSniklas    ${RELOCATING+ eprol  =  .};
272159047fSniklas    *(.text)
282159047fSniklas    ${RELOCATING+ __fstart = . };
292159047fSniklas    ${RELOCATING+ *(.fini)}
302159047fSniklas    ${RELOCATING+ LONG (0x6bfa8001)}
312159047fSniklas    ${RELOCATING+ _etext  =  .};
322159047fSniklas  }
332159047fSniklas  .rdata : {
342159047fSniklas    *(.rdata)
352159047fSniklas  }
36*191aa565Sniklas  .rconst : {
37*191aa565Sniklas    *(.rconst)
38*191aa565Sniklas  }
392159047fSniklas  .pdata : {
402159047fSniklas    ${RELOCATING+ _fpdata = .;}
412159047fSniklas    *(.pdata)
422159047fSniklas  }
432159047fSniklas  ${RELOCATING+. = ${DATA_ADDR};}
442159047fSniklas  .data : {
452159047fSniklas    ${RELOCATING+ _fdata = .;}
462159047fSniklas    *(.data)
472159047fSniklas    ${CONSTRUCTING+CONSTRUCTORS}
482159047fSniklas  }
492159047fSniklas  .xdata : {
502159047fSniklas    *(.xdata)
512159047fSniklas  }
522159047fSniklas  ${RELOCATING+ _gp = ALIGN (16) + 0x8000;}
532159047fSniklas  .lit8 : {
542159047fSniklas    *(.lit8)
552159047fSniklas  }
562159047fSniklas  .lita : {
572159047fSniklas    *(.lita)
582159047fSniklas  }
592159047fSniklas  .sdata : {
602159047fSniklas    *(.sdata)
612159047fSniklas  }
622159047fSniklas  ${RELOCATING+ _EDATA  =  .;}
632159047fSniklas  ${RELOCATING+ _FBSS = .;}
642159047fSniklas  .sbss : {
652159047fSniklas    *(.sbss)
662159047fSniklas    *(.scommon)
672159047fSniklas  }
682159047fSniklas  .bss : {
692159047fSniklas    *(.bss)
702159047fSniklas    *(COMMON)
712159047fSniklas  }
722159047fSniklas  ${RELOCATING+ _end = .;}
732159047fSniklas}
742159047fSniklasEOF
75