diff options
author | Ian Lance Taylor <ian@airs.com> | 1996-06-18 19:07:51 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1996-06-18 19:07:51 +0000 |
commit | c3d8e071bfe11043d6d1398377f6eadc22cf0679 (patch) | |
tree | b89fee436772b1a0435926b7b4bc397cdaae236a /bfd/bfd-in2.h | |
parent | bc70a91892e1fafd31d905154026d999cf41bd42 (diff) | |
download | gdb-c3d8e071bfe11043d6d1398377f6eadc22cf0679.zip gdb-c3d8e071bfe11043d6d1398377f6eadc22cf0679.tar.gz gdb-c3d8e071bfe11043d6d1398377f6eadc22cf0679.tar.bz2 |
Tue Jun 18 14:42:58 1996 Klaus Kaempf <kkaempf@progis.de>
Added support for Alpha OpenVMS:
* evax.h, evax-alpha.c, evax-egsd.c, evax-emh.c: New files.
* evax-etir.c, evax-misc.c, hosts/alphavms.h: New files.
* config.h-vms, makefile.vms: New files.
* config.bfd (alpha-*-*vms*): New target.
* configure.in (evax_alpha_vec): New target vector.
* configure: Rebuild.
* reloc.c (BFD_RELOC_SWREL32, BFD_RELOC_SWREL64): Define.
(BFD_RELOC_ALPHA_LINKAGE, BFD_RELOC_ALPHA_BASEREG): Define.
* targets.c (bfd_target_evax_flavour): Define.
(evax_alpha_vec): Declare.
(bfd_target_vector): Add ecoffalpha_little_vec and evax_alpha_vec
if BFD64 is defined.
* bfd-in2.h, libbfd.h: Rebuild.
* Makefile.in: Rebuild dependencies.
(BFD64_BACKENDS): Add evax-alpha.o, evax-egsd.o, evax-etir.o,
evax-emh.o, and evax-misc.o.
(BFD64_BACKENDS_CFILES): Add evax-alpha.c, evax-egsd.c,
evax-etir.c, evax-emh.c, and evax-misc.c.
(HFILES): Add evax.h.
Diffstat (limited to 'bfd/bfd-in2.h')
-rw-r--r-- | bfd/bfd-in2.h | 34 |
1 files changed, 29 insertions, 5 deletions
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h index 8003d45..a6b59aa 100644 --- a/bfd/bfd-in2.h +++ b/bfd/bfd-in2.h @@ -125,7 +125,9 @@ typedef long int file_ptr; #else #ifdef __GNUC__ #define BFD_HOST_64_BIT long long -#endif /* defined (__GNUC__) */ +#else /* ! defined (__GNUC__) */ + #error No 64 bit integer type available +#endif /* ! defined (__GNUC__) */ #endif /* ! BFD_HOST_64BIT_LONG */ #endif /* ! defined (BFD_HOST_64_BIT) */ @@ -665,6 +667,18 @@ extern boolean bfd_xcoff_size_dynamic_sections unsigned long, unsigned long, unsigned long, boolean, int, boolean, boolean, struct sec **)); +/* Externally visible COFF routines. */ + +#if defined(__STDC__) || defined(ALMOST_STDC) +struct internal_syment; +union internal_auxent; +#endif + +extern boolean bfd_coff_get_syment + PARAMS ((bfd *, struct symbol_cache_entry *, struct internal_syment *)); +extern boolean bfd_coff_get_auxent + PARAMS ((bfd *, struct symbol_cache_entry *, int, union internal_auxent *)); + /* And more from the source. */ void bfd_init PARAMS ((void)); @@ -1190,9 +1204,6 @@ enum bfd_architecture bfd_arch_arm, /* Advanced Risc Machines ARM */ bfd_arch_ns32k, /* National Semiconductors ns32000 */ bfd_arch_w65, /* WDC 65816 */ - /* start-sanitize-rce */ - bfd_arch_rce, /* Motorola RCE */ - /* end-sanitize-rce */ /* start-sanitize-arc */ bfd_arch_arc, /* Argonaut RISC Core */ #define bfd_mach_arc_base 0 @@ -1533,6 +1544,11 @@ decided relatively late. */ BFD_RELOC_GPREL16, BFD_RELOC_GPREL32, +/* For openVMS/Alpha systems, these are displacements for switch +tables. */ + BFD_RELOC_SWREL32, + BFD_RELOC_SWREL64, + /* Reloc types used for i960/b.out. */ BFD_RELOC_I960_CALLJ, @@ -1617,6 +1633,13 @@ The GNU linker currently doesn't do any of this optimizing. */ prediction logic which may be provided on some processors. */ BFD_RELOC_ALPHA_HINT, +/* The LINKAGE relocation outputs a special code in the object file, +the rest is handled by the linker. */ + BFD_RELOC_ALPHA_LINKAGE, + +/* The BASEREG relocation calculates differences to basereg. */ + BFD_RELOC_ALPHA_BASEREG, + /* Bits 27..2 of the relocation address shifted right 2 bits; simple reloc otherwise. */ BFD_RELOC_MIPS_JMP, @@ -2270,7 +2293,8 @@ enum bfd_flavour { bfd_target_som_flavour, bfd_target_os9k_flavour, bfd_target_versados_flavour, - bfd_target_msdos_flavour + bfd_target_msdos_flavour, + bfd_target_evax_flavour }; enum bfd_endian { BFD_ENDIAN_BIG, BFD_ENDIAN_LITTLE, BFD_ENDIAN_UNKNOWN }; |