Commit | Line | Data |
---|---|---|
252b5132 RH |
1 | # Linker script for i386 go32 (DJGPP) |
2 | ||
3 | test -z "$ENTRY" && ENTRY=start | |
4 | EXE=${CONSTRUCTING+${RELOCATING+-exe}} | |
5 | ||
6 | # These are substituted in as variables in order to get '}' in a shell | |
7 | # conditional expansion. | |
8 | CTOR='.ctor : { *(.ctor) }' | |
9 | DTOR='.dtor : { *(.dtor) }' | |
10 | ||
11 | cat <<EOF | |
12 | OUTPUT_FORMAT("${OUTPUT_FORMAT}${EXE}") | |
13 | ||
14 | ENTRY(${ENTRY}) | |
15 | ||
16 | SECTIONS | |
17 | { | |
18 | .text ${RELOCATING+ ${TARGET_PAGE_SIZE}+SIZEOF_HEADERS} : { | |
19 | *(.text) | |
20 | *(.const*) | |
21 | *(.ro*) | |
22 | ${RELOCATING+etext = . ; _etext = .}; | |
23 | ${RELOCATING+. = ALIGN(${SEGMENT_SIZE});} | |
24 | } | |
25 | .data ${RELOCATING+ ${DATA_ALIGNMENT}} : { | |
26 | ${RELOCATING+djgpp_first_ctor = . ; | |
27 | *(.ctor) | |
28 | djgpp_last_ctor = . ;} | |
29 | ${RELOCATING+djgpp_first_dtor = . ; | |
30 | *(.dtor) | |
31 | djgpp_last_dtor = . ;} | |
32 | *(.data) | |
33 | ${RELOCATING+ edata = . ; _edata = .}; | |
34 | ${RELOCATING+ . = ALIGN(${SEGMENT_SIZE});} | |
35 | } | |
36 | ${CONSTRUCTING+${RELOCATING-$CTOR}} | |
37 | ${CONSTRUCTING+${RELOCATING-$DTOR}} | |
38 | .bss ${RELOCATING+ SIZEOF(.data) + ADDR(.data)} : | |
39 | { | |
40 | *(.bss) | |
41 | *(COMMON) | |
42 | ${RELOCATING+ end = . ; _end = .}; | |
43 | ${RELOCATING+ . = ALIGN(${SEGMENT_SIZE});} | |
44 | } | |
45 | } | |
46 | EOF |