| 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 |