New files for Alpha linker.

This commit is contained in:
Ian Lance Taylor 1993-10-19 19:52:33 +00:00
parent 5fa2aaa241
commit 42f9673d8b
6 changed files with 76 additions and 0 deletions

View File

@ -24,6 +24,7 @@ Do-first:
Things-to-keep:
alpha.mt
alphaosf.mh
coff-a29k.mt
coff-h8300.mt

1
ld/config/alpha.mt Normal file
View File

@ -0,0 +1 @@
EMUL=alpha

View File

@ -26,6 +26,7 @@ Things-to-keep:
README
a29k.sh
alpha.sh
ebmon29k.sh
elf32_sparc.sh
elf64_sparc.sh

3
ld/emulparams/alpha.sh Normal file
View File

@ -0,0 +1,3 @@
SCRIPT_NAME=alpha
OUTPUT_FORMAT="ecoff-littlealpha"
ARCH=alpha

View File

@ -26,6 +26,7 @@ Things-to-keep:
README
a29k.sc
alpha.sc
aout.sc
ebmon29k.sc
elf.sc

69
ld/scripttempl/alpha.sc Normal file
View File

@ -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