Fri Jun 21 13:05:51 1996 Richard Henderson <rth@tamu.edu>
authorIan Lance Taylor <ian@airs.com>
Fri, 21 Jun 1996 17:10:14 +0000 (17:10 +0000)
committerIan Lance Taylor <ian@airs.com>
Fri, 21 Jun 1996 17:10:14 +0000 (17:10 +0000)
* configure.tgt (alpha-*-linuxecoff*): New target.
(alpha-*-linux*): Use elf64alpha.
* emulparams/elf64alpha.sh: New file.
* emultempl/elf32.em: If ELFSIZE is not set, set it to 32.  Use
${ELFSIZE} rather than 32 when calling BFD routines.
(hold_rodata): New static variable.
(gld${EMULATION_NAME}_place_orphan): Use hold_rodata for a
readonly section that is not code.
(gld${EMULATION_NAME}_place_section): Set hold_rodata.  Don't use
a .rel section unless its bfd_section field is not NULL.
* Makefile.in (ALL_EMULATIONS): Add eelf64alpha.o.
(eelf64alpha.c): New target.

ld/ChangeLog
ld/configure.tgt
ld/emulparams/.Sanitize
ld/emulparams/elf64alpha.sh [new file with mode: 0644]

index 5b6b6085c007d4924e043d84fafc0cee617e1e9b..580f2189cc5d6cbf9b6e2cde988ba6bec0cc8a58 100644 (file)
@@ -1,3 +1,18 @@
+Fri Jun 21 13:05:51 1996  Richard Henderson  <rth@tamu.edu>
+
+       * configure.tgt (alpha-*-linuxecoff*): New target.
+       (alpha-*-linux*): Use elf64alpha.
+       * emulparams/elf64alpha.sh: New file.
+       * emultempl/elf32.em: If ELFSIZE is not set, set it to 32.  Use
+       ${ELFSIZE} rather than 32 when calling BFD routines.
+       (hold_rodata): New static variable.
+       (gld${EMULATION_NAME}_place_orphan): Use hold_rodata for a
+       readonly section that is not code.
+       (gld${EMULATION_NAME}_place_section): Set hold_rodata.  Don't use
+       a .rel section unless its bfd_section field is not NULL.
+       * Makefile.in (ALL_EMULATIONS): Add eelf64alpha.o.
+       (eelf64alpha.c): New target.
+
 Fri Jun 21 12:45:46 1996  Ian Lance Taylor  <ian@cygnus.com>
 
        * ldmisc.c (vfinfo): Correct handling of 0 in %W case.
index ec2bc30e2d296dfeff30a2f2bce7edda80a1c799..ec2e7a6ee25f09e8fa2fda38559d10ba7c010eb6 100644 (file)
@@ -80,7 +80,11 @@ a29k-*-*)            targ_emul=a29k ;;
 arm-*-aout | armel-*-aout) targ_emul=armaoutl ;;
 armeb-*-aout)          targ_emul=armaoutb ;;
 arm-*-coff)            targ_emul=armcoff ;;
-h8300-*-hms)           targ_emul=h8300; targ_extra_emuls=h8300h ;;
+h8300-*-hms)           targ_emul=h8300; targ_extra_emuls="h8300h"
+#start-sanitize-h8s
+                       targ_extra_emuls="h8300h h8300s"
+#end-sanitize-h8s
+                       ;;
 h8500-*-hms)           targ_emul=h8500
                        targ_extra_emuls="h8500s h8500b h8500m h8500c"
                        ;;
@@ -121,7 +125,12 @@ mips*vr4100el-*-elf*)      targ_emul=elf32l4300 ;;
 mips*vr4100-*-elf*)    targ_emul=elf32b4300 ;;
 mips*el-*-elf*)                targ_emul=elf32lmip ;;
 mips*-*-elf*)          targ_emul=elf32bmip ;;
-alpha-*-linux*)                targ_emul=alpha ;;
+alpha-*-linuxecoff*)   targ_emul=alpha targ_extra_emuls=elf64alpha
+                       tdir_elf64alpha=`echo ${targ_alias} | sed -e 's/ecoff//'`
+                       ;;
+alpha-*-linux*)                targ_emul=elf64alpha targ_extra_emuls=alpha
+                       tdir_alpha=`echo ${targ_alias} | sed -e 's/linux/linuxecoff/'`
+                       ;;
 alpha-*-osf*)          targ_emul=alpha ;;
 alpha-*-netware*)      targ_emul=alpha ;;
 z8k-*-coff)            targ_emul=z8002; targ_extra_emuls=z8001 ;;
index d250a1f60976b4d2506ddbd63d65fcd02725f455..4e7a590c20e928dcc060a76d79ac8f14256e5cbf 100644 (file)
@@ -58,6 +58,7 @@ elf32lppc.sh
 elf32ppc.sh
 elf32b4300.sh
 elf32l4300.sh
+elf64alpha.sh
 elf64_sparc.sh
 elf_i386.sh
 gld960.sh
diff --git a/ld/emulparams/elf64alpha.sh b/ld/emulparams/elf64alpha.sh
new file mode 100644 (file)
index 0000000..ca2d230
--- /dev/null
@@ -0,0 +1,14 @@
+ENTRY=__start
+SCRIPT_NAME=elf
+ELFSIZE=64
+TEMPLATE_NAME=elf32
+OUTPUT_FORMAT="elf64-alpha"
+TEXT_START_ADDR="0x120000000"
+MAXPAGESIZE=0x100000
+NONPAGED_TEXT_START_ADDR="0x120000000"
+ARCH=alpha
+GENERATE_SHLIB_SCRIPT=yes
+DATA_PLT=
+NOP=0x47ff041f
+
+OTHER_READONLY_SECTIONS='.reginfo : { *(.reginfo) }'