aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1993-10-19 19:52:33 +0000
committerIan Lance Taylor <ian@airs.com>1993-10-19 19:52:33 +0000
commit42f9673d8b0cef9323a8e2865bd3c89477d95050 (patch)
tree8b63f552245c33ebf1d43bd3117d45f7695ca892 /ld
parent5fa2aaa241734815932d8ce3d699eeb8d16d7ed1 (diff)
downloadfsf-binutils-gdb-42f9673d8b0cef9323a8e2865bd3c89477d95050.zip
fsf-binutils-gdb-42f9673d8b0cef9323a8e2865bd3c89477d95050.tar.gz
fsf-binutils-gdb-42f9673d8b0cef9323a8e2865bd3c89477d95050.tar.bz2
New files for Alpha linker.
Diffstat (limited to 'ld')
-rw-r--r--ld/config/.Sanitize1
-rw-r--r--ld/config/alpha.mt1
-rw-r--r--ld/emulparams/.Sanitize1
-rw-r--r--ld/emulparams/alpha.sh3
-rw-r--r--ld/scripttempl/.Sanitize1
-rw-r--r--ld/scripttempl/alpha.sc69
6 files changed, 76 insertions, 0 deletions
diff --git a/ld/config/.Sanitize b/ld/config/.Sanitize
index 99d980d..1dfc83c 100644
--- a/ld/config/.Sanitize
+++ b/ld/config/.Sanitize
@@ -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
index 0000000..28d9649
--- /dev/null
+++ b/ld/config/alpha.mt
@@ -0,0 +1 @@
+EMUL=alpha
diff --git a/ld/emulparams/.Sanitize b/ld/emulparams/.Sanitize
index fb216f2..492f5cb 100644
--- a/ld/emulparams/.Sanitize
+++ b/ld/emulparams/.Sanitize
@@ -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
index 0000000..141923f
--- /dev/null
+++ b/ld/emulparams/alpha.sh
@@ -0,0 +1,3 @@
+SCRIPT_NAME=alpha
+OUTPUT_FORMAT="ecoff-littlealpha"
+ARCH=alpha
diff --git a/ld/scripttempl/.Sanitize b/ld/scripttempl/.Sanitize
index e2a8f1f..360780c 100644
--- a/ld/scripttempl/.Sanitize
+++ b/ld/scripttempl/.Sanitize
@@ -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
index 0000000..e4deafb
--- /dev/null
+++ b/ld/scripttempl/alpha.sc
@@ -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