diff options
-rw-r--r-- | ld/emulparams/.Sanitize | 1 | ||||
-rw-r--r-- | ld/emulparams/alphabsd.sh | 3 | ||||
-rw-r--r-- | ld/scripttempl/.Sanitize | 1 | ||||
-rw-r--r-- | ld/scripttempl/alphabsd.sc | 68 |
4 files changed, 73 insertions, 0 deletions
diff --git a/ld/emulparams/.Sanitize b/ld/emulparams/.Sanitize index c697d73..230557f 100644 --- a/ld/emulparams/.Sanitize +++ b/ld/emulparams/.Sanitize @@ -60,6 +60,7 @@ a29k.sh aixppc.sh aixrs6.sh alpha.sh +alphabsd.sh armaoutb.sh armaoutl.sh armcoff.sh diff --git a/ld/emulparams/alphabsd.sh b/ld/emulparams/alphabsd.sh new file mode 100644 index 0000000..dac5313 --- /dev/null +++ b/ld/emulparams/alphabsd.sh @@ -0,0 +1,3 @@ +SCRIPT_NAME=alphabsd +OUTPUT_FORMAT="bsd-ecoff-littlealpha" +ARCH=alpha diff --git a/ld/scripttempl/.Sanitize b/ld/scripttempl/.Sanitize index 6bb4274..d9925d2 100644 --- a/ld/scripttempl/.Sanitize +++ b/ld/scripttempl/.Sanitize @@ -51,6 +51,7 @@ README a29k.sc aix.sc alpha.sc +alphabsd.sc armaout.sc armcoff.sc aout.sc diff --git a/ld/scripttempl/alphabsd.sc b/ld/scripttempl/alphabsd.sc new file mode 100644 index 0000000..ac4686f --- /dev/null +++ b/ld/scripttempl/alphabsd.sc @@ -0,0 +1,68 @@ +# Linker script for {Net,Open}BSD/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 Net- or OpenBSD. +test -z "$ENTRY" && ENTRY=__start +test -z "$TEXT_START_ADDR" && TEXT_START_ADDR="0x120000000 + SIZEOF_HEADERS" +if test "x$LD_FLAG" = "xn" -o "x$LD_FLAG" = "xN"; then + DATA_ADDR=. +else + test -z "$DATA_ADDR" && DATA_ADDR=0x140000000 +fi +cat <<EOF +OUTPUT_FORMAT("${OUTPUT_FORMAT}") +${LIB_SEARCH_DIRS} + +ENTRY(${ENTRY}) + +SECTIONS +{ + ${RELOCATING+. = ${TEXT_START_ADDR};} + .text : { + ${RELOCATING+ _ftext = . }; + ${RELOCATING+ eprol = .}; + *(.text) + ${RELOCATING+ _etext = .}; + ${RELOCATING+ etext = .}; + } + .rdata : { + *(.rdata) + } + .pdata : { + ${RELOCATING+ _fpdata = .;} + *(.pdata) + } + ${RELOCATING+. = ${DATA_ADDR};} + .data : { + ${RELOCATING+ _fdata = .;} + *(.data) + ${CONSTRUCTING+CONSTRUCTORS} + } + .xdata : { + *(.xdata) + } + ${RELOCATING+ _gp = ALIGN (16) + 0x8000;} + .lit8 : { + *(.lit8) + } + .lita : { + *(.lita) + } + .sdata : { + *(.sdata) + } + ${RELOCATING+ _EDATA = .;} + ${RELOCATING+ edata = .;} + ${RELOCATING+ _FBSS = .;} + .sbss : { + *(.sbss) + *(.scommon) + } + .bss : { + *(.bss) + *(COMMON) + } + ${RELOCATING+ _end = .;} + ${RELOCATING+ end = .;} +} +EOF |