Improve gas error messages for invalid instructions.
[deliverable/binutils-gdb.git] / bfd / libaout.h
index a08af0a11fa5f06b3ee08c988fd0b28c15b914c8..818b10c95e8e7c136a749c5e150140bf6a964b27 100644 (file)
@@ -1,5 +1,6 @@
 /* BFD back-end data structures for a.out (and similar) files.
 /* BFD back-end data structures for a.out (and similar) files.
-   Copyright 1990, 91, 92, 93, 94, 95, 1996 Free Software Foundation, Inc.
+   Copyright 1990, 91, 92, 93, 94, 95, 96, 97, 1998
+   Free Software Foundation, Inc.
    Written by Cygnus Support.
 
 This file is part of BFD, the Binary File Descriptor library.
    Written by Cygnus Support.
 
 This file is part of BFD, the Binary File Descriptor library.
@@ -32,22 +33,39 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 #if ARCH_SIZE==64
 #define GET_WORD bfd_h_get_64
 #define GET_SWORD bfd_h_get_signed_64
 #if ARCH_SIZE==64
 #define GET_WORD bfd_h_get_64
 #define GET_SWORD bfd_h_get_signed_64
+#define GET_MAGIC bfd_h_get_32
 #define PUT_WORD bfd_h_put_64
 #define PUT_WORD bfd_h_put_64
+#define PUT_MAGIC bfd_h_put_32
 #ifndef NAME
 #define NAME(x,y) CAT3(x,_64_,y)
 #endif
 #define JNAME(x) CAT(x,_64)
 #define BYTES_IN_WORD 8
 #ifndef NAME
 #define NAME(x,y) CAT3(x,_64_,y)
 #endif
 #define JNAME(x) CAT(x,_64)
 #define BYTES_IN_WORD 8
+#else
+#if ARCH_SIZE==16
+#define GET_WORD bfd_h_get_16
+#define GET_SWORD bfd_h_get_signed_16
+#define GET_MAGIC bfd_h_get_16
+#define PUT_WORD bfd_h_put_16
+#define PUT_MAGIC bfd_h_put_16
+#ifndef NAME
+#define NAME(x,y) CAT3(x,_16_,y)
+#endif
+#define JNAME(x) CAT(x,_16)
+#define BYTES_IN_WORD 2
 #else /* ARCH_SIZE == 32 */
 #define GET_WORD bfd_h_get_32
 #define GET_SWORD bfd_h_get_signed_32
 #else /* ARCH_SIZE == 32 */
 #define GET_WORD bfd_h_get_32
 #define GET_SWORD bfd_h_get_signed_32
+#define GET_MAGIC bfd_h_get_32
 #define PUT_WORD bfd_h_put_32
 #define PUT_WORD bfd_h_put_32
+#define PUT_MAGIC bfd_h_put_32
 #ifndef NAME
 #define NAME(x,y) CAT3(x,_32_,y)
 #endif
 #define JNAME(x) CAT(x,_32)
 #define BYTES_IN_WORD 4
 #endif /* ARCH_SIZE==32 */
 #ifndef NAME
 #define NAME(x,y) CAT3(x,_32_,y)
 #endif
 #define JNAME(x) CAT(x,_32)
 #define BYTES_IN_WORD 4
 #endif /* ARCH_SIZE==32 */
+#endif /* ARCH_SIZE==64 */
 
 /* Declare at file level, since used in parameter lists, which have
    weird scope.  */
 
 /* Declare at file level, since used in parameter lists, which have
    weird scope.  */
@@ -105,6 +123,12 @@ struct aout_backend_data
      If not, the text section starts on the next page.  */
   unsigned char text_includes_header;
 
      If not, the text section starts on the next page.  */
   unsigned char text_includes_header;
 
+  /* If this flag is set, then if the entry address is not in the
+     first SEGMENT_SIZE bytes of the text section, it is taken to be
+     the address of the start of the text section.  This can be useful
+     for kernels.  */
+  unsigned char entry_is_text_address;
+
   /* The value to pass to N_SET_FLAGS.  */
   unsigned char exec_hdr_flags;
 
   /* The value to pass to N_SET_FLAGS.  */
   unsigned char exec_hdr_flags;
 
