Commit | Line | Data |
---|---|---|
252b5132 RH |
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. | |
5 | test -z "$ENTRY" && ENTRY=__start | |
6 | test -z "$TEXT_START_ADDR" && TEXT_START_ADDR="0x120000000 + SIZEOF_HEADERS" | |
7 | if test "x$LD_FLAG" = "xn" -o "x$LD_FLAG" = "xN"; then | |
8 | DATA_ADDR=. | |
9 | else | |
10 | test -z "$DATA_ADDR" && DATA_ADDR=0x140000000 | |
11 | fi | |
12 | cat <<EOF | |
13 | OUTPUT_FORMAT("${OUTPUT_FORMAT}") | |
14 | ${LIB_SEARCH_DIRS} | |
15 | ||
16 | ENTRY(${ENTRY}) | |
17 | ||
18 | SECTIONS | |
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 | } | |
74 | EOF |