diff options
Diffstat (limited to 'ld')
-rw-r--r-- | ld/ChangeLog | 15 | ||||
-rw-r--r-- | ld/configure.tgt | 13 | ||||
-rw-r--r-- | ld/emulparams/.Sanitize | 1 | ||||
-rw-r--r-- | ld/emulparams/elf64alpha.sh | 14 |
4 files changed, 41 insertions, 2 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 5b6b608..580f218 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -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. diff --git a/ld/configure.tgt b/ld/configure.tgt index ec2bc30..ec2e7a6 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 d250a1f..4e7a590 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 0000000..ca2d230 --- /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) }' |