Commit | Line | Data |
---|---|---|
252b5132 RH |
1 | # Linker script for 386 COFF. This works on SVR3.2 and SCO Unix 3.2.2. |
2 | # Ian Taylor <ian@cygnus.com>. | |
3 | test -z "$ENTRY" && ENTRY=_start | |
4 | # These are substituted in as variables in order to get '}' in a shell | |
5 | # conditional expansion. | |
6 | INIT='.init : { *(.init) }' | |
7 | FINI='.fini : { *(.fini) }' | |
8 | cat <<EOF | |
9 | OUTPUT_FORMAT("${OUTPUT_FORMAT}") | |
10 | ${LIB_SEARCH_DIRS} | |
11 | ||
12 | ENTRY(${ENTRY}) | |
13 | ||
14 | SECTIONS | |
15 | { | |
16 | .text ${RELOCATING+ SIZEOF_HEADERS} : { | |
17 | ${RELOCATING+ *(.init)} | |
18 | *(.text) | |
19 | ${RELOCATING+ *(.fini)} | |
20 | ${RELOCATING+ etext = .}; | |
21 | } | |
22 | .data ${RELOCATING+ 0x400000 + (. & 0xffc00fff)} : { | |
23 | *(.data) | |
24 | ${RELOCATING+ edata = .}; | |
25 | } | |
26 | .bss ${RELOCATING+ SIZEOF(.data) + ADDR(.data)} : | |
27 | { | |
28 | *(.bss) | |
29 | *(COMMON) | |
30 | ${RELOCATING+ end = .}; | |
31 | } | |
32 | ${RELOCATING- ${INIT}} | |
33 | ${RELOCATING- ${FINI}} | |
34 | .stab 0 ${RELOCATING+(NOLOAD)} : | |
35 | { | |
36 | [ .stab ] | |
37 | } | |
38 | .stabstr 0 ${RELOCATING+(NOLOAD)} : | |
39 | { | |
40 | [ .stabstr ] | |
41 | } | |
42 | } | |
43 | EOF |