X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=bfd%2Fbfd-in2.h;h=f679fccaa7d082edfade3c0bacd20ecd88de9fe2;hb=a75473eb669e29b5a60695988da32f2c5449d530;hp=cde91f178cb22fff5782d0930f167510617f13bb;hpb=b34976b65aea8f33690229600bbf4527ec3118e1;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h index cde91f178c..f679fccaa7 100644 --- a/bfd/bfd-in2.h +++ b/bfd/bfd-in2.h @@ -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)); /* 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 @@ -1572,6 +1572,7 @@ enum bfd_architecture #define bfd_mach_mips5 5 #define bfd_mach_mips_sb1 12310201 /* octal 'SB', 01 */ #define bfd_mach_mipsisa32 32 +#define bfd_mach_mipsisa32r2 33 #define bfd_mach_mipsisa64 64 bfd_arch_i386, /* Intel 386 */ #define bfd_mach_i386_i386 1 @@ -1628,6 +1629,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 @@ -1695,6 +1699,9 @@ enum bfd_architecture bfd_arch_ip2k, /* Ubicom IP2K microcontrollers. */ #define bfd_mach_ip2022 1 #define bfd_mach_ip2022ext 2 + bfd_arch_iq2000, /* Vitesse IQ2000. */ +#define bfd_mach_iq2000 1 +#define bfd_mach_iq10 2 bfd_arch_pj, bfd_arch_avr, /* Atmel AVR microcontrollers. */ #define bfd_mach_avr1 1 @@ -1710,6 +1717,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 +1770,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 +1939,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 +3256,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 +3264,18 @@ 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, + +/* IQ2000 Relocations. */ + BFD_RELOC_IQ2000_OFFSET_16, + BFD_RELOC_IQ2000_OFFSET_21, + BFD_RELOC_IQ2000_UHI16, BFD_RELOC_UNUSED }; typedef enum bfd_reloc_code_real bfd_reloc_code_real_type; reloc_howto_type *