support for Xgo32X.
authorSteve Chamberlain <sac@cygnus>
Fri, 6 May 1994 19:27:57 +0000 (19:27 +0000)
committerSteve Chamberlain <sac@cygnus>
Fri, 6 May 1994 19:27:57 +0000 (19:27 +0000)
ld/scripttempl/.Sanitize
ld/scripttempl/go32coff.sc [new file with mode: 0644]

index 03923195a3188b41c7254dc4fa999b63e47174fb..0b47863f09b7fceb331914c338456519467a3b1d 100644 (file)
@@ -30,6 +30,7 @@ alpha.sc
 aout.sc
 ebmon29k.sc
 elf.sc
+go32coff.sc
 h8300.sc
 h8300h.sc
 h8500.sc
diff --git a/ld/scripttempl/go32coff.sc b/ld/scripttempl/go32coff.sc
new file mode 100644 (file)
index 0000000..2e2a52c
--- /dev/null
@@ -0,0 +1,44 @@
+# Linker script for 386 COFF.  This works on SVR3.2 and SCO Unix 3.2.2.
+# .data2 handles SCO, which uses two data sections.
+# Ian Taylor <ian@cygnus.com>.
+test -z "$ENTRY" && ENTRY=_start
+# These are substituted in as variables in order to get '}' in a shell
+# conditional expansion.
+INIT='.init : { *(.init) }'
+FINI='.fini : { *(.fini) }'
+cat <<EOF
+OUTPUT_FORMAT("${OUTPUT_FORMAT}")
+${LIB_SEARCH_DIRS}
+
+ENTRY(${ENTRY})
+
+SECTIONS
+{
+  .text ${RELOCATING+ SIZEOF_HEADERS} : {
+    ${RELOCATING+ *(.init)}
+    *(.text)
+    ${RELOCATING+ *(.fini)}
+    ${RELOCATING+ etext  =  .};
+  }
+  .data ${RELOCATING+ 0x400000 + (. & 0xffc00fff)} : {
+    *(.data .data2)
+    ${RELOCATING+ edata  =  .};
+  }
+  .bss ${RELOCATING+ SIZEOF(.data) + ADDR(.data)} :
+  {                                    
+    *(.bss)
+    *(COMMON)
+    ${RELOCATING+ end = .};
+  }
+  ${RELOCATING- ${INIT}}
+  ${RELOCATING- ${FINI}}
+  .stab  . (NOLOAD) : 
+  {
+    [ .stab ]
+  }
+  .stabstr  . (NOLOAD) :
+  {
+    [ .stabstr ]
+  }
+}
+EOF