New files for Alpha linker.
authorIan Lance Taylor <ian@airs.com>
Tue, 19 Oct 1993 19:52:33 +0000 (19:52 +0000)
committerIan Lance Taylor <ian@airs.com>
Tue, 19 Oct 1993 19:52:33 +0000 (19:52 +0000)
ld/config/.Sanitize
ld/config/alpha.mt [new file with mode: 0644]
ld/emulparams/.Sanitize
ld/emulparams/alpha.sh [new file with mode: 0644]
ld/scripttempl/.Sanitize
ld/scripttempl/alpha.sc [new file with mode: 0644]

index 99d980dda9c7a36bf680153fc01dc4ba04e54968..1dfc83c4e1b4b33f12c747b94d6c23b8a59a6840 100644 (file)
@@ -24,6 +24,7 @@ Do-first:
 
 Things-to-keep:
 
+alpha.mt
 alphaosf.mh
 coff-a29k.mt
 coff-h8300.mt
diff --git a/ld/config/alpha.mt b/ld/config/alpha.mt
new file mode 100644 (file)
index 0000000..28d9649
--- /dev/null
@@ -0,0 +1 @@
+EMUL=alpha
index fb216f2d5b5432440f5cb393e3526d51cfa164fd..492f5cbe90f4a150d675f07f288231c3e753e98f 100644 (file)
@@ -26,6 +26,7 @@ Things-to-keep:
 
 README
 a29k.sh
+alpha.sh
 ebmon29k.sh
 elf32_sparc.sh
 elf64_sparc.sh
diff --git a/ld/emulparams/alpha.sh b/ld/emulparams/alpha.sh
new file mode 100644 (file)
index 0000000..141923f
--- /dev/null
@@ -0,0 +1,3 @@
+SCRIPT_NAME=alpha
+OUTPUT_FORMAT="ecoff-littlealpha"
+ARCH=alpha
index e2a8f1fb6beb3feedd769fc239d946d35f8583bb..360780c0a9a28485d33f789a8d4d9a61f3304b70 100644 (file)
@@ -26,6 +26,7 @@ Things-to-keep:
 
 README
 a29k.sc
+alpha.sc
 aout.sc
 ebmon29k.sc
 elf.sc
diff --git a/ld/scripttempl/alpha.sc b/ld/scripttempl/alpha.sc
new file mode 100644 (file)
index 0000000..e4deafb
--- /dev/null
@@ -0,0 +1,69 @@
+# Linker script for Alpha systems.
+# Ian Lance Taylor <ian@cygnus.com>.
+# These variables may be overridden by the emulation file.  The
+# defaults are appropriate for an Alpha running OSF/1.
+test -z "$ENTRY" && ENTRY=__start
+test -z "$TEXT_START_ADDR" && TEXT_START_ADDR="0x120000000 + SIZEOF_HEADERS"
+test -z "$DATA_ADDR" && DATA_ADDR=0x140000000
+cat <<EOF
+OUTPUT_FORMAT("${OUTPUT_FORMAT}")
+${LIB_SEARCH_DIRS}
+
+ENTRY(${ENTRY})
+
+SECTIONS
+{
+  .text ${RELOCATING+ ${TEXT_START_ADDR}} : {
+    ${RELOCATING+ _FTEXT = . };
+    ${RELOCATING+ __istart = . };
+    ${RELOCATING+ *(.init) }
+    ${RELOCATING+ LONG (0x6bfa8001)}
+    ${RELOCATING+ eprol  =  .};
+    *(.text)
+    ${RELOCATING+ __fstart = . };
+    ${RELOCATING+ *(.fini)}
+    ${RELOCATING+ LONG (0x6bfa8001)}
+    ${RELOCATING+ _ETEXT  =  .};
+  }
+  .rdata ${RELOCATING+ .} : {
+    *(.rdata)
+  }
+  .pdata . : {
+    ${RELOCATING+ _fpdata = .;}
+    *(.pdata)
+  }
+  .data ${RELOCATING+ ${DATA_ADDR}} : {
+    ${RELOCATING+ _FDATA = .;}
+    *(.data)
+    ${CONSTRUCTING+CONSTRUCTORS}
+  }
+  .xdata . : {
+    *(.xdata)
+  }
+  ${RELOCATING+ _gp = ALIGN (8) + 0x8000;}
+  .lit8 ${RELOCATING+ .} : {
+    *(.lit8)
+  }
+  .lit4 ${RELOCATING+ .} : {
+    *(.lit4)
+  }
+  .lita ${RELOCATING+ .} : {
+    *(.lita)
+  }
+  .sdata ${RELOCATING+ .} : {
+    *(.sdata)
+  }
+  ${RELOCATING+ _EDATA  =  .;}
+  ${RELOCATING+ _FBSS = .;}
+  .sbss ${RELOCATING+ .} : {
+    *(.sbss)
+    *(.scommon)
+  }
+  .bss ${RELOCATING+ .} : {
+    *(.bss)
+    *(COMMON)
+  }
+  ${RELOCATING+ _END = .;}
+  ${RELOCATING+ _end = .;}
+}
+EOF