Merge from gcc
[binutils.git] / ld / scripttempl / i386coff.sc
blobfbb1b7918c76511756cedeacf0bc748fc2cbb399
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}
12 ENTRY(${ENTRY})
14 SECTIONS
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   }
43 EOF