]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - bfd/bfd-in2.h
Add support for msp430.
[thirdparty/binutils-gdb.git] / bfd / bfd-in2.h
index cde91f178cb22fff5782d0930f167510617f13bb..c72767982eea3fd93c1fd84bf990fb1b5e64acea 100644 (file)
@@ -79,11 +79,11 @@ typedef struct _bfd bfd;
 
 /* Boolean type used in bfd.  Too many systems define their own
    versions of "boolean" for us to safely typedef a "boolean" of
-   our own.  Using an enum for "bfd_boolean" has it's own set of
+   our own.  Using an enum for "bfd_boolean" has its own set of
    problems, with strange looking casts required to avoid warnings
    on some older compilers.  Thus we just use an int.
 
-   General rule: functions which are bfd_boolean return TRUE on
+   General rule: Functions which are bfd_boolean return TRUE on
    success and FALSE on failure (unless they're a predicate).  */
 
 typedef int bfd_boolean;
@@ -542,48 +542,48 @@ extern bfd_boolean bfd_record_phdr
 
 /* Byte swapping routines.  */
 
-bfd_vma                bfd_getb64
+bfd_vma bfd_getb64
   PARAMS ((const unsigned char *));
-bfd_vma        bfd_getl64
+bfd_vma bfd_getl64
   PARAMS ((const unsigned char *));
-bfd_signed_vma bfd_getb_signed_64
+bfd_signed_vma bfd_getb_signed_64
   PARAMS ((const unsigned char *));
-bfd_signed_vma bfd_getl_signed_64
+bfd_signed_vma bfd_getl_signed_64
   PARAMS ((const unsigned char *));
-bfd_vma                bfd_getb32
+bfd_vma bfd_getb32
   PARAMS ((const unsigned char *));
-bfd_vma                bfd_getl32
+bfd_vma bfd_getl32
   PARAMS ((const unsigned char *));
-bfd_signed_vma bfd_getb_signed_32
+bfd_signed_vma bfd_getb_signed_32
   PARAMS ((const unsigned char *));
-bfd_signed_vma bfd_getl_signed_32
+bfd_signed_vma bfd_getl_signed_32
   PARAMS ((const unsigned char *));
-bfd_vma                bfd_getb16
+bfd_vma bfd_getb16
   PARAMS ((const unsigned char *));
-bfd_vma                bfd_getl16
+bfd_vma bfd_getl16
   PARAMS ((const unsigned char *));
-bfd_signed_vma bfd_getb_signed_16
+bfd_signed_vma bfd_getb_signed_16
   PARAMS ((const unsigned char *));
-bfd_signed_vma bfd_getl_signed_16
+bfd_signed_vma bfd_getl_signed_16
   PARAMS ((const unsigned char *));
-void           bfd_putb64
+void bfd_putb64
   PARAMS ((bfd_vma, unsigned char *));
-void           bfd_putl64
+void bfd_putl64
   PARAMS ((bfd_vma, unsigned char *));
-void           bfd_putb32
+void bfd_putb32
   PARAMS ((bfd_vma, unsigned char *));
-void           bfd_putl32
+void bfd_putl32
   PARAMS ((bfd_vma, unsigned char *));
-void           bfd_putb16
+void bfd_putb16
   PARAMS ((bfd_vma, unsigned char *));
-void           bfd_putl16
+void bfd_putl16
   PARAMS ((bfd_vma, unsigned char *));
 
 /* Byte swapping routines which take size and endiannes as arguments.  */
 
-bfd_vma         bfd_get_bits
+bfd_vma bfd_get_bits
   PARAMS ((bfd_byte *, int, bfd_boolean));
-void            bfd_put_bits
+void bfd_put_bits
   PARAMS ((bfd_vma, bfd_byte *, int, bfd_boolean));
 \f
 /* Externally visible ECOFF routines.  */
@@ -627,7 +627,7 @@ extern bfd_boolean bfd_ecoff_debug_externals
           const struct ecoff_debug_swap *swap,
           bfd_boolean relocateable,
           bfd_boolean (*get_extr) (struct symbol_cache_entry *,
-                               struct ecoff_extr *),
+                                   struct ecoff_extr *),
           void (*set_index) (struct symbol_cache_entry *,
                              bfd_size_type)));
 extern bfd_boolean bfd_ecoff_debug_one_external
@@ -1628,6 +1628,9 @@ enum bfd_architecture
   bfd_arch_dlx,       /* DLX */
   bfd_arch_m68hc11,   /* Motorola 68HC11 */
   bfd_arch_m68hc12,   /* Motorola 68HC12 */
