1# Linker script for Alpha systems.
2# Ian Lance Taylor <ian@cygnus.com>.
3# These variables may be overridden by the emulation file.  The
4# defaults are appropriate for an Alpha running OSF/1.
5test -z "$ENTRY" && ENTRY=__start
6test -z "$TEXT_START_ADDR" && TEXT_START_ADDR="0x120000000 + SIZEOF_HEADERS"
7if test "x$LD_FLAG" = "xn" -o "x$LD_FLAG" = "xN"; then
8  DATA_ADDR=.
9else
10  test -z "$DATA_ADDR" && DATA_ADDR=0x140000000
11fi
12cat <<EOF
13OUTPUT_FORMAT("${OUTPUT_FORMAT}")
14${LIB_SEARCH_DIRS}
15
16ENTRY(${ENTRY})
17
18SECTIONS
19{
20  ${RELOCATING+. = ${TEXT_START_ADDR};}
21  .text : {
22    ${RELOCATING+ _ftext = . };
23    ${RELOCATING+ __istart = . };
24    ${RELOCATING+ *(.init) }
25    ${RELOCATING+ LONG (0x6bfa8001)}
26    ${RELOCATING+ eprol  =  .};
27    *(.text)
28    ${RELOCATING+ __fstart = . };
29    ${RELOCATING+ *(.fini)}
30    ${RELOCATING+ LONG (0x6bfa8001)}
31    ${RELOCATING+ _etext  =  .};
32  }
33  .rdata : {
34    *(.rdata)
35  }
36  .rconst : {
37    *(.rconst)
38  }
39  .pdata : {
40    ${RELOCATING+ _fpdata = .;}
41    *(.pdata)
42  }
43  ${RELOCATING+. = ${DATA_ADDR};}
44  .data : {
45    ${RELOCATING+ _fdata = .;}
46    *(.data)
47    ${CONSTRUCTING+CONSTRUCTORS}
48  }
49  .xdata : {
50    *(.xdata)
51  }
52  ${RELOCATING+ _gp = ALIGN (16) + 0x8000;}
53  .lit8 : {
54    *(.lit8)
55  }
56  .lita : {
57    *(.lita)
58  }
59  .sdata : {
60    *(.sdata)
61  }
62  ${RELOCATING+ _EDATA  =  .;}
63  ${RELOCATING+ _FBSS = .;}
64  .sbss : {
65    *(.sbss)
66    *(.scommon)
67  }
68  .bss : {
69    *(.bss)
70    *(COMMON)
71  }
72  ${RELOCATING+ _end = .;}
73}
74EOF
75