diff options
author | Alan Modra <amodra@gmail.com> | 2001-08-27 10:45:55 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2001-08-27 10:45:55 +0000 |
commit | 5c67d4bb595ec330107c1768dda0470459ccfc04 (patch) | |
tree | 88c94e7c773d9a5650850483011d033ba038089c /ld | |
parent | 0baf16f23c580c5b0ee2c93289a0fc27fe6c240f (diff) | |
download | fsf-binutils-gdb-5c67d4bb595ec330107c1768dda0470459ccfc04.zip fsf-binutils-gdb-5c67d4bb595ec330107c1768dda0470459ccfc04.tar.gz fsf-binutils-gdb-5c67d4bb595ec330107c1768dda0470459ccfc04.tar.bz2 |
* Makefile.am (ALL_EMULATIONS): Add eelf64ppc.o and eelf64lppc.o.
(eelf64ppc.c, eelf64lppc.c): Add make targets.
Run "make dep-am"
* Makefile.in: Regenerate.
* configure.tgt: Add powerpc64 support. Move pdp11, pjl, pj
entries to correct alphabetical position.
* emulparams/elf64ppc.sh: New.
* emulparams/elf64lppc.sh: New.
Diffstat (limited to 'ld')
-rw-r--r-- | ld/ChangeLog | 12 | ||||
-rw-r--r-- | ld/Makefile.am | 8 | ||||
-rw-r--r-- | ld/Makefile.in | 8 | ||||
-rw-r--r-- | ld/configure.tgt | 39 | ||||
-rw-r--r-- | ld/emulparams/elf64lppc.sh | 3 | ||||
-rw-r--r-- | ld/emulparams/elf64ppc.sh | 28 |
6 files changed, 86 insertions, 12 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index c59911e..68a91a7 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,15 @@ +2001-08-27 Linus Nordberg <linus@swox.com> + Alan Modra <amodra@bigpond.net.au> + + * Makefile.am (ALL_EMULATIONS): Add eelf64ppc.o and eelf64lppc.o. + (eelf64ppc.c, eelf64lppc.c): Add make targets. + Run "make dep-am" + * Makefile.in: Regenerate. + * configure.tgt: Add powerpc64 support. Move pdp11, pjl, pj + entries to correct alphabetical position. + * emulparams/elf64ppc.sh: New. + * emulparams/elf64lppc.sh: New. + 2001-08-27 Nick Clifton <nickc@cambridge.redhat.com> * ldmain.c (main): Declare BSIZE as static. diff --git a/ld/Makefile.am b/ld/Makefile.am index fb0bfa8..9b04701 100644 --- a/ld/Makefile.am +++ b/ld/Makefile.am @@ -159,6 +159,8 @@ ALL_EMULATIONS = \ eelf32ppc.o \ eelf32ppclinux.o \ eelf32ppcsim.o \ + eelf64ppc.o \ + eelf64lppc.o \ eelf_i386.o \ eelf_i386_be.o \ eelf_i386_chaos.o \ @@ -501,6 +503,12 @@ eelf32ppcsim.c: $(srcdir)/emulparams/elf32ppcsim.sh \ eelf32ppclinux.c: $(srcdir)/emulparams/elf32ppclinux.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf32ppclinux "$(tdir_elf32ppclinux)" +eelf64ppc.c: $(srcdir)/emulparams/elf64ppc.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} elf64ppc "$(tdir_elf64ppc)" +eelf64lppc.c: $(srcdir)/emulparams/elf64lppc.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} elf64lppc "$(tdir_elf64lppc)" eelf32i370.c: $(srcdir)/emulparams/elf32i370.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elfi370.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf32i370 "$(tdir_elf32i370)" diff --git a/ld/Makefile.in b/ld/Makefile.in index 6b50678..024725a 100644 --- a/ld/Makefile.in +++ b/ld/Makefile.in @@ -267,6 +267,8 @@ ALL_EMULATIONS = \ eelf32ppc.o \ eelf32ppclinux.o \ eelf32ppcsim.o \ + eelf64ppc.o \ + eelf64lppc.o \ eelf_i386.o \ eelf_i386_be.o \ eelf_i386_chaos.o \ @@ -1215,6 +1217,12 @@ eelf32ppcsim.c: $(srcdir)/emulparams/elf32ppcsim.sh \ eelf32ppclinux.c: $(srcdir)/emulparams/elf32ppclinux.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf32ppclinux "$(tdir_elf32ppclinux)" +eelf64ppc.c: $(srcdir)/emulparams/elf64ppc.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} elf64ppc "$(tdir_elf64ppc)" +eelf64lppc.c: $(srcdir)/emulparams/elf64lppc.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} elf64lppc "$(tdir_elf64lppc)" eelf32i370.c: $(srcdir)/emulparams/elf32i370.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elfi370.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf32i370 "$(tdir_elf32i370)" diff --git a/ld/configure.tgt b/ld/configure.tgt index 6922618..aa37e40 100644 --- a/ld/configure.tgt +++ b/ld/configure.tgt @@ -314,23 +314,38 @@ z8k-*-coff) targ_emul=z8002; targ_extra_emuls=z8001 ;; ns32k-pc532-mach* | ns32k-pc532-ux*) targ_emul=pc532macha ;; ns32k-pc532-netbsd* | ns32k-pc532-lites*) targ_emul=ns32knbsd ;; openrisc-*-*) targ_emul=elf32openrisc ;; +pdp11-*-*) targ_emul=pdp11 ;; +pjl*-*-*) targ_emul=pjlelf ; targ_extra_emuls="elf_i386" ;; +pj*-*-*) targ_emul=pjelf ;; powerpc-*-freebsd*) targ_emul=elf32ppc; targ_extra_emuls=elf32ppcsim; targ_extra_libpath=elf32ppc; tdir_elf32ppcsim=`echo ${targ_alias} | sed -e 's/ppc/ppcsim/'` ;; -powerpc-*-linux-gnu*) targ_emul=elf32ppclinux; - targ_extra_emuls="elf32ppc elf32ppcsim"; - targ_extra_libpath=elf32ppc ;; -pdp11-*-*) targ_emul=pdp11 ;; -pjl*-*-*) targ_emul=pjlelf ; targ_extra_emuls="elf_i386" ;; -pj*-*-*) targ_emul=pjelf ;; -powerpc-*-elf* | powerpc-*-eabi* | powerpc-*-sysv* \ - | powerpc-*-netbsd* | powerpc-*-vxworks*) - targ_emul=elf32ppc targ_extra_emuls="elf32ppclinux elf32ppcsim";; -powerpcle-*-elf* | powerpcle-*-eabi* | powerpcle-*-solaris* \ - | powerpcle-*-sysv* | powerpcle-*-vxworks*) - targ_emul=elf32lppc targ_extra_emuls="elf32ppcsim";; +powerpc*-*-linux*) + case "${targ}" in + *64*) targ_emul=elf64ppc + targ_extra_emuls="elf32ppclinux elf32ppc elf32ppcsim" ;; + *) targ_emul=elf32ppclinux + targ_extra_emuls="elf32ppc elf32ppcsim" + targ_extra_libpath=elf32ppc ;; + esac ;; +powerpc*le-*-elf* | powerpc*le-*-eabi* | powerpc*le-*-solaris* \ + | powerpc*le-*-sysv* | powerpc*le-*-vxworks*) + case "${targ}" in + *64*) targ_emul=elf64lppc + targ_extra_emuls="elf32lppc elf32ppcsim" ;; + *) targ_emul=elf32lppc + targ_extra_emuls="elf32ppcsim" ;; + esac ;; +powerpc*-*-elf* | powerpc*-*-eabi* | powerpc*-*-sysv* \ + | powerpc*-*-netbsd* | powerpc*-*-vxworks*) + case "${targ}" in + *64*) targ_emul=elf64ppc + targ_extra_emuls="elf32ppc elf32ppclinux elf32ppcsim" ;; + *) targ_emul=elf32ppc + targ_extra_emuls="elf32ppclinux elf32ppcsim" ;; + esac ;; powerpcle-*-rtems*) targ_emul=elf32leppc ;; powerpc-*-rtems*) targ_emul=elf32ppc ;; powerpc-*-macos*) targ_emul=ppcmacos ;; diff --git a/ld/emulparams/elf64lppc.sh b/ld/emulparams/elf64lppc.sh new file mode 100644 index 0000000..1c47493 --- /dev/null +++ b/ld/emulparams/elf64lppc.sh @@ -0,0 +1,3 @@ +. ${srcdir}/emulparams/elf64ppc.sh +OUTPUT_FORMAT="elf64-powerpcle" +NOP=0x00000060 diff --git a/ld/emulparams/elf64ppc.sh b/ld/emulparams/elf64ppc.sh new file mode 100644 index 0000000..9384a1e --- /dev/null +++ b/ld/emulparams/elf64ppc.sh @@ -0,0 +1,28 @@ +TEMPLATE_NAME=elf32 +ELFSIZE=64 +GENERATE_SHLIB_SCRIPT=yes +SCRIPT_NAME=elf +OUTPUT_FORMAT="elf64-powerpc" +TEXT_START_ADDR=0x10000000 +MAXPAGESIZE=0x40000 +ARCH=powerpc +MACHINE= +NOP=0x60000000 +EXECUTABLE_SYMBOLS='PROVIDE (__stack = 0); PROVIDE (___stack = 0);' +OTHER_BSS_END_SYMBOLS='__end = .;' +CTOR_START='PROVIDE (__CTOR_LIST__ = .); PROVIDE (___CTOR_LIST__ = .);' +CTOR_END='PROVIDE (__CTOR_END__ = .); PROVIDE (___CTOR_END__ = .);' +DTOR_START='PROVIDE (__DTOR_LIST__ = .); PROVIDE (___DTOR_LIST__ = .);' +DTOR_END='PROVIDE (__DTOR_END__ = .); PROVIDE (___DTOR_END__ = .);' +BSS_PLT= +OTHER_BSS_SYMBOLS=" + .tocbss ${RELOCATING-0}${RELOCATING+ALIGN(8)} : { *(.tocbss)}" +OTHER_PLT_RELOC_SECTIONS=" + .rela.tocbss ${RELOCATING-0} : { *(.rela.tocbss) }" +OTHER_GOT_SECTIONS=" + .toc ${RELOCATING-0}${RELOCATING+ALIGN(8)} : { *(.toc) }" +OTHER_GOT_RELOC_SECTIONS=" + .rela.toc ${RELOCATING-0} : { *(.rela.toc) }" +OTHER_READWRITE_SECTIONS=" + .toc1 ${RELOCATING-0}${RELOCATING+ALIGN(8)} : { *(.toc1) } + .opd ${RELOCATING-0}${RELOCATING+ALIGN(8)} : { *(.opd) }" |