From: Ian Lance Taylor Date: Fri, 21 Jun 1996 17:10:14 +0000 (+0000) Subject: Fri Jun 21 13:05:51 1996 Richard Henderson X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=539ae61d9cd2db41e9fb2b9d7ee92d4b5f72baf6;p=binutils-gdb.git Fri Jun 21 13:05:51 1996 Richard Henderson * 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. --- diff --git a/ld/ChangeLog b/ld/ChangeLog index 5b6b6085c00..580f2189cc5 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,18 @@ +Fri Jun 21 13:05:51 1996 Richard Henderson + + * 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 * ldmisc.c (vfinfo): Correct handling of 0 in %W case. diff --git a/ld/configure.tgt b/ld/configure.tgt index ec2bc30e2d2..ec2e7a6ee25 100644 --- a/ld/configure.tgt +++ b/ld/configure.tgt @@ -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 ;; diff --git a/ld/emulparams/.Sanitize b/ld/emulparams/.Sanitize index d250a1f6097..4e7a590c20e 100644 --- a/ld/emulparams/.Sanitize +++ b/ld/emulparams/.Sanitize @@ -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 index 00000000000..ca2d230ebdd --- /dev/null +++ b/ld/emulparams/elf64alpha.sh @@ -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) }'