diff options
author | Jim Wilson <wilson@tuliptree.org> | 2000-04-21 20:22:24 +0000 |
---|---|---|
committer | Jim Wilson <wilson@tuliptree.org> | 2000-04-21 20:22:24 +0000 |
commit | 800eeca487f145ccc5481a03bfff2b871a2fd361 (patch) | |
tree | cedc52859f0a66d17a78d5b7e772f8a6c3d3b693 /ld | |
parent | c9637625e4ff16d9a9f3a203c5609cd5ada1eafa (diff) | |
download | gdb-800eeca487f145ccc5481a03bfff2b871a2fd361.zip gdb-800eeca487f145ccc5481a03bfff2b871a2fd361.tar.gz gdb-800eeca487f145ccc5481a03bfff2b871a2fd361.tar.bz2 |
IA-64 ELF support.
Diffstat (limited to 'ld')
-rw-r--r-- | ld/ChangeLog | 9 | ||||
-rw-r--r-- | ld/Makefile.am | 4 | ||||
-rw-r--r-- | ld/Makefile.in | 5 | ||||
-rw-r--r-- | ld/configure.tgt | 2 | ||||
-rw-r--r-- | ld/emulparams/elf64_ia64.sh | 16 |
5 files changed, 35 insertions, 1 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index e46704a..45a174e 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,12 @@ +Fri Apr 21 13:20:53 2000 Richard Henderson <rth@cygnus.com> + David Mosberger <davidm@hpl.hp.com> + + * Makefile.am (ALL_64_EMULATIONS): Add eelf64_ia64.o. + (eelf64_ia64.c): New rule. + * Makefile.in: Rebuild. + * configure.tgt (ia64-*-elf*, ia64-*-linux*): New targets. + * emulparams/elf64_ia64.sh: New file. + 2000-04-21 Richard Henderson <rth@cygnus.com> * scripttempl/elfd30v.sc: Place .gcc_except_table. diff --git a/ld/Makefile.am b/ld/Makefile.am index 45c703a..caa7966 100644 --- a/ld/Makefile.am +++ b/ld/Makefile.am @@ -226,6 +226,7 @@ ALL_EMULATIONS = \ ez8002.o ALL_64_EMULATIONS = \ + eelf64_ia64.o \ eelf64_sparc.o \ eelf64alpha.o \ eelf64bmip.o @@ -449,6 +450,9 @@ eelf32i370.c: $(srcdir)/emulparams/elf32i370.sh \ eelf64alpha.c: $(srcdir)/emulparams/elf64alpha.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf64alpha "$(tdir_elf64alpha)" +eelf64_ia64.c: $(srcdir)/emulparams/elf64_ia64.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} elf64_ia64 "$(tdir_elf64_ia64)" eelf64_sparc.c: $(srcdir)/emulparams/elf64_sparc.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf64_sparc "$(tdir_elf64_sparc)" diff --git a/ld/Makefile.in b/ld/Makefile.in index ab152f0..cd43781 100644 --- a/ld/Makefile.in +++ b/ld/Makefile.in @@ -175,7 +175,7 @@ LIBIBERTY = ../libiberty/libiberty.a ALL_EMULATIONS = ea29k.o eaixppc.o eaixrs6.o ealpha.o earcelf.o earmelf.o earmelf_oabi.o earmelf_linux.o earmelf_linux26.o earmaoutb.o earmaoutl.o earmcoff.o earmnbsd.o earmpe.o earm_epoc_pe.o eavr1200.o eavr23xx.o eavr44x4.o eavr4433.o eavr85xx.o eavrmega603.o eavrmega103.o eavrmega161.o ecoff_sparc.o ed10velf.o ed30velf.o ed30v_e.o ed30v_o.o edelta68.o eebmon29k.o eelf32_sparc.o eelf32_i960.o eelf32b4300.o eelf32bmip.o eelf32ebmip.o eelf32elmip.o eelf32bmipn32.o eelf32i370.o eelf32l4300.o eelf32lmip.o eelf32lppc.o eelf32lppcsim.o eelf32ppc.o eelf32ppcsim.o eelf32ppclinux.o eelf_i386.o eelf_i386_be.o egld960.o egld960coff.o eelf32fr30.o eelf32mcore.o eh8300.o eh8300h.o eh8300s.o eh8500.o eh8500b.o eh8500c.o eh8500m.o eh8500s.o ehp300bsd.o ehp3hpux.o ei386aout.o ei386beos.o ei386bsd.o ei386coff.o ei386go32.o ei386linux.o ei386lynx.o ei386mach.o ei386moss.o ei386msdos.o ei386nbsd.o ei386nw.o ei386pe.o ei386pe_posix.o elnk960.o em68k4knbsd.o em68kaout.o em68kaux.o em68kcoff.o em68kelf.o em68klinux.o em68klynx.o em68knbsd.o em68kpsos.o em88kbcs.o emcorepe.o emipsbig.o emipsbsd.o emipsidt.o emipsidtl.o emipslit.o emipslnews.o emipspe.o enews.o epjelf.o epjlelf.o ens32knbsd.o epc532macha.o eppcmacos.o eppcnw.o eppcpe.o eriscix.o esa29200.o esh.o eshelf.o eshlelf.o eshl.o eshpe.o esparcaout.o esparclinux.o esparclynx.o esparcnbsd.o est2000.o esun3.o esun4.o etic30aout.o etic30coff.o etic80coff.o evanilla.o evax.o evsta.o ew65.o ez8001.o ez8002.o -ALL_64_EMULATIONS = eelf64_sparc.o eelf64alpha.o eelf64bmip.o +ALL_64_EMULATIONS = eelf64_ia64.o eelf64_sparc.o eelf64alpha.o eelf64bmip.o ALL_EMUL_EXTRA_OFILES = pe-dll.o deffilep.o @@ -981,6 +981,9 @@ eelf32i370.c: $(srcdir)/emulparams/elf32i370.sh \ eelf64alpha.c: $(srcdir)/emulparams/elf64alpha.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf64alpha "$(tdir_elf64alpha)" +eelf64_ia64.c: $(srcdir)/emulparams/elf64_ia64.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} elf64_ia64 "$(tdir_elf64_ia64)" eelf64_sparc.c: $(srcdir)/emulparams/elf64_sparc.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf64_sparc "$(tdir_elf64_sparc)" diff --git a/ld/configure.tgt b/ld/configure.tgt index 0cf81bd..b267c16 100644 --- a/ld/configure.tgt +++ b/ld/configure.tgt @@ -79,6 +79,8 @@ i960-*-coff) targ_emul=gld960coff ;; i960-intel-nindy) targ_emul=gld960 ;; i960-*-rtems*) targ_emul=gld960coff ;; i960-*-elf*) targ_emul=elf32_i960 ;; +ia64-*-elf*) targ_emul=elf64_ia64 ;; +ia64-*-linux*) targ_emul=elf64_ia64 ;; m32r-*-*) targ_emul=m32relf ;; m68*-sun-sunos[34]*) targ_emul=sun3 ;; m68*-wrs-vxworks*) targ_emul=sun3 ;; diff --git a/ld/emulparams/elf64_ia64.sh b/ld/emulparams/elf64_ia64.sh new file mode 100644 index 0000000..b3d393d --- /dev/null +++ b/ld/emulparams/elf64_ia64.sh @@ -0,0 +1,16 @@ +# See genscripts.sh and ../scripttempl/elf.sc for the meaning of these. +SCRIPT_NAME=elf +ELFSIZE=64 +TEMPLATE_NAME=elf32 +OUTPUT_FORMAT="elf64-ia64-little" +ARCH=ia64 +MACHINE= +MAXPAGESIZE=0x10000 +TEXT_START_ADDR="0x4000000000000000" +DATA_ADDR="0x6000000000000000 + (. & (${MAXPAGESIZE} - 1))" +GENERATE_SHLIB_SCRIPT=yes +NOP=0x00300000010070000002000001000400 # a bundle full of nops +OTHER_GOT_SYMBOLS='. = ALIGN (8); PROVIDE (__gp = . + 0x200000);' +OTHER_GOT_SECTIONS='.IA_64.pltoff : { *(.IA_64.pltoff) }' +OTHER_PLT_RELOC_SECTIONS='.rela.IA_64.pltoff : { *(.rela.IA_64.pltoff) }' +OTHER_READONLY_SECTIONS='.opd : { *(.opd) }' |