@@ -222,11 +246,24 @@ enum machine_type {
   M_68K4K_NETBSD = 136,        /* NetBSD/m68k4k binary */
   M_532_NETBSD = 137,  /* NetBSD/ns32k binary */
   M_SPARC_NETBSD = 138,        /* NetBSD/sparc binary */
   M_68K4K_NETBSD = 136,        /* NetBSD/m68k4k binary */
   M_532_NETBSD = 137,  /* NetBSD/ns32k binary */
   M_SPARC_NETBSD = 138,        /* NetBSD/sparc binary */
+  M_PMAX_NETBSD = 139, /* NetBSD/pmax (MIPS little-endian) binary */
+  M_VAX_NETBSD = 140,  /* NetBSD/vax binary */
+  M_ALPHA_NETBSD = 141,        /* NetBSD/alpha binary */
+  M_ARM6_NETBSD = 143, /* NetBSD/arm32 binary */
+  M_SPARCLET_1 = 147,  /* 0x93, reserved */
   M_MIPS1 = 151,        /* MIPS R2000/R3000 binary */
   M_MIPS2 = 152,        /* MIPS R4000/R6000 binary */
   M_MIPS1 = 151,        /* MIPS R2000/R3000 binary */
   M_MIPS2 = 152,        /* MIPS R4000/R6000 binary */
+  M_SPARCLET_2 = 163,  /* 0xa3, reserved */
+  M_SPARCLET_3 = 179,  /* 0xb3, reserved */
+  M_SPARCLET_4 = 195,  /* 0xc3, reserved */
   M_HP200 = 200,       /* HP 200 (68010) BSD binary */
   M_HP300 = (300 % 256), /* HP 300 (68020+68881) BSD binary */
   M_HP200 = 200,       /* HP 200 (68010) BSD binary */
   M_HP300 = (300 % 256), /* HP 300 (68020+68881) BSD binary */
-  M_HPUX = (0x20c % 256)/* HP 200/300 HPUX binary */
+  M_HPUX = (0x20c % 256), /* HP 200/300 HPUX binary */
+  M_SPARCLET_5 = 211,  /* 0xd3, reserved */
+  M_SPARCLET_6 = 227,  /* 0xe3, reserved */
+  /*  M_SPARCLET_7 = 243       / * 0xf3, reserved */
+  M_SPARCLITE_LE = 243,
+  M_CRIS = 255         /* Axis CRIS binary.  */
 };
 
 #define N_DYNAMIC(exec) ((exec).a_info & 0x80000000)
 };
 
 #define N_DYNAMIC(exec) ((exec).a_info & 0x80000000)
@@ -547,6 +584,8 @@ NAME(aout,bfd_free_cached_info) PARAMS ((bfd *));
 
 /* A.out uses the generic versions of these routines... */
 
 
 /* A.out uses the generic versions of these routines... */
 
+#define        aout_16_get_section_contents    _bfd_generic_get_section_contents
+
 #define        aout_32_get_section_contents    _bfd_generic_get_section_contents
 
 #define        aout_64_get_section_contents    _bfd_generic_get_section_contents
 #define        aout_32_get_section_contents    _bfd_generic_get_section_contents
 
 #define        aout_64_get_section_contents    _bfd_generic_get_section_contents
@@ -554,8 +593,8 @@ NAME(aout,bfd_free_cached_info) PARAMS ((bfd *));
 #define NO_WRITE_HEADER_KLUDGE 0
 #endif
 
 #define NO_WRITE_HEADER_KLUDGE 0
 #endif
 
-#ifndef aout_32_bfd_is_local_label
-#define aout_32_bfd_is_local_label bfd_generic_is_local_label
+#ifndef aout_32_bfd_is_local_label_name
+#define aout_32_bfd_is_local_label_name bfd_generic_is_local_label_name
 #endif
 
 #ifndef WRITE_HEADERS
 #endif
 
 #ifndef WRITE_HEADERS
This page took 0.023724 seconds and 4 git commands to generate.