aboutsummaryrefslogtreecommitdiff
path: root/bfd/bfd-in2.h
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1996-06-18 19:07:51 +0000
committerIan Lance Taylor <ian@airs.com>1996-06-18 19:07:51 +0000
commitc3d8e071bfe11043d6d1398377f6eadc22cf0679 (patch)
treeb89fee436772b1a0435926b7b4bc397cdaae236a /bfd/bfd-in2.h
parentbc70a91892e1fafd31d905154026d999cf41bd42 (diff)
downloadgdb-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.h34
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 };