+#define bfd_mach_m6812_default 0
+#define bfd_mach_m6812         1
+#define bfd_mach_m6812s        2
   bfd_arch_z8k,       /* Zilog Z8000 */
 #define bfd_mach_z8001         1
 #define bfd_mach_z8002         2
@@ -1710,6 +1713,20 @@ enum bfd_architecture
   bfd_arch_mmix,      /* Donald Knuth's educational processor.  */
   bfd_arch_xstormy16,
 #define bfd_mach_xstormy16     1
+  bfd_arch_msp430,    /* Texas Instruments MSP430 architecture.  */
+#define bfd_mach_msp110         110
+#define bfd_mach_msp11          11
+#define bfd_mach_msp12          12
+#define bfd_mach_msp13          13
+#define bfd_mach_msp14          14
+#define bfd_mach_msp41          41
+#define bfd_mach_msp31          31
+#define bfd_mach_msp32          32
+#define bfd_mach_msp33          33
+#define bfd_mach_msp43          43
+#define bfd_mach_msp44          44
+#define bfd_mach_msp15          15
+#define bfd_mach_msp16          16  
   bfd_arch_last
   };
 
@@ -1749,7 +1766,8 @@ bfd_arch_list PARAMS ((void));
 const bfd_arch_info_type *
 bfd_arch_get_compatible PARAMS ((
     const bfd *abfd,
-    const bfd *bbfd));
+    const bfd *bbfd,
+    bfd_boolean accept_unknowns));
 
 void
 bfd_set_arch_info PARAMS ((bfd *abfd, const bfd_arch_info_type *arg));
@@ -1917,19 +1935,18 @@ struct reloc_howto_struct
      links (e.g. GOT stuff) it doesn't matter what this is set to.  */
   bfd_boolean partial_inplace;
 
-  /* The src_mask selects which parts of the read in data
-     are to be used in the relocation sum.  E.g., if this was an 8 bit
-     byte of data which we read and relocated, this would be
-     0x000000ff.  When we have relocs which have an addend, such as
-     sun4 extended relocs, the value in the offset part of a
-     relocating field is garbage so we never use it.  In this case
-     the mask would be 0x00000000.  */
+  /* src_mask selects the part of the instruction (or data) to be used
+     in the relocation sum.  If the target relocations don't have an
+     addend in the reloc, eg. ELF USE_REL, src_mask will normally equal
+     dst_mask to extract the addend from the section contents.  If
+     relocations do have an addend in the reloc, eg. ELF USE_RELA, this
+     field should be zero.  Non-zero values for ELF USE_RELA targets are
+     bogus as in those cases the value in the dst_mask part of the
+     section contents should be treated as garbage.  */
   bfd_vma src_mask;
 
-  /* The dst_mask selects which parts of the instruction are replaced
-     into the instruction.  In most cases src_mask == dst_mask,
-     except in the above special case, where dst_mask would be
-     0x000000ff, and src_mask would be 0x00000000.  */
+  /* dst_mask selects which parts of the instruction (or data) are
+     replaced with a relocated value.  */
   bfd_vma dst_mask;
 
   /* When some formats create PC relative instructions, they leave
@@ -3235,6 +3252,7 @@ to follow the 16K memory bank of 68HC12 (seen as mapped in the window).  */
 
 /* Sony Xstormy16 Relocations.  */
   BFD_RELOC_XSTORMY16_REL_12,
+  BFD_RELOC_XSTORMY16_12,
   BFD_RELOC_XSTORMY16_24,
   BFD_RELOC_XSTORMY16_FPTR16,
 
@@ -3242,6 +3260,13 @@ to follow the 16K memory bank of 68HC12 (seen as mapped in the window).  */
   BFD_RELOC_VAX_GLOB_DAT,
   BFD_RELOC_VAX_JMP_SLOT,
   BFD_RELOC_VAX_RELATIVE,
+
+/* msp430 specific relocation codes  */
+  BFD_RELOC_MSP430_10_PCREL,
+  BFD_RELOC_MSP430_16_PCREL,
+  BFD_RELOC_MSP430_16,
+  BFD_RELOC_MSP430_16_PCREL_BYTE,
+  BFD_RELOC_MSP430_16_BYTE,
   BFD_RELOC_UNUSED };
 typedef enum bfd_reloc_code_real bfd_reloc_code_real_type;
 reloc_howto_type *