This is the mail archive of the
binutils@sourceware.cygnus.com
mailing list for the binutils project.
pending binutils support for IA-64 64-bit ELF
- To: binutils at sourceware dot cygnus dot com
- Subject: pending binutils support for IA-64 64-bit ELF
- From: Jim Wilson <wilson at cygnus dot com>
- Date: Thu, 20 Apr 2000 11:22:52 -0700
I've got a pending patch added to my binutils tree. At the moment, the
linker is not working. I was working with a copy of binutils that branched
a few months ago for stability reasons, so I believe it just needs a few
adjustments to work with the current binutils sources. I'll spend a day or
two trying to fix it myself, and if I can't I'll ask Richard Henderson for
help. Meanwhile, I'm making diffs available in case anyone wants to comment
on them. I'd like to check the changes in tomorrow whether it is working or
not, so that I don't have to maintain diffs.
The full diff is 1.6MB. About half of that is gas testsuite support, and about
one third is the opcodes/ support. Diffs for existing files is only 45K, and
I've included them here. The full diff can be found at
http://www.cygnus.com/~wilson/diff.ia64.full.gz
This is a 241K file.
Most of this code was written by Richard Henderson and David Mosberger.
I've tried to get the attributions right, but it is a bit tricky for such a
large long running project.
I've been doing most of the maintenance work for IA-64 binutils, and I expect
to continue doing so.
bfd/
Thu Apr 20 10:38:27 2000 Richard Henderson <rth@cygnus.com>
David Mosberger <davidm@hpl.hp.com>
Timothy Wall <twall@cygnus.com>
Jim Wilson <wilson@cygnus.com>
* Makefile.am (ALL_MACHINES): Add cpu-ia64.lo.
(ALL_MACHINES_CFILES): Add cpu-ia64.c.
(BFD64_BACKENDS): Add elf64-ia64.lo.
(BFD64_BACKENDS_CFILES): Add elf64-ia64.c.
(cpu-ia64.lo, elf64-ia64.lo): New rules.
* Makefile.in: Rebuild.
* archures.c (enum bfd_architecture): Add bfd_arch_ia64.
(bfd_ia64_arch): Declare.
(bfd_archures_list): Add bfd_ia64_arch.
* bfd-in2.h: Rebuild.
* config.bfd: (ia64*-*-linux-gnu*, ia64*-*-elf*): New targets.
* configure: Rebuild.
* configure.host: (ia64-*-linux*): New host.
* configure.in (bfd_elf64_ia64_little_vec, bfd_elf64_ia64_big_vec,
bfd_efi_app_ia64_vec, bfd_efi_app_ia64_vec): New vectors.
* elf.c (prep_headers): Add bfd_arch_ia64.
* libbfd.h: Rebuild.
* reloc.c: Add IA-64 relocations.
* targets.c (bfd_elf64_ia64_little_vec, bfd_elf64_ia64_big_vec):
Declare.
(bfd_target_vect): Add bfd_elf64_ia64_little_vec.
* cpu-ia64-opc.c, cpu-ia64.c, elf64-ia64.c: New files.
binutils/
Thu Apr 20 10:38:27 2000 Richard Henderson <rth@cygnus.com>
David Mosberger <davidm@hpl.hp.com>
* Makefile.am (readelf.o): Add elf/ia64.h.
* Makefile.in: Rebuild.
* readelf.c: Include elf/ia64.h.
(guess_is_rela, dump_relocations): Handle EM_IA_64.
gas/
Thu Apr 20 10:38:27 2000 Richard Henderson <rth@cygnus.com>
David Mosberger <davidm@hpl.hp.com>
Timothy Wall <twall@cygnus.com>
Andrew MacLeod <amacleod@cygnus.com>
Jim Wilson <wilson@cygnus.com>
* Makefile.am (CPU_TYPES): Add ia64.
(TARGET_CPU_CFILES): Add cofnig/tc-ia64.c.
(TARGET_CPU_HFILES): Add config/tc-ia64.h.
* Makefile.in: Rebuild.
* app.c (do_scrub_chars): Handle DOUBLESLASH_COMMENTS.
* configure: Rebuild.
* configure.in: Recognize ia64 as cpu type. Set bfd_gas.
(ia64-*-elf*, ia64-*-linux-gnu*): New targets.
* expr.c (expr): Handle md_optimize_expr.
* read.c (LEX_HASH): Add comment.
* config/tc-ia64.c, config/tc-ia64.h: New files.
gas/testsuite/
Thu Apr 20 10:38:27 2000 Richard Henderson <rth@cygnus.com>
David Mosberger <davidm@hpl.hp.com>
Timothy Wall <twall@cygnus.com>
Jim Wilson <wilson@cygnus.com>
* gas/vtable/vtable.exp: Disable for ia64.
* gas/testsuite/gas/ia64: New testsuite directory.
include/
Thu Apr 20 10:38:27 2000 Richard Henderson <rth@cygnus.com>
David Mosberger <davidm@hpl.hp.com>
* dis-asm.h (print_insn_ia64): Declare.
include/elf
Thu Apr 20 10:38:27 2000 Richard Henderson <rth@cygnus.com>
David Mosberger <davidm@hpl.hp.com>
* ia64.h: New file.
include/opcode
Thu Apr 20 10:38:27 2000 Richard Henderson <rth@cygnus.com>
David Mosberger <davidm@hpl.hp.com>
Timothy Wall <twall@cygnus.com>
Jim Wilson <wilson@cygnus.com>
* ia64.h: New file.
ld/
Thu Apr 20 10:38:27 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.
opcodes/
Thu Apr 20 10:38:27 2000 Richard Henderson <rth@cygnus.com>
David Mosberger <davidm@hpl.hp.com>
Timothy Wall <twall@cygnus.com>
Bob Manson <manson@charmed.cygnus.com>
Jim Wilson <wilson@cygnus.com>
* Makefile.am (HFILES): Add ia64-asmtab.h, ia64-opc.h.
(CFILES): Add ia64-dis.c, ia64-opc-a.c, ia64-opc-b.c, ia64-opc-f.c,
ia64-opc-i.c, ia64-opc-m.c, ia64-opc-d.c, ia64-opc.c, ia64-gen.c,
ia64-asmtab.c.
(ALL_MACHINES): Add ia64-dis.lo, ia64-opc.lo.
(ia64-ic.tbl, ia64-raw.tbl, ia64-waw.tbl, ia64-war.tbl, ia64-gen,
ia64-gen.o, ia64-asmtab.c, ia64-dis.lo, ia64-opc.lo): New rules.
* Makefile.in: Rebuild.
* configure Rebuild.
* configure.in (bfd_ia64_arch): New target.
* disassemble.c (ARCH_ia64): Define.
(disassembler): Support ARCH_ia64.
* ia64-asmtab.c, ia64-asmtab.h, ia64-dis.c, ia64-gen.c ia64-ic.tbl,
ia64-opc-a.c, ia64-opc-b.c, ia64-opc-d.c ia64-opc-f.c, ia64-opc-i.c,
ia64-opc-m.c, ia64-opc-x.c, ia64-opc.c, ia64-opc.h, ia64-raw.tbl,
ia64-war.tbl, ia64-waw.tbl): New files.
? bfd/cpu-ia64-opc.c
? bfd/cpu-ia64.c
? bfd/elf64-ia64.c
? gas/config/tc-ia64.c
? gas/config/tc-ia64.h
? gas/testsuite/gas/ia64
? include/elf/ia64.h
? include/opcode/ia64.h
? ld/emulparams/elf64_ia64.sh
? opcodes/ia64-asmtab.c
? opcodes/ia64-asmtab.h
? opcodes/ia64-dis.c
? opcodes/ia64-gen.c
? opcodes/ia64-ic.tbl
? opcodes/ia64-opc-a.c
? opcodes/ia64-opc-b.c
? opcodes/ia64-opc-d.c
? opcodes/ia64-opc-f.c
? opcodes/ia64-opc-i.c
? opcodes/ia64-opc-m.c
? opcodes/ia64-opc-x.c
? opcodes/ia64-opc.c
? opcodes/ia64-opc.h
? opcodes/ia64-raw.tbl
? opcodes/ia64-war.tbl
? opcodes/ia64-waw.tbl
Index: bfd/Makefile.am
===================================================================
RCS file: /cvs/src/src/bfd/Makefile.am,v
retrieving revision 1.22
diff -p -r1.22 Makefile.am
*** Makefile.am 2000/04/18 04:03:16 1.22
--- Makefile.am 2000/04/20 17:29:24
*************** ALL_MACHINES = \
*** 51,56 ****
--- 51,57 ----
cpu-h8300.lo \
cpu-h8500.lo \
cpu-hppa.lo \
+ cpu-ia64.lo \
cpu-i370.lo \
cpu-i386.lo \
cpu-i860.lo \
*************** ALL_MACHINES_CFILES = \
*** 89,94 ****
--- 90,96 ----
cpu-h8300.c \
cpu-h8500.c \
cpu-hppa.c \
+ cpu-ia64.c \
cpu-i370.c \
cpu-i386.c \
cpu-i860.c \
*************** BFD64_BACKENDS = \
*** 388,393 ****
--- 390,396 ----
coff-ia64.lo \
demo64.lo \
elf64-alpha.lo \
+ elf64-ia64.lo \
elf64-gen.lo \
elf64-mips.lo \
elf64-sparc.lo \
*************** BFD64_BACKENDS_CFILES = \
*** 401,406 ****
--- 404,410 ----
coff-ia64.c \
demo64.c \
elf64-alpha.c \
+ elf64-ia64.c \
elf64-gen.c \
elf64-mips.c \
elf64-sparc.c \
*************** config.status: $(srcdir)/configure $(src
*** 654,659 ****
--- 658,668 ----
$(SHELL) ./config.status --recheck
+ cpu-ia64.lo: cpu-ia64.c cpu-ia64-opc.c $(srcdir)/../opcodes/ia64-opc.h
+ elf64-ia64.lo: elf64-ia64.c elf-bfd.h $(INCDIR)/opcode/ia64.h \
+ $(INCDIR)/elf/ia64.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
+ $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(INCDIR)/elf/reloc-macros.h \
+ elf64-target.h
elfarm-oabi.lo: elfarm-oabi.c elf32-arm.h elf-bfd.h $(INCDIR)/elf/common.h \
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h \
$(INCDIR)/elf/arm.h $(INCDIR)/elf/reloc-macros.h elf32-target.h
Index: bfd/Makefile.in
===================================================================
RCS file: /cvs/src/src/bfd/Makefile.in,v
retrieving revision 1.24
diff -p -r1.24 Makefile.in
*** Makefile.in 2000/04/18 04:03:16 1.24
--- Makefile.in 2000/04/20 17:29:24
*************** ALL_MACHINES = \
*** 166,171 ****
--- 166,172 ----
cpu-h8300.lo \
cpu-h8500.lo \
cpu-hppa.lo \
+ cpu-ia64.lo \
cpu-i370.lo \
cpu-i386.lo \
cpu-i860.lo \
*************** ALL_MACHINES_CFILES = \
*** 205,210 ****
--- 206,212 ----
cpu-h8300.c \
cpu-h8500.c \
cpu-hppa.c \
+ cpu-ia64.c \
cpu-i370.c \
cpu-i386.c \
cpu-i860.c \
*************** BFD64_BACKENDS = \
*** 507,512 ****
--- 509,515 ----
coff-ia64.lo \
demo64.lo \
elf64-alpha.lo \
+ elf64-ia64.lo \
elf64-gen.lo \
elf64-mips.lo \
elf64-sparc.lo \
*************** BFD64_BACKENDS_CFILES = \
*** 521,526 ****
--- 524,530 ----
coff-ia64.c \
demo64.c \
elf64-alpha.c \
+ elf64-ia64.c \
elf64-gen.c \
elf64-mips.c \
elf64-sparc.c \
*************** stmp-lcoff-h: $(LIBCOFF_H_FILES)
*** 1182,1187 ****
--- 1186,1196 ----
config.status: $(srcdir)/configure $(srcdir)/config.bfd $(srcdir)/configure.host
$(SHELL) ./config.status --recheck
+ cpu-ia64.lo: cpu-ia64.c cpu-ia64-opc.c $(srcdir)/../opcodes/ia64-opc.h
+ elf64-ia64.lo: elf64-ia64.c elf-bfd.h $(INCDIR)/opcode/ia64.h \
+ $(INCDIR)/elf/ia64.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
+ $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h $(INCDIR)/elf/reloc-macros.h \
+ elf64-target.h
elfarm-oabi.lo: elfarm-oabi.c elf32-arm.h elf-bfd.h $(INCDIR)/elf/common.h \
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h \
$(INCDIR)/elf/arm.h $(INCDIR)/elf/reloc-macros.h elf32-target.h
Index: bfd/archures.c
===================================================================
RCS file: /cvs/src/src/bfd/archures.c,v
retrieving revision 1.12
diff -p -r1.12 archures.c
*** archures.c 2000/04/07 17:06:57 1.12
--- archures.c 2000/04/20 17:29:24
*************** DESCRIPTION
*** 199,204 ****
--- 199,205 ----
. bfd_arch_fr30,
.#define bfd_mach_fr30 0x46523330
. bfd_arch_mcore,
+ . bfd_arch_ia64, {* HP/Intel ia64 *}
. bfd_arch_pj,
. bfd_arch_avr, {* Atmel AVR microcontrollers *}
.#define bfd_mach_avr1 1
*************** extern const bfd_arch_info_type bfd_v850
*** 279,284 ****
--- 280,286 ----
extern const bfd_arch_info_type bfd_fr30_arch;
extern const bfd_arch_info_type bfd_mcore_arch;
extern const bfd_arch_info_type bfd_avr_arch;
+ extern const bfd_arch_info_type bfd_ia64_arch;
static const bfd_arch_info_type * const bfd_archures_list[] =
{
*************** static const bfd_arch_info_type * const
*** 320,325 ****
--- 322,328 ----
&bfd_fr30_arch,
&bfd_mcore_arch,
&bfd_avr_arch,
+ &bfd_ia64_arch,
#endif
0
};
Index: bfd/bfd-in2.h
===================================================================
RCS file: /cvs/src/src/bfd/bfd-in2.h,v
retrieving revision 1.40
diff -p -r1.40 bfd-in2.h
*** bfd-in2.h 2000/04/08 00:10:49 1.40
--- bfd-in2.h 2000/04/20 17:29:24
*************** enum bfd_architecture
*** 1425,1430 ****
--- 1425,1431 ----
bfd_arch_fr30,
#define bfd_mach_fr30 0x46523330
bfd_arch_mcore,
+ bfd_arch_ia64, /* HP/Intel ia64 */
bfd_arch_pj,
bfd_arch_avr, /* Atmel AVR microcontrollers */
#define bfd_mach_avr1 1
*************** is stored in the reloc's addend. For Re
*** 2441,2446 ****
--- 2442,2512 ----
this offset in the reloc's section offset. */
BFD_RELOC_VTABLE_INHERIT,
BFD_RELOC_VTABLE_ENTRY,
+
+ /* Intel IA64 Relocations. */
+ BFD_RELOC_IA64_IMM14,
+ BFD_RELOC_IA64_IMM22,
+ BFD_RELOC_IA64_IMM64,
+ BFD_RELOC_IA64_DIR32MSB,
+ BFD_RELOC_IA64_DIR32LSB,
+ BFD_RELOC_IA64_DIR64MSB,
+ BFD_RELOC_IA64_DIR64LSB,
+ BFD_RELOC_IA64_GPREL22,
+ BFD_RELOC_IA64_GPREL64I,
+ BFD_RELOC_IA64_GPREL32MSB,
+ BFD_RELOC_IA64_GPREL32LSB,
+ BFD_RELOC_IA64_GPREL64MSB,
+ BFD_RELOC_IA64_GPREL64LSB,
+ BFD_RELOC_IA64_LTOFF22,
+ BFD_RELOC_IA64_LTOFF64I,
+ BFD_RELOC_IA64_PLTOFF22,
+ BFD_RELOC_IA64_PLTOFF64I,
+ BFD_RELOC_IA64_PLTOFF64MSB,
+ BFD_RELOC_IA64_PLTOFF64LSB,
+ BFD_RELOC_IA64_FPTR64I,
+ BFD_RELOC_IA64_FPTR32MSB,
+ BFD_RELOC_IA64_FPTR32LSB,
+ BFD_RELOC_IA64_FPTR64MSB,
+ BFD_RELOC_IA64_FPTR64LSB,
+ BFD_RELOC_IA64_PCREL21B,
+ BFD_RELOC_IA64_PCREL21M,
+ BFD_RELOC_IA64_PCREL21F,
+ BFD_RELOC_IA64_PCREL32MSB,
+ BFD_RELOC_IA64_PCREL32LSB,
+ BFD_RELOC_IA64_PCREL64MSB,
+ BFD_RELOC_IA64_PCREL64LSB,
+ BFD_RELOC_IA64_LTOFF_FPTR22,
+ BFD_RELOC_IA64_LTOFF_FPTR64I,
+ BFD_RELOC_IA64_LTOFF_FPTR64MSB,
+ BFD_RELOC_IA64_LTOFF_FPTR64LSB,
+ BFD_RELOC_IA64_SEGBASE,
+ BFD_RELOC_IA64_SEGREL32MSB,
+ BFD_RELOC_IA64_SEGREL32LSB,
+ BFD_RELOC_IA64_SEGREL64MSB,
+ BFD_RELOC_IA64_SEGREL64LSB,
+ BFD_RELOC_IA64_SECREL32MSB,
+ BFD_RELOC_IA64_SECREL32LSB,
+ BFD_RELOC_IA64_SECREL64MSB,
+ BFD_RELOC_IA64_SECREL64LSB,
+ BFD_RELOC_IA64_REL32MSB,
+ BFD_RELOC_IA64_REL32LSB,
+ BFD_RELOC_IA64_REL64MSB,
+ BFD_RELOC_IA64_REL64LSB,
+ BFD_RELOC_IA64_LTV32MSB,
+ BFD_RELOC_IA64_LTV32LSB,
+ BFD_RELOC_IA64_LTV64MSB,
+ BFD_RELOC_IA64_LTV64LSB,
+ BFD_RELOC_IA64_IPLTMSB,
+ BFD_RELOC_IA64_IPLTLSB,
+ BFD_RELOC_IA64_EPLTMSB,
+ BFD_RELOC_IA64_EPLTLSB,
+ BFD_RELOC_IA64_COPY,
+ BFD_RELOC_IA64_TPREL22,
+ BFD_RELOC_IA64_TPREL64MSB,
+ BFD_RELOC_IA64_TPREL64LSB,
+ BFD_RELOC_IA64_LTOFF_TP22,
+ BFD_RELOC_IA64_LTOFF22X,
+ BFD_RELOC_IA64_LDXMOV,
BFD_RELOC_UNUSED };
typedef enum bfd_reloc_code_real bfd_reloc_code_real_type;
reloc_howto_type *
Index: bfd/config.bfd
===================================================================
RCS file: /cvs/src/src/bfd/config.bfd,v
retrieving revision 1.24
diff -p -r1.24 config.bfd
*** config.bfd 2000/04/18 04:03:16 1.24
--- config.bfd 2000/04/20 17:29:24
*************** case "${targ}" in
*** 80,85 ****
--- 80,89 ----
alpha*-*-*)
targ_defvec=ecoffalpha_little_vec
;;
+ ia64*-*-linux-gnu* | ia64*-*-elf*)
+ targ_defvec=bfd_elf64_ia64_little_vec
+ targ_selvecs="bfd_elf64_ia64_big_vec bfd_efi_app_ia64_vec"
+ ;;
#endif /* BFD64 */
arc-*-elf*)
Index: bfd/configure
===================================================================
RCS file: /cvs/src/src/bfd/configure,v
retrieving revision 1.24
diff -p -r1.24 configure
*** configure 2000/04/18 04:03:16 1.24
--- configure 2000/04/20 17:29:25
*************** do
*** 5112,5117 ****
--- 5112,5124 ----
target64=true ;;
bfd_elf64_alpha_vec) tb="$tb elf64-alpha.lo elf64.lo $elf"
target64=true ;;
+ bfd_elf64_ia64_little_vec) tb="$tb elf64-ia64.lo elf64.lo $elf"
+ target64=true ;;
+ bfd_elf64_ia64_big_vec) tb="$tb elf64-ia64.lo elf64.lo $elf"
+ target64=true ;;
+ bfd_efi_app_ia32_vec) tb="$tb efi-app-ia32.lo cofflink.lo" ;;
+ bfd_efi_app_ia64_vec) tb="$tb efi-app-ia64.lo cofflink.lo"
+ target64=true ;;
bfd_elf32_avr_vec) tb="$tb elf32-avr.lo elf32.lo $elf" ;;
bfd_elf32_littlearc_vec) tb="$tb elf32-arc.lo elf32.lo $elf" ;;
bfd_elf32_littlearm_vec) tb="$tb elfarm-nabi.lo elf32.lo $elf" ;;
Index: bfd/configure.host
===================================================================
RCS file: /cvs/src/src/bfd/configure.host,v
retrieving revision 1.2
diff -p -r1.2 configure.host
*** configure.host 1999/05/27 22:48:52 1.2
--- configure.host 2000/04/20 17:29:25
*************** hppa*-*-mpeix*) HDEFINES=-DHOST_HPPAMPE
*** 27,32 ****
--- 27,34 ----
hppa*-*-bsd*) HDEFINES=-DHOST_HPPABSD ;;
hppa*-*-osf*) HDEFINES=-DHOST_HPPAOSF ;;
+ ia64-*-linux*) host64=true; HOST_64BIT_TYPE=long ;;
+
i[3456]86-sequent-bsd*) HDEFINES=-Dshared=genshared ;;
i[3456]86-sequent-sysv4*) ;;
i[3456]86-sequent-sysv*) HDEFINES=-Dshared=genshared ;;
Index: bfd/configure.in
===================================================================
RCS file: /cvs/src/src/bfd/configure.in,v
retrieving revision 1.19
diff -p -r1.19 configure.in
*** configure.in 2000/04/18 04:03:16 1.19
--- configure.in 2000/04/20 17:29:25
*************** do
*** 469,474 ****
--- 469,481 ----
target64=true ;;
bfd_elf64_alpha_vec) tb="$tb elf64-alpha.lo elf64.lo $elf"
target64=true ;;
+ bfd_elf64_ia64_little_vec) tb="$tb elf64-ia64.lo elf64.lo $elf"
+ target64=true ;;
+ bfd_elf64_ia64_big_vec) tb="$tb elf64-ia64.lo elf64.lo $elf"
+ target64=true ;;
+ bfd_efi_app_ia32_vec) tb="$tb efi-app-ia32.lo cofflink.lo" ;;
+ bfd_efi_app_ia64_vec) tb="$tb efi-app-ia64.lo cofflink.lo"
+ target64=true ;;
bfd_elf32_avr_vec) tb="$tb elf32-avr.lo elf32.lo $elf" ;;
bfd_elf32_littlearc_vec) tb="$tb elf32-arc.lo elf32.lo $elf" ;;
bfd_elf32_littlearm_vec) tb="$tb elfarm-nabi.lo elf32.lo $elf" ;;
Index: bfd/elf.c
===================================================================
RCS file: /cvs/src/src/bfd/elf.c,v
retrieving revision 1.27
diff -p -r1.27 elf.c
*** elf.c 2000/03/27 08:39:12 1.27
--- elf.c 2000/04/20 17:29:25
*************** prep_headers (abfd)
*** 3237,3242 ****
--- 3237,3245 ----
case bfd_arch_i386:
i_ehdrp->e_machine = EM_386;
break;
+ case bfd_arch_ia64:
+ i_ehdrp->e_machine = EM_IA_64;
+ break;
case bfd_arch_m68k:
i_ehdrp->e_machine = EM_68K;
break;
Index: bfd/libbfd.h
===================================================================
RCS file: /cvs/src/src/bfd/libbfd.h,v
retrieving revision 1.17
diff -p -r1.17 libbfd.h
*** libbfd.h 2000/04/08 00:10:49 1.17
--- libbfd.h 2000/04/20 17:29:25
*************** static const char *const bfd_reloc_code_
*** 898,903 ****
--- 898,966 ----
"BFD_RELOC_AVR_CALL",
"BFD_RELOC_VTABLE_INHERIT",
"BFD_RELOC_VTABLE_ENTRY",
+ "BFD_RELOC_IA64_IMM14",
+ "BFD_RELOC_IA64_IMM22",
+ "BFD_RELOC_IA64_IMM64",
+ "BFD_RELOC_IA64_DIR32MSB",
+ "BFD_RELOC_IA64_DIR32LSB",
+ "BFD_RELOC_IA64_DIR64MSB",
+ "BFD_RELOC_IA64_DIR64LSB",
+ "BFD_RELOC_IA64_GPREL22",
+ "BFD_RELOC_IA64_GPREL64I",
+ "BFD_RELOC_IA64_GPREL32MSB",
+ "BFD_RELOC_IA64_GPREL32LSB",
+ "BFD_RELOC_IA64_GPREL64MSB",
+ "BFD_RELOC_IA64_GPREL64LSB",
+ "BFD_RELOC_IA64_LTOFF22",
+ "BFD_RELOC_IA64_LTOFF64I",
+ "BFD_RELOC_IA64_PLTOFF22",
+ "BFD_RELOC_IA64_PLTOFF64I",
+ "BFD_RELOC_IA64_PLTOFF64MSB",
+ "BFD_RELOC_IA64_PLTOFF64LSB",
+ "BFD_RELOC_IA64_FPTR64I",
+ "BFD_RELOC_IA64_FPTR32MSB",
+ "BFD_RELOC_IA64_FPTR32LSB",
+ "BFD_RELOC_IA64_FPTR64MSB",
+ "BFD_RELOC_IA64_FPTR64LSB",
+ "BFD_RELOC_IA64_PCREL21B",
+ "BFD_RELOC_IA64_PCREL21M",
+ "BFD_RELOC_IA64_PCREL21F",
+ "BFD_RELOC_IA64_PCREL32MSB",
+ "BFD_RELOC_IA64_PCREL32LSB",
+ "BFD_RELOC_IA64_PCREL64MSB",
+ "BFD_RELOC_IA64_PCREL64LSB",
+ "BFD_RELOC_IA64_LTOFF_FPTR22",
+ "BFD_RELOC_IA64_LTOFF_FPTR64I",
+ "BFD_RELOC_IA64_LTOFF_FPTR64MSB",
+ "BFD_RELOC_IA64_LTOFF_FPTR64LSB",
+ "BFD_RELOC_IA64_SEGBASE",
+ "BFD_RELOC_IA64_SEGREL32MSB",
+ "BFD_RELOC_IA64_SEGREL32LSB",
+ "BFD_RELOC_IA64_SEGREL64MSB",
+ "BFD_RELOC_IA64_SEGREL64LSB",
+ "BFD_RELOC_IA64_SECREL32MSB",
+ "BFD_RELOC_IA64_SECREL32LSB",
+ "BFD_RELOC_IA64_SECREL64MSB",
+ "BFD_RELOC_IA64_SECREL64LSB",
+ "BFD_RELOC_IA64_REL32MSB",
+ "BFD_RELOC_IA64_REL32LSB",
+ "BFD_RELOC_IA64_REL64MSB",
+ "BFD_RELOC_IA64_REL64LSB",
+ "BFD_RELOC_IA64_LTV32MSB",
+ "BFD_RELOC_IA64_LTV32LSB",
+ "BFD_RELOC_IA64_LTV64MSB",
+ "BFD_RELOC_IA64_LTV64LSB",
+ "BFD_RELOC_IA64_IPLTMSB",
+ "BFD_RELOC_IA64_IPLTLSB",
+ "BFD_RELOC_IA64_EPLTMSB",
+ "BFD_RELOC_IA64_EPLTLSB",
+ "BFD_RELOC_IA64_COPY",
+ "BFD_RELOC_IA64_TPREL22",
+ "BFD_RELOC_IA64_TPREL64MSB",
+ "BFD_RELOC_IA64_TPREL64LSB",
+ "BFD_RELOC_IA64_LTOFF_TP22",
+ "BFD_RELOC_IA64_LTOFF22X",
+ "BFD_RELOC_IA64_LDXMOV",
"@@overflow: BFD_RELOC_UNUSED@@",
};
#endif
Index: bfd/reloc.c
===================================================================
RCS file: /cvs/src/src/bfd/reloc.c,v
retrieving revision 1.20
diff -p -r1.20 reloc.c
*** reloc.c 2000/04/11 23:01:50 1.20
--- reloc.c 2000/04/20 17:29:25
*************** ENUMDOC
*** 2749,2754 ****
--- 2749,2882 ----
is stored in the reloc's addend. For Rel hosts, we are forced to put
this offset in the reloc's section offset.
+ ENUM
+ BFD_RELOC_IA64_IMM14
+ ENUMX
+ BFD_RELOC_IA64_IMM22
+ ENUMX
+ BFD_RELOC_IA64_IMM64
+ ENUMX
+ BFD_RELOC_IA64_DIR32MSB
+ ENUMX
+ BFD_RELOC_IA64_DIR32LSB
+ ENUMX
+ BFD_RELOC_IA64_DIR64MSB
+ ENUMX
+ BFD_RELOC_IA64_DIR64LSB
+ ENUMX
+ BFD_RELOC_IA64_GPREL22
+ ENUMX
+ BFD_RELOC_IA64_GPREL64I
+ ENUMX
+ BFD_RELOC_IA64_GPREL32MSB
+ ENUMX
+ BFD_RELOC_IA64_GPREL32LSB
+ ENUMX
+ BFD_RELOC_IA64_GPREL64MSB
+ ENUMX
+ BFD_RELOC_IA64_GPREL64LSB
+ ENUMX
+ BFD_RELOC_IA64_LTOFF22
+ ENUMX
+ BFD_RELOC_IA64_LTOFF64I
+ ENUMX
+ BFD_RELOC_IA64_PLTOFF22
+ ENUMX
+ BFD_RELOC_IA64_PLTOFF64I
+ ENUMX
+ BFD_RELOC_IA64_PLTOFF64MSB
+ ENUMX
+ BFD_RELOC_IA64_PLTOFF64LSB
+ ENUMX
+ BFD_RELOC_IA64_FPTR64I
+ ENUMX
+ BFD_RELOC_IA64_FPTR32MSB
+ ENUMX
+ BFD_RELOC_IA64_FPTR32LSB
+ ENUMX
+ BFD_RELOC_IA64_FPTR64MSB
+ ENUMX
+ BFD_RELOC_IA64_FPTR64LSB
+ ENUMX
+ BFD_RELOC_IA64_PCREL21B
+ ENUMX
+ BFD_RELOC_IA64_PCREL21M
+ ENUMX
+ BFD_RELOC_IA64_PCREL21F
+ ENUMX
+ BFD_RELOC_IA64_PCREL32MSB
+ ENUMX
+ BFD_RELOC_IA64_PCREL32LSB
+ ENUMX
+ BFD_RELOC_IA64_PCREL64MSB
+ ENUMX
+ BFD_RELOC_IA64_PCREL64LSB
+ ENUMX
+ BFD_RELOC_IA64_LTOFF_FPTR22
+ ENUMX
+ BFD_RELOC_IA64_LTOFF_FPTR64I
+ ENUMX
+ BFD_RELOC_IA64_LTOFF_FPTR64MSB
+ ENUMX
+ BFD_RELOC_IA64_LTOFF_FPTR64LSB
+ ENUMX
+ BFD_RELOC_IA64_SEGBASE
+ ENUMX
+ BFD_RELOC_IA64_SEGREL32MSB
+ ENUMX
+ BFD_RELOC_IA64_SEGREL32LSB
+ ENUMX
+ BFD_RELOC_IA64_SEGREL64MSB
+ ENUMX
+ BFD_RELOC_IA64_SEGREL64LSB
+ ENUMX
+ BFD_RELOC_IA64_SECREL32MSB
+ ENUMX
+ BFD_RELOC_IA64_SECREL32LSB
+ ENUMX
+ BFD_RELOC_IA64_SECREL64MSB
+ ENUMX
+ BFD_RELOC_IA64_SECREL64LSB
+ ENUMX
+ BFD_RELOC_IA64_REL32MSB
+ ENUMX
+ BFD_RELOC_IA64_REL32LSB
+ ENUMX
+ BFD_RELOC_IA64_REL64MSB
+ ENUMX
+ BFD_RELOC_IA64_REL64LSB
+ ENUMX
+ BFD_RELOC_IA64_LTV32MSB
+ ENUMX
+ BFD_RELOC_IA64_LTV32LSB
+ ENUMX
+ BFD_RELOC_IA64_LTV64MSB
+ ENUMX
+ BFD_RELOC_IA64_LTV64LSB
+ ENUMX
+ BFD_RELOC_IA64_IPLTMSB
+ ENUMX
+ BFD_RELOC_IA64_IPLTLSB
+ ENUMX
+ BFD_RELOC_IA64_EPLTMSB
+ ENUMX
+ BFD_RELOC_IA64_EPLTLSB
+ ENUMX
+ BFD_RELOC_IA64_COPY
+ ENUMX
+ BFD_RELOC_IA64_TPREL22
+ ENUMX
+ BFD_RELOC_IA64_TPREL64MSB
+ ENUMX
+ BFD_RELOC_IA64_TPREL64LSB
+ ENUMX
+ BFD_RELOC_IA64_LTOFF_TP22
+ ENUMX
+ BFD_RELOC_IA64_LTOFF22X
+ ENUMX
+ BFD_RELOC_IA64_LDXMOV
+ ENUMDOC
+ Intel IA64 Relocations.
ENDSENUM
BFD_RELOC_UNUSED
CODE_FRAGMENT
Index: bfd/targets.c
===================================================================
RCS file: /cvs/src/src/bfd/targets.c,v
retrieving revision 1.16
diff -p -r1.16 targets.c
*** targets.c 2000/04/18 04:03:16 1.16
--- targets.c 2000/04/20 17:29:25
*************** extern const bfd_target b_out_vec_little
*** 508,513 ****
--- 508,515 ----
extern const bfd_target bfd_efi_app_ia32_vec;
extern const bfd_target bfd_efi_app_ia64_vec;
extern const bfd_target bfd_elf64_alpha_vec;
+ extern const bfd_target bfd_elf64_ia64_little_vec;
+ extern const bfd_target bfd_elf64_ia64_big_vec;
extern const bfd_target bfd_elf32_avr_vec;
extern const bfd_target bfd_elf32_bigarc_vec;
extern const bfd_target bfd_elf32_bigarm_vec;
*************** const bfd_target * const bfd_target_vect
*** 703,708 ****
--- 705,712 ----
&bfd_elf32_big_generic_vec,
#ifdef BFD64
&bfd_elf64_alpha_vec,
+ &bfd_elf64_ia64_little_vec,
+ &bfd_elf64_ia64_big_vec,
#endif
&bfd_elf32_avr_vec,
&bfd_elf32_bigarc_vec,
Index: binutils/Makefile.am
===================================================================
RCS file: /cvs/src/src/binutils/Makefile.am,v
retrieving revision 1.11
diff -p -r1.11 Makefile.am
*** Makefile.am 2000/04/09 12:17:38 1.11
--- Makefile.am 2000/04/20 17:29:25
*************** readelf.o: readelf.c ../bfd/bfd.h $(INCD
*** 481,486 ****
--- 481,487 ----
$(INCDIR)/elf/sparc.h $(INCDIR)/elf/m32r.h $(INCDIR)/elf/d10v.h \
$(INCDIR)/elf/d30v.h $(INCDIR)/elf/sh.h $(INCDIR)/elf/mn10200.h \
$(INCDIR)/elf/mn10300.h $(INCDIR)/elf/hppa.h $(INCDIR)/elf/arc.h \
+ $(INCDIR)/elf/ia64.h \
$(INCDIR)/elf/fr30.h $(INCDIR)/elf/mcore.h $(INCDIR)/elf/i960.h \
$(INCDIR)/elf/pj.h $(INCDIR)/elf/avr.h bucomm.h config.h \
$(INCDIR)/bin-bugs.h $(INCDIR)/fopen-same.h
Index: binutils/Makefile.in
===================================================================
RCS file: /cvs/src/src/binutils/Makefile.in,v
retrieving revision 1.13
diff -p -r1.13 Makefile.in
*** Makefile.in 2000/04/09 12:17:39 1.13
--- Makefile.in 2000/04/20 17:29:25
*************** readelf.o: readelf.c ../bfd/bfd.h $(INCD
*** 1337,1342 ****
--- 1337,1343 ----
$(INCDIR)/elf/sparc.h $(INCDIR)/elf/m32r.h $(INCDIR)/elf/d10v.h \
$(INCDIR)/elf/d30v.h $(INCDIR)/elf/sh.h $(INCDIR)/elf/mn10200.h \
$(INCDIR)/elf/mn10300.h $(INCDIR)/elf/hppa.h $(INCDIR)/elf/arc.h \
+ $(INCDIR)/elf/ia64.h \
$(INCDIR)/elf/fr30.h $(INCDIR)/elf/mcore.h $(INCDIR)/elf/i960.h \
$(INCDIR)/elf/pj.h $(INCDIR)/elf/avr.h bucomm.h config.h \
$(INCDIR)/bin-bugs.h $(INCDIR)/fopen-same.h
Index: binutils/readelf.c
===================================================================
RCS file: /cvs/src/src/binutils/readelf.c,v
retrieving revision 1.56
diff -p -r1.56 readelf.c
*** readelf.c 2000/04/14 04:14:24 1.56
--- readelf.c 2000/04/20 17:29:26
***************
*** 70,75 ****
--- 70,76 ----
#include "elf/i960.h"
#include "elf/pj.h"
#include "elf/avr.h"
+ #include "elf/ia64.h"
#include "bucomm.h"
#include "getopt.h"
*************** guess_is_rela (e_machine)
*** 562,567 ****
--- 563,569 ----
case EM_SH:
case EM_ALPHA:
case EM_MCORE:
+ case EM_IA_64:
return TRUE;
case EM_MMA:
*************** dump_relocations (file, rel_offset, rel_
*** 872,877 ****
--- 874,882 ----
case EM_PJ:
rtype = elf_pj_reloc_type (type);
+ break;
+ case EM_IA_64:
+ rtype = elf_ia64_reloc_type (type);
break;
}
Index: gas/Makefile.am
===================================================================
RCS file: /cvs/src/src/gas/Makefile.am,v
retrieving revision 1.16
diff -p -r1.16 Makefile.am
*** Makefile.am 2000/04/09 20:25:17 1.16
--- Makefile.am 2000/04/20 17:29:26
*************** CPU_TYPES = \
*** 48,53 ****
--- 48,54 ----
h8300 \
h8500 \
hppa \
+ ia64 \
i370 \
i386 \
i860 \
*************** TARGET_CPU_CFILES = \
*** 207,212 ****
--- 208,214 ----
config/tc-h8300.c \
config/tc-h8500.c \
config/tc-hppa.c \
+ config/tc-ia64.c \
config/tc-i370.c \
config/tc-i386.c \
config/tc-i860.c \
*************** TARGET_CPU_HFILES = \
*** 243,248 ****
--- 245,251 ----
config/tc-h8300.h \
config/tc-h8500.h \
config/tc-hppa.h \
+ config/tc-ia64.h \
config/tc-i370.h \
config/tc-i386.h \
config/tc-i860.h \
Index: gas/Makefile.in
===================================================================
RCS file: /cvs/src/src/gas/Makefile.in,v
retrieving revision 1.18
diff -p -r1.18 Makefile.in
*** Makefile.in 2000/04/09 12:17:40 1.18
--- Makefile.in 2000/04/20 17:29:26
*************** CPU_TYPES = \
*** 151,156 ****
--- 151,157 ----
h8300 \
h8500 \
hppa \
+ ia64 \
i370 \
i386 \
i860 \
*************** TARGET_CPU_CFILES = \
*** 315,320 ****
--- 316,322 ----
config/tc-h8300.c \
config/tc-h8500.c \
config/tc-hppa.c \
+ config/tc-ia64.c \
config/tc-i370.c \
config/tc-i386.c \
config/tc-i860.c \
*************** TARGET_CPU_HFILES = \
*** 351,356 ****
--- 353,359 ----
config/tc-h8300.h \
config/tc-h8500.h \
config/tc-hppa.h \
+ config/tc-ia64.h \
config/tc-i370.h \
config/tc-i386.h \
config/tc-i860.h \
Index: gas/app.c
===================================================================
RCS file: /cvs/src/src/gas/app.c,v
retrieving revision 1.8
diff -p -r1.8 app.c
*** app.c 2000/04/02 06:27:50 1.8
--- app.c 2000/04/20 17:29:26
*************** do_scrub_chars (get, tostart, tolen)
*** 913,918 ****
--- 913,933 ----
ch = ' ';
goto recycle;
}
+ #ifdef DOUBLESLASH_LINE_COMMENTS
+ else if (ch2 == '/')
+ {
+ do
+ {
+ ch = GET ();
+ }
+ while (ch != EOF && !IS_NEWLINE (ch));
+ if (ch == EOF)
+ as_warn ("end of file in comment; newline inserted");
+ state = 0;
+ PUT ('\n');
+ break;
+ }
+ #endif
else
{
if (ch2 != EOF)
Index: gas/configure
===================================================================
RCS file: /cvs/src/src/gas/configure,v
retrieving revision 1.23
diff -p -r1.23 configure
*** configure 2000/04/09 12:17:40 1.23
--- configure 2000/04/20 17:29:26
*************** for this_target in $target $canon_target
*** 1659,1664 ****
--- 1659,1665 ----
thumb*) cpu_type=arm endian=little ;;
hppa*) cpu_type=hppa ;;
i[456]86) cpu_type=i386 ;;
+ ia64) cpu_type=ia64 ;;
m680[012346]0) cpu_type=m68k ;;
m68008) cpu_type=m68k ;;
m683??) cpu_type=m68k ;;
*************** EOF
*** 1797,1802 ****
--- 1798,1806 ----
i960-*-vxworks*) fmt=bout ;;
i960-*-elf*) fmt=elf ;;
+ ia64-*-elf*) fmt=elf ;;
+ ia64-*-linux-gnu*) fmt=elf em=linux ;;
+
m32r-*-*) fmt=elf bfd_gas=yes ;;
m68k-*-vxworks* | m68k-ericsson-ose | m68k-*-sunos*)
*************** EOF
*** 1963,1968 ****
--- 1967,1973 ----
arm-*) bfd_gas=yes ;;
# not yet
# i386-aout) bfd_gas=preferred ;;
+ ia64*-*) bfd_gas=yes ;;
mips-*) bfd_gas=yes ;;
ns32k-*) bfd_gas=yes ;;
ppc-*) bfd_gas=yes ;;
Index: gas/configure.in
===================================================================
RCS file: /cvs/src/src/gas/configure.in,v
retrieving revision 1.20
diff -p -r1.20 configure.in
*** configure.in 2000/04/09 12:17:40 1.20
--- configure.in 2000/04/20 17:29:26
*************** changequote([,])dnl
*** 121,126 ****
--- 121,127 ----
hppa*) cpu_type=hppa ;;
changequote(,)dnl
i[456]86) cpu_type=i386 ;;
+ ia64) cpu_type=ia64 ;;
m680[012346]0) cpu_type=m68k ;;
changequote([,])dnl
m68008) cpu_type=m68k ;;
*************** changequote([,])dnl
*** 258,263 ****
--- 259,267 ----
i960-*-vxworks*) fmt=bout ;;
i960-*-elf*) fmt=elf ;;
+ ia64-*-elf*) fmt=elf ;;
+ ia64-*-linux-gnu*) fmt=elf em=linux ;;
+
m32r-*-*) fmt=elf bfd_gas=yes ;;
m68k-*-vxworks* | m68k-ericsson-ose | m68k-*-sunos*)
*************** changequote([,])dnl
*** 418,423 ****
--- 422,428 ----
arm-*) bfd_gas=yes ;;
# not yet
# i386-aout) bfd_gas=preferred ;;
+ ia64*-*) bfd_gas=yes ;;
mips-*) bfd_gas=yes ;;
ns32k-*) bfd_gas=yes ;;
ppc-*) bfd_gas=yes ;;
Index: gas/expr.c
===================================================================
RCS file: /cvs/src/src/gas/expr.c,v
retrieving revision 1.14
diff -p -r1.14 expr.c
*** expr.c 2000/03/13 21:20:15 1.14
--- expr.c 2000/04/20 17:29:26
*************** expr (rankarg, resultP)
*** 1744,1749 ****
--- 1744,1756 ----
}
/* Optimize common cases. */
+ #ifdef md_optimize_expr
+ if (md_optimize_expr (resultP, op_left, &right))
+ {
+ /* skip */;
+ }
+ else
+ #endif
if (op_left == O_add && right.X_op == O_constant)
{
/* X + constant. */
Index: gas/read.c
===================================================================
RCS file: /cvs/src/src/gas/read.c,v
retrieving revision 1.18
diff -p -r1.18 read.c
*** read.c 2000/03/26 14:47:33 1.18
--- read.c 2000/04/20 17:29:27
*************** die horribly;
*** 105,110 ****
--- 105,112 ----
#endif
#ifndef LEX_HASH
+ /* The IA-64 assembler uses # as a suffix designating a symbol. We include
+ it in the symbol and strip it out in tc_canonicalize_symbol_name. */
#define LEX_HASH 0
#endif
Index: gas/testsuite/gas/vtable/vtable.exp
===================================================================
RCS file: /cvs/src/src/gas/testsuite/gas/vtable/vtable.exp,v
retrieving revision 1.5
diff -p -r1.5 vtable.exp
*** vtable.exp 1999/09/02 10:11:11 1.5
--- vtable.exp 2000/04/20 17:29:28
*************** if { ([istarget "*-*-elf*"]
*** 20,25 ****
--- 20,29 ----
&& ![istarget *-*-linux*aout*]
&& ![istarget *-*-linux*oldld*] } then {
+ if {[istarget "ia64-*"]} then {
+ return
+ }
+
# not supported by D30V
if {[istarget "d30v-*-*"]} {
return
Index: include/dis-asm.h
===================================================================
RCS file: /cvs/src/src/include/dis-asm.h,v
retrieving revision 1.12
diff -p -r1.12 dis-asm.h
*** dis-asm.h 2000/03/27 08:39:13 1.12
--- dis-asm.h 2000/04/20 17:29:28
*************** extern int print_insn_big_mips PARAMS (
*** 157,162 ****
--- 157,163 ----
extern int print_insn_little_mips PARAMS ((bfd_vma, disassemble_info*));
extern int print_insn_i386_att PARAMS ((bfd_vma, disassemble_info*));
extern int print_insn_i386_intel PARAMS ((bfd_vma, disassemble_info*));
+ extern int print_insn_ia64 PARAMS ((bfd_vma, disassemble_info*));
extern int print_insn_i370 PARAMS ((bfd_vma, disassemble_info*));
extern int print_insn_m68k PARAMS ((bfd_vma, disassemble_info*));
extern int print_insn_z8001 PARAMS ((bfd_vma, disassemble_info*));
Index: ld/Makefile.am
===================================================================
RCS file: /cvs/src/src/ld/Makefile.am,v
retrieving revision 1.28
diff -p -r1.28 Makefile.am
*** Makefile.am 2000/04/14 21:18:22 1.28
--- Makefile.am 2000/04/20 17:29:28
*************** ALL_EMULATIONS = \
*** 226,231 ****
--- 226,232 ----
ez8002.o
ALL_64_EMULATIONS = \
+ eelf64_ia64.o \
eelf64_sparc.o \
eelf64alpha.o \
eelf64bmip.o
*************** eelf32i370.c: $(srcdir)/emulparams/elf32
*** 449,454 ****
--- 450,458 ----
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)"
Index: ld/Makefile.in
===================================================================
RCS file: /cvs/src/src/ld/Makefile.in,v
retrieving revision 1.30
diff -p -r1.30 Makefile.in
*** Makefile.in 2000/04/14 21:18:22 1.30
--- Makefile.in 2000/04/20 17:29:28
*************** LIBIBERTY = ../libiberty/libiberty.a
*** 175,181 ****
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_EMUL_EXTRA_OFILES = pe-dll.o deffilep.o
--- 175,181 ----
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_ia64.o eelf64_sparc.o eelf64alpha.o eelf64bmip.o
ALL_EMUL_EXTRA_OFILES = pe-dll.o deffilep.o
*************** eelf32i370.c: $(srcdir)/emulparams/elf32
*** 981,986 ****
--- 981,989 ----
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)"
Index: ld/configure.tgt
===================================================================
RCS file: /cvs/src/src/ld/configure.tgt,v
retrieving revision 1.25
diff -p -r1.25 configure.tgt
*** configure.tgt 2000/04/14 21:18:22 1.25
--- configure.tgt 2000/04/20 17:29:28
*************** i960-*-coff) targ_emul=gld960coff ;;
*** 79,84 ****
--- 79,86 ----
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 ;;
Index: opcodes/Makefile.am
===================================================================
RCS file: /cvs/src/src/opcodes/Makefile.am,v
retrieving revision 1.11
diff -p -r1.11 Makefile.am
*** Makefile.am 2000/04/14 04:16:58 1.11
--- Makefile.am 2000/04/20 17:29:29
*************** HFILES = \
*** 25,30 ****
--- 25,32 ----
mcore-opc.h \
sh-opc.h \
sysdep.h \
+ ia64-asmtab.h \
+ ia64-opc.h \
w65-opc.h \
z8k-opc.h
*************** CFILES = \
*** 58,63 ****
--- 60,75 ----
i370-opc.c \
i386-dis.c \
i960-dis.c \
+ ia64-dis.c \
+ ia64-opc-a.c \
+ ia64-opc-b.c \
+ ia64-opc-f.c \
+ ia64-opc-i.c \
+ ia64-opc-m.c \
+ ia64-opc-d.c \
+ ia64-opc.c \
+ ia64-gen.c \
+ ia64-asmtab.c \
m32r-asm.c \
m32r-desc.c \
m32r-dis.c \
*************** ALL_MACHINES = \
*** 120,125 ****
--- 132,139 ----
i370-dis.lo \
i370-opc.lo \
i960-dis.lo \
+ ia64-dis.lo \
+ ia64-opc.lo \
m32r-asm.lo \
m32r-desc.lo \
m32r-dis.lo \
*************** CLEANFILES = \
*** 202,208 ****
--- 216,239 ----
+ ia64-ic.tbl: $(srcdir)/ia64-ic.tbl
+ $(LN_S) -f $(srcdir)/ia64-ic.tbl
+ ia64-raw.tbl: $(srcdir)/ia64-raw.tbl
+ $(LN_S) -f $(srcdir)/ia64-raw.tbl
+ ia64-waw.tbl: $(srcdir)/ia64-waw.tbl
+ $(LN_S) -f $(srcdir)/ia64-waw.tbl
+ ia64-war.tbl: $(srcdir)/ia64-war.tbl
+ $(LN_S) -f $(srcdir)/ia64-war.tbl
+ ia64-gen: ia64-gen.o
+ $(LINK) ia64-gen.o $(LIBIBERTY)
+
+ ia64-gen.o: ia64-gen.c ia64-opc.c ia64-opc-a.c ia64-opc-b.c ia64-opc-f.c \
+ ia64-opc-i.c ia64-opc-m.c ia64-opc-d.c ia64-opc.h
+
+ ia64-asmtab.c: @MAINT@ ia64-gen ia64-ic.tbl ia64-raw.tbl ia64-waw.tbl ia64-war.tbl
+ ./ia64-gen > $(srcdir)/ia64-asmtab.c
+
# This dependency stuff is copied from BFD.
DEP: dep.sed $(CFILES) $(HFILES) config.h
*************** i386-dis.lo: i386-dis.c $(INCDIR)/dis-as
*** 315,320 ****
--- 346,354 ----
$(INCDIR)/ansidecl.h sysdep.h config.h opintl.h
i960-dis.lo: i960-dis.c sysdep.h config.h $(INCDIR)/ansidecl.h \
$(INCDIR)/dis-asm.h $(BFD_H)
+ ia64-dis.lo: ia64-dis.c $(INCDIR)/dis-asm.h $(INCDIR)/opcode/ia64.h $(BFD_H)
+ ia64-opc.lo: $(INCDIR)/opcode/ia64.h $(BFD_H) $(INCDIR)/libiberty.h \
+ $(INCDIR)/ansidecl.h sysdep.h ia64-asmtab.h ia64-asmtab.c
m32r-asm.lo: m32r-asm.c sysdep.h config.h $(INCDIR)/ansidecl.h \
$(BFD_H) $(INCDIR)/symcat.h m32r-desc.h $(INCDIR)/opcode/cgen.h \
m32r-opc.h opintl.h
Index: opcodes/Makefile.in
===================================================================
RCS file: /cvs/src/src/opcodes/Makefile.in,v
retrieving revision 1.13
diff -p -r1.13 Makefile.in
*** Makefile.in 2000/04/14 04:16:58 1.13
--- Makefile.in 2000/04/20 17:29:29
*************** HFILES = \
*** 128,133 ****
--- 128,135 ----
mcore-opc.h \
sh-opc.h \
sysdep.h \
+ ia64-asmtab.h \
+ ia64-opc.h \
w65-opc.h \
z8k-opc.h
*************** CFILES = \
*** 162,167 ****
--- 164,179 ----
i370-opc.c \
i386-dis.c \
i960-dis.c \
+ ia64-dis.c \
+ ia64-opc-a.c \
+ ia64-opc-b.c \
+ ia64-opc-f.c \
+ ia64-opc-i.c \
+ ia64-opc-m.c \
+ ia64-opc-d.c \
+ ia64-opc.c \
+ ia64-gen.c \
+ ia64-asmtab.c \
m32r-asm.c \
m32r-desc.c \
m32r-dis.c \
*************** ALL_MACHINES = \
*** 225,230 ****
--- 237,244 ----
i370-dis.lo \
i370-opc.lo \
i960-dis.lo \
+ ia64-dis.lo \
+ ia64-opc.lo \
m32r-asm.lo \
m32r-desc.lo \
m32r-dis.lo \
*************** all-redirect all-am all installdirs-am i
*** 676,682 ****
--- 690,713 ----
distclean-generic clean-generic maintainer-clean-generic clean \
mostlyclean distclean maintainer-clean
+ ia64-ic.tbl: $(srcdir)/ia64-ic.tbl
+ $(LN_S) -f $(srcdir)/ia64-ic.tbl
+ ia64-raw.tbl: $(srcdir)/ia64-raw.tbl
+ $(LN_S) -f $(srcdir)/ia64-raw.tbl
+ ia64-waw.tbl: $(srcdir)/ia64-waw.tbl
+ $(LN_S) -f $(srcdir)/ia64-waw.tbl
+ ia64-war.tbl: $(srcdir)/ia64-war.tbl
+ $(LN_S) -f $(srcdir)/ia64-war.tbl
+ ia64-gen: ia64-gen.o
+ $(LINK) ia64-gen.o $(LIBIBERTY)
+
+ ia64-gen.o: ia64-gen.c ia64-opc.c ia64-opc-a.c ia64-opc-b.c ia64-opc-f.c \
+ ia64-opc-i.c ia64-opc-m.c ia64-opc-d.c ia64-opc.h
+
+ ia64-asmtab.c: @MAINT@ ia64-gen ia64-ic.tbl ia64-raw.tbl ia64-waw.tbl ia64-war.tbl
+ ./ia64-gen > $(srcdir)/ia64-asmtab.c
+
disassemble.lo: disassemble.c $(INCDIR)/dis-asm.h
$(LIBTOOL) --mode=compile $(COMPILE) -c @archdefs@ $(srcdir)/disassemble.c
*************** i386-dis.lo: i386-dis.c $(INCDIR)/dis-as
*** 812,817 ****
--- 843,851 ----
$(INCDIR)/ansidecl.h sysdep.h config.h opintl.h
i960-dis.lo: i960-dis.c sysdep.h config.h $(INCDIR)/ansidecl.h \
$(INCDIR)/dis-asm.h $(BFD_H)
+ ia64-dis.lo: ia64-dis.c $(INCDIR)/dis-asm.h $(INCDIR)/opcode/ia64.h $(BFD_H)
+ ia64-opc.lo: $(INCDIR)/opcode/ia64.h $(BFD_H) $(INCDIR)/libiberty.h \
+ $(INCDIR)/ansidecl.h sysdep.h ia64-asmtab.h ia64-asmtab.c
m32r-asm.lo: m32r-asm.c sysdep.h config.h $(INCDIR)/ansidecl.h \
$(BFD_H) $(INCDIR)/symcat.h m32r-desc.h $(INCDIR)/opcode/cgen.h \
m32r-opc.h opintl.h
Index: opcodes/configure
===================================================================
RCS file: /cvs/src/src/opcodes/configure,v
retrieving revision 1.7
diff -p -r1.7 configure
*** configure 2000/04/09 12:17:43 1.7
--- configure 2000/04/20 17:29:29
*************** if test x${all_targets} = xfalse ; then
*** 3955,3960 ****
--- 3955,3961 ----
bfd_i386_arch) ta="$ta i386-dis.lo" ;;
bfd_i860_arch) ;;
bfd_i960_arch) ta="$ta i960-dis.lo" ;;
+ bfd_ia64_arch) ta="$ta ia64-dis.lo ia64-opc.lo" ;;
bfd_m32r_arch) ta="$ta m32r-asm.lo m32r-desc.lo m32r-dis.lo m32r-ibld.lo m32r-opc.lo m32r-opinst.lo" using_cgen=yes ;;
bfd_m68k_arch) ta="$ta m68k-dis.lo m68k-opc.lo" ;;
bfd_m88k_arch) ta="$ta m88k-dis.lo" ;;
Index: opcodes/configure.in
===================================================================
RCS file: /cvs/src/src/opcodes/configure.in,v
retrieving revision 1.6
diff -p -r1.6 configure.in
*** configure.in 2000/04/09 12:17:43 1.6
--- configure.in 2000/04/20 17:29:29
*************** if test x${all_targets} = xfalse ; then
*** 166,171 ****
--- 166,172 ----
bfd_i386_arch) ta="$ta i386-dis.lo" ;;
bfd_i860_arch) ;;
bfd_i960_arch) ta="$ta i960-dis.lo" ;;
+ bfd_ia64_arch) ta="$ta ia64-dis.lo ia64-opc.lo" ;;
bfd_m32r_arch) ta="$ta m32r-asm.lo m32r-desc.lo m32r-dis.lo m32r-ibld.lo m32r-opc.lo m32r-opinst.lo" using_cgen=yes ;;
bfd_m68k_arch) ta="$ta m68k-dis.lo m68k-opc.lo" ;;
bfd_m88k_arch) ta="$ta m88k-dis.lo" ;;
Index: opcodes/disassemble.c
===================================================================
RCS file: /cvs/src/src/opcodes/disassemble.c,v
retrieving revision 1.9
diff -p -r1.9 disassemble.c
*** disassemble.c 2000/04/14 04:16:58 1.9
--- disassemble.c 2000/04/20 17:29:29
*************** Foundation, Inc., 59 Temple Place - Suit
*** 33,38 ****
--- 33,39 ----
#define ARCH_i370
#define ARCH_i386
#define ARCH_i960
+ #define ARCH_ia64
#define ARCH_fr30
#define ARCH_m32r
#define ARCH_m68k
*************** disassembler (abfd)
*** 145,150 ****
--- 146,156 ----
#ifdef ARCH_i960
case bfd_arch_i960:
disassemble = print_insn_i960;
+ break;
+ #endif
+ #ifdef ARCH_ia64
+ case bfd_arch_ia64:
+ disassemble = print_insn_ia64;
break;
#endif
#ifdef ARCH_fr30