OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /openrisc/trunk/gnu-src/gdb-6.8/include
    from Rev 157 to Rev 225
    Reverse comparison

Rev 157 → Rev 225

/ChangeLog-9103
2533,7 → 2533,7
 
Thu Oct 24 22:11:11 1991 John Gilmore (gnu at cygnus.com)
 
 
RS/6000 support, by Metin G. Ozisik, Mimi Phûông-Thåo Võ, and
John Gilmore.
 
* a.out.gnu.h: Update slightly.
/dyn-string.h
1,5 → 1,6
/* An abstract string datatype.
Copyright (C) 1998, 1999, 2000, 2002, 2004 Free Software Foundation, Inc.
Copyright (C) 1998, 1999, 2000, 2002, 2004, 2005, 2009
Free Software Foundation, Inc.
Contributed by Mark Mitchell (mark@markmitchell.com).
 
This file is part of GCC.
19,7 → 20,13
the Free Software Foundation, 51 Franklin Street - Fifth Floor,
Boston, MA 02110-1301, USA. */
 
#ifndef DYN_STRING_H
#define DYN_STRING_H
 
#ifdef __cplusplus
extern "C" {
#endif
 
typedef struct dyn_string
{
int allocated; /* The amount of space allocated for the string. */
58,3 → 65,9
extern int dyn_string_append_char (dyn_string_t, int);
extern int dyn_string_substring (dyn_string_t, dyn_string_t, int, int);
extern int dyn_string_eq (dyn_string_t, dyn_string_t);
 
#ifdef __cplusplus
}
#endif
 
#endif /* !defined (DYN_STRING_H) */
/nlm/sparc32-ext.h
1,5 → 1,5
/* SPARC NLM (NetWare Loadable Module) support for BFD.
Copyright 1993 Free Software Foundation, Inc.
Copyright 1993, 2005 Free Software Foundation, Inc.
 
This file is part of BFD, the Binary File Descriptor library.
 
/nlm/internal.h
1,5 → 1,5
/* NLM (NetWare Loadable Module) support for BFD.
Copyright 1993, 1994, 2003 Free Software Foundation, Inc.
Copyright 1993, 1994, 2003, 2005 Free Software Foundation, Inc.
 
Written by Fred Fish @ Cygnus Support.
 
/nlm/ppc-ext.h
1,5 → 1,5
/* PowerPC NLM (NetWare Loadable Module) support for BFD.
Copyright (C) 1994 Free Software Foundation, Inc.
Copyright (C) 1994, 2005 Free Software Foundation, Inc.
 
This file is part of BFD, the Binary File Descriptor library.
 
/nlm/external.h
1,5 → 1,5
/* NLM (NetWare Loadable Module) support for BFD.
Copyright 1993, 1994 Free Software Foundation, Inc.
Copyright 1993, 1994, 2005 Free Software Foundation, Inc.
 
Written by Fred Fish @ Cygnus Support
 
/nlm/alpha-ext.h
1,5 → 1,5
/* Alpha NLM (NetWare Loadable Module) support for BFD.
Copyright 1993 Free Software Foundation, Inc.
Copyright 1993, 2005 Free Software Foundation, Inc.
By Ian Lance Taylor, Cygnus Support
 
This file is part of BFD, the Binary File Descriptor library.
/nlm/i386-ext.h
1,5 → 1,5
/* i386 NLM (NetWare Loadable Module) support for BFD.
Copyright 1993 Free Software Foundation, Inc.
Copyright 1993, 2005 Free Software Foundation, Inc.
 
This file is part of BFD, the Binary File Descriptor library.
 
/nlm/common.h
1,5 → 1,5
/* NLM (NetWare Loadable Module) support for BFD.
Copyright 1993, 2001 Free Software Foundation, Inc.
Copyright 1993, 2001, 2005 Free Software Foundation, Inc.
 
Written by Fred Fish @ Cygnus Support
 
/safe-ctype.h
35,10 → 35,6
#ifndef SAFE_CTYPE_H
#define SAFE_CTYPE_H
 
#ifdef isalpha
#error "safe-ctype.h and ctype.h may not be used simultaneously"
#endif
 
/* Determine host character set. */
#define HOST_CHARSET_UNKNOWN 0
#define HOST_CHARSET_ASCII 1
116,4 → 112,39
#define TOUPPER(c) _sch_toupper[(c) & 0xff]
#define TOLOWER(c) _sch_tolower[(c) & 0xff]
 
/* Prevent the users of safe-ctype.h from accidently using the routines
from ctype.h. Initially, the approach was to produce an error when
detecting that ctype.h has been included. But this was causing
trouble as ctype.h might get indirectly included as a result of
including another system header (for instance gnulib's stdint.h).
So we include ctype.h here and then immediately redefine its macros. */
 
#include <ctype.h>
#undef isalpha
#define isalpha(c) do_not_use_isalpha_with_safe_ctype
#undef isalnum
#define isalnum(c) do_not_use_isalnum_with_safe_ctype
#undef iscntrl
#define iscntrl(c) do_not_use_iscntrl_with_safe_ctype
#undef isdigit
#define isdigit(c) do_not_use_isdigit_with_safe_ctype
#undef isgraph
#define isgraph(c) do_not_use_isgraph_with_safe_ctype
#undef islower
#define islower(c) do_not_use_islower_with_safe_ctype
#undef isprint
#define isprint(c) do_not_use_isprint_with_safe_ctype
#undef ispunct
#define ispunct(c) do_not_use_ispunct_with_safe_ctype
#undef isspace
#define isspace(c) do_not_use_isspace_with_safe_ctype
#undef isupper
#define isupper(c) do_not_use_isupper_with_safe_ctype
#undef isxdigit
#define isxdigit(c) do_not_use_isxdigit_with_safe_ctype
#undef toupper
#define toupper(c) do_not_use_toupper_with_safe_ctype
#undef tolower
#define tolower(c) do_not_use_tolower_with_safe_ctype
 
#endif /* SAFE_CTYPE_H */
/filenames.h
26,6 → 26,10
#ifndef FILENAMES_H
#define FILENAMES_H
 
#ifdef __cplusplus
extern "C" {
#endif
 
#if defined(__MSDOS__) || defined(_WIN32) || defined(__OS2__) || defined (__CYGWIN__)
 
#ifndef HAVE_DOS_BASED_FILE_SYSTEM
49,4 → 53,8
extern int filename_cmp (const char *s1, const char *s2);
#define FILENAME_CMP(s1, s2) filename_cmp(s1, s2)
 
#ifdef __cplusplus
}
#endif
 
#endif /* FILENAMES_H */
/xtensa-isa.h
1,5 → 1,5
/* Interface definition for configurable Xtensa ISA support.
Copyright 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
Copyright 2003, 2004, 2005, 2006, 2008 Free Software Foundation, Inc.
 
This file is part of BFD, the Binary File Descriptor library.
 
15,7 → 15,8
 
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301,
USA. */
 
#ifndef XTENSA_LIBISA_H
#define XTENSA_LIBISA_H
686,6 → 687,13
xtensa_state_is_exported (xtensa_isa isa, xtensa_state st);
 
 
/* Check for a "shared_or" state. Returns 0 if the condition is false,
1 if the condition is true, and XTENSA_UNDEFINED on error. */
 
extern int
xtensa_state_is_shared_or (xtensa_isa isa, xtensa_state st);
 
 
/* Sysregs ("special registers" and "user registers"). */
 
/md5.h
72,6 → 72,10
typedef unsigned long int md5_uintptr;
#endif
 
#ifdef __cplusplus
extern "C" {
#endif
 
/* Structure to save state of computation between the single steps. */
struct md5_ctx
{
138,4 → 142,8
digest. */
extern void *md5_buffer (const char *buffer, size_t len, void *resblock);
 
#ifdef __cplusplus
}
#endif
 
#endif
/obstack.h
1,6 → 1,6
/* obstack.h - object stack macros
Copyright 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1996, 1997, 1998,
1999, 2000, 2001, 2002, 2003, 2004, 2005
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
Free Software Foundation, Inc.
 
 
527,7 → 527,7
> (h)->chunk_limit - (char *) (h)->chunk) \
? ((h)->next_free = (h)->chunk_limit) : 0), \
(h)->object_base = (h)->next_free, \
__INT_TO_PTR ((h)->temp))
(void *) __INT_TO_PTR ((h)->temp))
 
# define obstack_free(h,obj) \
( (h)->temp = (char *) (obj) - (char *) (h)->chunk, \
/dis-asm.h
1,6 → 1,6
/* Interface between the opcode library and its callers.
 
Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
Free Software Foundation, Inc.
 
This program is free software; you can redistribute it and/or modify
39,14 → 39,14
 
enum dis_insn_type
{
dis_noninsn, /* Not a valid instruction */
dis_nonbranch, /* Not a branch instruction */
dis_branch, /* Unconditional branch */
dis_condbranch, /* Conditional branch */
dis_jsr, /* Jump to subroutine */
dis_condjsr, /* Conditional jump to subroutine */
dis_dref, /* Data reference instruction */
dis_dref2 /* Two data references in instruction */
dis_noninsn, /* Not a valid instruction. */
dis_nonbranch, /* Not a branch instruction. */
dis_branch, /* Unconditional branch. */
dis_condbranch, /* Conditional branch. */
dis_jsr, /* Jump to subroutine. */
dis_condjsr, /* Conditional jump to subroutine. */
dis_dref, /* Data reference instruction. */
dis_dref2 /* Two data references in instruction. */
};
 
/* This struct is passed into the instruction decoding routine,
76,6 → 76,8
unsigned long mach;
/* Endianness (for bi-endian cpus). Mono-endian cpus can ignore this. */
enum bfd_endian endian;
/* Endianness of code, for mixed-endian situations such as ARM BE8. */
enum bfd_endian endian_code;
/* An arch/mach-specific bitmask of selected instruction subsets, mainly
for processors with run-time-switchable instruction sets. The default,
zero, means that there is no constraint. CGEN-based opcodes ports
106,7 → 108,16
The top 16 bits are reserved for public use (and are documented here).
The bottom 16 bits are for the internal use of the disassembler. */
unsigned long flags;
#define INSN_HAS_RELOC 0x80000000
/* Set if the disassembler has determined that there are one or more
relocations associated with the instruction being disassembled. */
#define INSN_HAS_RELOC (1 << 31)
/* Set if the user has requested the disassembly of data as well as code. */
#define DISASSEMBLE_DATA (1 << 30)
/* Set if the user has specifically set the machine type encoded in the
mach field of this structure. */
#define USER_SPECIFIED_MACHINE_TYPE (1 << 29)
 
/* Use internally by the target specific disassembly code. */
void *private_data;
 
/* Function used to get bytes to disassemble. MEMADDR is the
243,6 → 254,7
extern int print_insn_little_or32 (bfd_vma, disassemble_info *);
extern int print_insn_little_powerpc (bfd_vma, disassemble_info *);
extern int print_insn_little_score (bfd_vma, disassemble_info *);
extern int print_insn_lm32 (bfd_vma, disassemble_info *);
extern int print_insn_m32c (bfd_vma, disassemble_info *);
extern int print_insn_m32r (bfd_vma, disassemble_info *);
extern int print_insn_m68hc11 (bfd_vma, disassemble_info *);
253,9 → 265,11
extern int print_insn_maxq_little (bfd_vma, disassemble_info *);
extern int print_insn_mcore (bfd_vma, disassemble_info *);
extern int print_insn_mep (bfd_vma, disassemble_info *);
extern int print_insn_microblaze (bfd_vma, disassemble_info *);
extern int print_insn_mmix (bfd_vma, disassemble_info *);
extern int print_insn_mn10200 (bfd_vma, disassemble_info *);
extern int print_insn_mn10300 (bfd_vma, disassemble_info *);
extern int print_insn_moxie (bfd_vma, disassemble_info *);
extern int print_insn_msp430 (bfd_vma, disassemble_info *);
extern int print_insn_mt (bfd_vma, disassemble_info *);
extern int print_insn_ns32k (bfd_vma, disassemble_info *);
291,6 → 305,7
extern void print_ppc_disassembler_options (FILE *);
extern void print_arm_disassembler_options (FILE *);
extern void parse_arm_disassembler_option (char *);
extern void print_s390_disassembler_options (FILE *);
extern int get_arm_regname_num_options (void);
extern int set_arm_regname_option (int);
extern int get_arm_regnames (int, const char **, const char **, const char *const **);
/fibheap.h
1,5 → 1,6
/* A Fibonacci heap datatype.
Copyright 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2009
Free Software Foundation, Inc.
Contributed by Daniel Berlin (dan@cgsoftware.com).
 
This file is part of GCC.
42,6 → 43,10
 
#include "ansidecl.h"
 
#ifdef __cplusplus
extern "C" {
#endif
 
typedef long fibheapkey_t;
 
typedef struct fibheap
83,4 → 88,8
extern void fibheap_delete (fibheap_t);
extern fibheap_t fibheap_union (fibheap_t, fibheap_t);
 
#ifdef __cplusplus
}
#endif
 
#endif /* _FIBHEAP_H_ */
/ChangeLog
1,3 → 1,290
2009-10-09 Rafael Espindola <espindola@google.com>
 
* plugin-api.h (ld_plugin_add_input_library): Change argument name to
libname.
 
2008-10-03 Rafael Espindola <espindola@google.com>
 
* plugin-api.h: New.
* lto-symtab.h: New.
 
2009-09-09 Martin Thuresson <martin@mtme.org>
 
* bfdlink.h (struct bfd_link_hash_common_entry): Move to top
level.
 
2009-09-04 Jie Zhang <jie.zhang@analog.com>
 
* opcode/bfin.h (PseudoDbg_Assert): Add bits_grp and mask_grp.
(PseudoDbg_Assert_grp_bits, PseudoDbg_Assert_grp_mask): Define.
(PseudoDbg_Assert_dbgop_bits, PseudoDbg_Assert_dbgop_mask,
PseudoDbg_Assert_dontcare_bits, PseudoDbg_Assert_dontcare_mask):
Adjust accordingly.
(init_PseudoDbg_Assert): Add PseudoDbg_Assert_grp_bits and
PseudoDbg_Assert_grp_mask.
 
2009-08-06 Michael Eager <eager@eagercon.com>
 
* dis-asm.h: Decl print_insn_microblaze().
 
2009-07-24 Ian Lance Taylor <iant@google.com>
 
* libiberty.h (crc32): Declare.
 
2009-07-20 Cary Coutant <ccoutant@google.com>
Doug Evans <dje@google.com>
 
Add some dwarf4 values.
* dwarf2.h (enum dwarf_tag): Add DW_TAG_type_unit.
(enum dwarf_form): Add DW_FORM_sec_offset, DW_FORM_exprloc,
DW_FORM_flag_present, DW_FORM_sig8.
(enum dwarf_attribute): Add DW_AT_signature.
 
2009-07-17 Jan Kratochvil <jan.kratochvil@redhat.com>
 
* demangle.h
(enum demangle_component_type <DEMANGLE_COMPONENT_GLOBAL_CONSTRUCTORS>)
(enum demangle_component_type <DEMANGLE_COMPONENT_GLOBAL_DESTRUCTORS>):
New.
 
2009-07-10 Tom Tromey <tromey@redhat.com>
 
* dwarf2.h: New file, moved from elf/.
 
2009-07-09 Jakub Jelinek <jakub@redhat.com>
 
* dwarf2.h (enum dwarf_location_atom): Add DW_OP_implicit_value
and DW_OP_stack_value.
 
2009-07-09 Tom Tromey <tromey@redhat.com>
 
* elf/dwarf2.h: Remove, renaming to...
* dwarf2.h: ... this.
 
2009-06-29 Tom Tromey <tromey@redhat.com>
 
* elf/dwarf2.h: New file. Merged with gdb.
 
2009-06-18 Nick Clifton <nickc@redhat.com>
 
* dis-asm.h (USER_SPECIFIED_MACHINE_TYPE): New value for the flags
field of struct disassemble_info.
 
2009-06-09 Ian Lance Taylor <ian@airs.com>
 
* ansidecl.h (ATTRIBUTE_UNUSED_LABEL): Define for C++.
 
2009-06-15 Nick Clifton <nickc@redhat.com>
 
* dis-asm.h (DISASSEMBLE_DATA): New value for the flags field of
struct disassemble_info.
 
2009-06-02 Ian Lance Taylor <iant@google.com>
 
* ansidecl.h (EXPORTED_CONST): Define.
 
2009-05-31 Ian Lance Taylor <iant@google.com>
 
* ansidecl.h: Add extern "C" when compiling with C++. Treat C++
the way we treat an ISO C compiler. Don't define inline as a
macdro when compiling with C++.
* dyn-string.h: Add header guard DYN_STRING_H. Add extern "C"
when compiling with C++.
* fibheap.h: Add extern "C" when compiling with C++.
 
2009-05-25 Tristan Gingold <gingold@adacore.com>
 
* fopen-vms.h (FOPEN_RB, FOPEN_WB, FOPEN_AB, FOPEN_RUB, FOPEN_WUB,
FOPEN_AUB): Use "rfm=udf,rat=none" attribute.
 
2009-04-22 Taras Glek <tglek@mozilla.com>
 
* hashtab.h: Update GTY annotations to new syntax.
* splay-tree.h: Likewise.
 
2009-04-08 H.J. Lu <hongjiu.lu@intel.com>
 
* bfdlink.h (bfd_link_info): Add warn_alternate_em.
 
2009-03-18 Alan Modra <amodra@bigpond.net.au>
 
* alloca-conf.h: Revise based on autoconf-2.61, autoconf-2.13
documentation.
 
2009-03-17 Jason Merrill <jason@redhat.com>
 
* demangle.h (enum demangle_component_type): Add
DEMANGLE_COMPONENT_FUNCTION_PARAM.
 
2008-12-01 Cary Coutant <ccoutant@google.com>
 
* plugin-api.h (LDPS_BAD_HANDLE): New constant.
(ld_plugin_get_input_file): New typedef.
(ld_plugin_release_input_file): New typedef.
(LDPT_GET_INPUT_FILE, LDPT_RELEASE_INPUT_FILE): New constants.
(struct ld_plugin_tv): Add two new fields.
 
2008-12-23 Jon Beniston <jon@beniston.com>
 
* dis-asm.h: Add LM32 disassembler function prototype.
 
2008-12-10 Jason Merrill <jason@redhat.com>
 
* demangle.h (enum demangle_component_type): Add
DEMANGLE_COMPONENT_FIXED_TYPE.
 
2008-12-01 Cary Coutant <ccoutant@google.com>
 
* plugin-api.h (ld_plugin_message): Change format parameter to const.
 
2008-12-01 Cary Coutant <ccoutant@google.com>
 
* plugin-api.h: Fix syntax error when compiling with C++.
 
2008-11-26 Alan Modra <amodra@bigpond.net.au>
 
PR 7047
* bfdlink.h (struct bfd_elf_version_expr): Delete "symbol".
Add "literal".
 
2008-11-21 Sterling Augustine <sterling@tensilica.com>
 
* xtensa-isa-internal.h (XTENSA_STATE_IS_SHARED_OR): New flag.
* xtensa-isa.h (xtensa_state_is_shared_or): New prototype.
 
2008-11-19 Bob Wilson <bob.wilson@acm.org>
* xtensa-config.h (XCHAL_HAVE_MUL16, XCHAL_HAVE_MUL32, XCHAL_HAVE_DIV32)
(XCHAL_HAVE_MINMAX, XCHAL_HAVE_SEXT, XCHAL_HAVE_THREADPTR)
(XCHAL_HAVE_RELEASE_SYNC, XCHAL_HAVE_S32C1I): Change to 1.
(XCHAL_NUM_AREGS): Change to 32.
(XCHAL_ICACHE_SIZE, XCHAL_DCACHE_SIZE): Change to 16K.
(XCHAL_ICACHE_LINESIZE, XCHAL_DCACHE_LINESIZE): Change to 32.
(XCHAL_ICACHE_LINEWIDTH, XCHAL_DCACHE_LINEWIDTH): Change to 5.
(XCHAL_DCACHE_IS_WRITEBACK): Change to 1.
(XCHAL_DEBUGLEVEL): Change to 6.
2008-11-14 Tristan Gingold <gingold@adacore.com>
 
* fopen-vms.h (FOPEN_RB): Use a single string to match the
standard prototype.
(FOPEN_WB): Ditto.
(FOPEN_AB): Ditto.
(FOPEN_RUB): Ditto.
(FOPEN_WUB): Ditto.
(FOPEN_AUB): Ditto.
 
2008-10-21 Alan Modra <amodra@bigpond.net.au>
 
* obstack.h (obstack_finish <!__GNUC__>): Cast result to void *.
 
2008-10-06 Jason Merrill <jason@redhat.com>
 
* demangle.h (enum demangle_component_type): Add
DEMANGLE_COMPONENT_PACK_EXPANSION.
 
2008-09-24 Richard Henderson <rth@redhat.com>
 
* elf/dwarf2.h (DW_OP_GNU_encoded_addr): New.
 
2008-09-22 Rafael Espindola <espindola@google.com>
 
* plugin-api.h (ld_plugin_status): Remove comma from the last item.
Use C style comment.
(ld_plugin_api_version, ld_plugin_output_file_type,
ld_plugin_symbol_kind, ld_plugin_symbol_visibility,
ld_plugin_symbol_resolution, ld_plugin_level, ld_plugin_tag): Remove
comma from the last item.
 
2008-09-18 Cary Coutant <ccoutant@google.com>
 
Add plugin functionality for link-time optimization (LTO).
* plugin-api.h: New file.
 
2008-09-09 Jason Merrill <jason@redhat.com>
 
* demangle.h (enum demangle_component_type): Add
DEMANGLE_COMPONENT_DECLTYPE.
 
2008-08-25 Alan Modra <amodra@bigpond.net.au>
 
* binary-io.h: New file, imported from gnulib, but don't
#include <fcntl.h> or <stdio.h>.
 
2008-08-17 Alan Modra <amodra@bigpond.net.au>
 
* bfdlink.h (bfd_generic_link_read_symbols): Declare.
 
2008-08-08 Anatoly Sokolov <aesok@post.ru>
 
* elf/avr.h (E_AVR_MACH_AVR25, E_AVR_MACH_AVR31,
E_AVR_MACH_AVR35, E_AVR_MACH_AVR51): Define.
(EF_AVR_MACH): Redefine to 0x7F.
* opcode/avr.h (AVR_ISA_TINY3, AVR_ISA_ALL, AVR_ISA_USB162): Remove.
(AVR_ISA_AVR3): Redefine.
(AVR_ISA_AVR1, AVR_ISA_AVR2, AVR_ISA_AVR31, AVR_ISA_AVR35,
AVR_ISA_AVR3_ALL, AVR_ISA_AVR4, AVR_ISA_AVR5, AVR_ISA_AVR51,
AVR_ISA_AVR6): Define.
 
2008-07-12 Jie Zhang <jie.zhang@analog.com>
 
Revert
2008-07-12 Jie Zhang <jie.zhang@analog.com>
* bfdlink.h (struct bfd_link_info): Add sep_code member
variable.
* elf/bfin.h (EF_BFIN_CODE_IN_L1): Define.
(EF_BFIN_DATA_IN_L1): Define.
 
2008-07-12 Jie Zhang <jie.zhang@analog.com>
 
* bfdlink.h (struct bfd_link_info): Add sep_code member
variable.
* elf/bfin.h (EF_BFIN_CODE_IN_L1): Define.
(EF_BFIN_DATA_IN_L1): Define.
 
2008-07-07 Stan Shebs <stan@codesourcery.com>
 
* dis-asm.h (struct disassemble_info): Add endian_code field.
 
2008-07-07 Joel Brobecker <brobecker@adacore.com>
 
* safe-ctype.h: Add #include of ctype.h before redefining
the ctype.h macros.
 
2008-07-04 Joel Brobecker <brobecker@adacore.com>
 
* safe-ctype.h: Remove #error when detecting that ctype.h has been
included. Redefine the various macros provided by ctype.h as
undefined variables.
 
2008-06-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
 
* libiberty.h (XALLOCA, XDUP, XALLOCAVEC, XDUPVEC, XALLOCAVAR,
XDUPVAR, XOBNEWVEC, XOBNEWVAR): New.
 
2008-06-06 Alan Modra <amodra@bigpond.net.au>
 
* bfdlink.h (struct bfd_link_info): Add "path_separator".
 
2008-04-10 Andreas Krebbel <krebbel1@de.ibm.com>
 
* dis-asm.h (print_s390_disassembler_options):
Prototype added.
 
2008-03-24 Ian Lance Taylor <iant@google.com>
 
* sha1.h: New file, from gnulib.
 
* md5.h: Add extern "C" when compiled with C++.
 
2008-03-24 Ian Lance Taylor <iant@google.com>
 
* md5.h: Add extern "C" when compiled with C++.
 
2008-03-21 Ian Lance Taylor <iant@google.com>
 
* filenames.h: Add extern "C" when compiled with C++.
 
2008-02-15 Alan Modra <amodra@bigpond.net.au>
 
* bfdlink.h (struct bfd_link_hash_table): Delete creator field.
16,20 → 303,6
DEMANGLE_COMPONENT_CHARACTER as new enum values.
(demangle_component): Add struct s_character to union u.
 
2008-01-23 Eric B. Weddington <eric.weddington@atmel.com>
 
* opcode/avr.h (AVR_ISA_RF401): Add new opcode set for at86rf401.
 
2008-01-03 Eric B. Weddington <eric.weddington@atmel.com>
 
* opcode/avr.h (AVR_ISA_USB162): Add new opcode set.
(AVR_ISA_AVR3): Likewise.
 
2007-11-17 Thiemo Seufer <ths@mips.com>
 
* elf/mips.h (Tag_GNU_MIPS_ABI_FP): Mention -mips32r2 -mfp64 variant
in comment.
 
2007-11-07 Joseph Myers <joseph@codesourcery.com>
Daniel Jacobowitz <dan@codesourcery.com>
 
36,10 → 309,6
* floatformat.h (struct floatformat): Add split_half field.
(floatformat_ibm_long_double): New.
 
2007-11-05 Danny Smith <dannysmith@users.sourceforge.net>
 
* coff/pe.h (COFF_ENCODE_ALIGNMENT) Define.
 
2007-09-06 Tom Tromey <tromey@redhat.com>
 
* libiberty.h (pex_free): Document process killing.
197,10 → 466,6
 
* dis-asm.h (print_insn_spu): Declare.
 
2006-10-17 Mark Shinwell <shinwell@codesourcery.com>
 
* elf/arm.h: Define TAG_CPU_ARCH_* constants.
 
2006-09-17 Mei Ligang <ligang@sunnorth.com.cn>
 
* dis-asm.h: Add prototypes for Score disassembler routines.
228,21 → 493,6
* bfdlink.h (bfd_link_info): Replace need_relax_finalize with
relax_pass.
 
2006-03-25 Bernd Schmidt <bernd.schmidt@analog.com>
 
* elf/bfin.h (R_BFIN_GOT17M4, R_BFIN_GOTHI, R_BFIN_GOTLO,
R_BFIN_FUNCDESC, R_BFIN_FUNCDESC_GOT17M4, R_BFIN_FUNCDESC_GOTHI,
R_BFIN_FUNCDESC_GOTLO, R_BFIN_FUNCDESC_VALUE,
R_BFIN_FUNCDESC_GOTOFF17M4, R_BFIN_FUNCDESC_GOTOFFHI,
R_BFIN_FUNCDESC_GOTOFFLO, R_BFIN_GOTOFF17M4, R_BFIN_GOTOFFHI,
R_BFIN_GOTOFFLO): New relocs.
(EF_BFIN_PIC, EF_BFIN_FDPIC, EF_BFIN_PIC_FLAGS): New macros.
 
2006-03-23 Michael Matz <matz@suse.de>
 
* elf/x86-64.h: Add the new relocations with their official
numbers.
 
2006-02-17 Shrirang Khisti <shrirangk@kpitcummins.com>
Anil Paranjape <anilp1@kpitcummins.com>
Shilin Shakti <shilins@kpitcummins.com>
249,10 → 499,6
 
* dis-asm.h (print_insn_xc16c): New prototype.
 
2006-02-06 Steve Ellcey <sje@cup.hp.com>
 
* elf/ia64.h (SHF_IA_64_HP_TLS): New.
 
2006-01-18 DJ Delorie <dj@redhat.com>
 
* md5.h: Include ansidecl.h
276,10 → 522,6
Second part of ms1 to mt renaming.
* dis-asm.h (print_insn_mt): Renamed.
 
2005-12-12 Nathan Sidwell <nathan@codesourcery.com>
 
* elf/mt.h: Renamed from ms1.h
 
2005-12-10 Terry Laurenzo <tlaurenzo@gmail.com>
 
PR java/9861
286,15 → 528,6
* demangle.h : Add DMGL_RET_POSTFIX define to enable alternative
output format for return types
 
2005-11-07 Nathan Sidwell <nathan@codesourcery.com>
 
Add ms2.
* elf/ms1.h (EF_MS1_CPU_MS2): New.
 
2005-11-06 John David Anglin <dave.anglin@nrc-crnc.gc.ca>
 
* elf/hppa.h (R_PARISC_DIR64WR, R_PARISC_DIR64DR): Remove relocs.
 
2005-11-03 Alan Modra <amodra@bigpond.net.au>
 
* bfdlink.h (struct bfd_link_order): Tweak comment.
320,7 → 553,6
2005-09-30 Catherine Moore <clm@cm00re.com>
 
* dis-asm.h (print_insn_bfin): Declare.
* opcode/bfin.h: New file.
 
2005-09-26 Mark Mitchell <mark@codesourcery.com>
 
330,7 → 562,6
 
* bfdlink.h: Remove mention of a29k.
* dis-asm.h: Remove a29k support.
* aout/encap.h: Likewise.
 
2005-08-17 Mark Kettenis <kettenis@gnu.org>
 
/xtensa-config.h
1,5 → 1,5
/* Xtensa configuration settings.
Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007
Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
Free Software Foundation, Inc.
Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica.
 
50,37 → 50,37
#define XCHAL_HAVE_MAC16 0
 
#undef XCHAL_HAVE_MUL16
#define XCHAL_HAVE_MUL16 0
#define XCHAL_HAVE_MUL16 1
 
#undef XCHAL_HAVE_MUL32
#define XCHAL_HAVE_MUL32 0
#define XCHAL_HAVE_MUL32 1
 
#undef XCHAL_HAVE_MUL32_HIGH
#define XCHAL_HAVE_MUL32_HIGH 0
 
#undef XCHAL_HAVE_DIV32
#define XCHAL_HAVE_DIV32 0
#define XCHAL_HAVE_DIV32 1
 
#undef XCHAL_HAVE_NSA
#define XCHAL_HAVE_NSA 1
 
#undef XCHAL_HAVE_MINMAX
#define XCHAL_HAVE_MINMAX 0
#define XCHAL_HAVE_MINMAX 1
 
#undef XCHAL_HAVE_SEXT
#define XCHAL_HAVE_SEXT 0
#define XCHAL_HAVE_SEXT 1
 
#undef XCHAL_HAVE_LOOPS
#define XCHAL_HAVE_LOOPS 1
 
#undef XCHAL_HAVE_THREADPTR
#define XCHAL_HAVE_THREADPTR 0
#define XCHAL_HAVE_THREADPTR 1
 
#undef XCHAL_HAVE_RELEASE_SYNC
#define XCHAL_HAVE_RELEASE_SYNC 0
#define XCHAL_HAVE_RELEASE_SYNC 1
 
#undef XCHAL_HAVE_S32C1I
#define XCHAL_HAVE_S32C1I 0
#define XCHAL_HAVE_S32C1I 1
 
#undef XCHAL_HAVE_BOOLEANS
#define XCHAL_HAVE_BOOLEANS 0
104,7 → 104,7
#define XCHAL_HAVE_WINDOWED 1
 
#undef XCHAL_NUM_AREGS
#define XCHAL_NUM_AREGS 64
#define XCHAL_NUM_AREGS 32
 
#undef XCHAL_HAVE_WIDE_BRANCHES
#define XCHAL_HAVE_WIDE_BRANCHES 0
114,25 → 114,25
 
 
#undef XCHAL_ICACHE_SIZE
#define XCHAL_ICACHE_SIZE 8192
#define XCHAL_ICACHE_SIZE 16384
 
#undef XCHAL_DCACHE_SIZE
#define XCHAL_DCACHE_SIZE 8192
#define XCHAL_DCACHE_SIZE 16384
 
#undef XCHAL_ICACHE_LINESIZE
#define XCHAL_ICACHE_LINESIZE 16
#define XCHAL_ICACHE_LINESIZE 32
 
#undef XCHAL_DCACHE_LINESIZE
#define XCHAL_DCACHE_LINESIZE 16
#define XCHAL_DCACHE_LINESIZE 32
 
#undef XCHAL_ICACHE_LINEWIDTH
#define XCHAL_ICACHE_LINEWIDTH 4
#define XCHAL_ICACHE_LINEWIDTH 5
 
#undef XCHAL_DCACHE_LINEWIDTH
#define XCHAL_DCACHE_LINEWIDTH 4
#define XCHAL_DCACHE_LINEWIDTH 5
 
#undef XCHAL_DCACHE_IS_WRITEBACK
#define XCHAL_DCACHE_IS_WRITEBACK 0
#define XCHAL_DCACHE_IS_WRITEBACK 1
 
 
#undef XCHAL_HAVE_MMU
152,7 → 152,7
#define XCHAL_NUM_DBREAK 2
 
#undef XCHAL_DEBUGLEVEL
#define XCHAL_DEBUGLEVEL 4
#define XCHAL_DEBUGLEVEL 6
 
 
#undef XCHAL_MAX_INSTRUCTION_SIZE
/gdb/sim-m32c.h
1,5 → 1,5
/* This file defines the interface between the m32c simulator and gdb.
Copyright (C) 2005, 2007, 2008 Free Software Foundation, Inc.
Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
 
This file is part of GDB.
 
/gdb/callback.h
1,5 → 1,5
/* Remote target system call callback support.
Copyright 1997, 2007, 2008 Free Software Foundation, Inc.
Copyright 1997, 2007, 2008, 2009 Free Software Foundation, Inc.
Contributed by Cygnus Solutions.
 
This file is part of GDB.
124,7 → 124,11
/* Print an error message and "exit".
In the case of gdb "exiting" means doing a longjmp back to the main
command loop. */
void (*error) PARAMS ((host_callback *, const char *, ...));
void (*error) PARAMS ((host_callback *, const char *, ...))
#ifdef __GNUC__
__attribute__ ((__noreturn__))
#endif
;
 
int last_errno; /* host format */
 
/gdb/signals.h
1,6 → 1,7
/* Target signal numbers for GDB and the GDB remote protocol.
Copyright 1986, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
1998, 1999, 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
1998, 1999, 2000, 2001, 2002, 2007, 2008, 2009
Free Software Foundation, Inc.
 
This file is part of GDB.
 
/gdb/sim-d10v.h
1,6 → 1,6
/* This file defines the interface between the d10v simulator and gdb.
 
Copyright 1999, 2002, 2007, 2008 Free Software Foundation, Inc.
Copyright 1999, 2002, 2007, 2008, 2009 Free Software Foundation, Inc.
 
This file is part of GDB.
 
/gdb/sim-sh.h
1,5 → 1,6
/* This file defines the interface between the sh simulator and gdb.
Copyright (C) 2000, 2002, 2004, 2007, 2008 Free Software Foundation, Inc.
Copyright (C) 2000, 2002, 2004, 2007, 2008, 2009
Free Software Foundation, Inc.
 
This file is part of GDB.
 
/gdb/ChangeLog
1,3 → 1,16
2009-05-18 Jon Beniston <jon@beniston.com>
 
* sim-lm32.h: New file.
 
2009-01-07 Hans-Peter Nilsson <hp@axis.com>
 
* callback.h (struct host_callback_struct): Mark member error as
pointing to a noreturn function.
 
2008-02-12 M Ranga Swami Reddy <MR.Swami.Reddy@nsc.com>
 
* sim-cr16.h: New file.
 
2008-01-01 Daniel Jacobowitz <dan@codesourcery.com>
 
Updated copyright notices for most files.
/gdb/remote-sim.h
1,6 → 1,6
/* This file defines the interface between the simulator and gdb.
 
Copyright 1993, 1994, 1996, 1997, 1998, 2000, 2002, 2007, 2008
Copyright 1993, 1994, 1996, 1997, 1998, 2000, 2002, 2007, 2008, 2009
Free Software Foundation, Inc.
 
This file is part of GDB.
/gdb/sim-frv.h
1,6 → 1,6
/* This file defines the interface between the FR-V simulator and GDB.
 
Copyright 2003, 2007, 2008 Free Software Foundation, Inc.
Copyright 2003, 2007, 2008, 2009 Free Software Foundation, Inc.
 
Contributed by Red Hat.
 
/gdb/sim-arm.h
1,6 → 1,6
/* This file defines the interface between the Arm simulator and GDB.
 
Copyright 2002, 2003, 2007, 2008 Free Software Foundation, Inc.
Copyright 2002, 2003, 2007, 2008, 2009 Free Software Foundation, Inc.
 
Contributed by Red Hat.
 
/gdb/fileio.h
1,6 → 1,6
/* Hosted File I/O interface definitions, for GDB, the GNU Debugger.
 
Copyright 2003, 2007, 2008 Free Software Foundation, Inc.
Copyright 2003, 2007, 2008, 2009 Free Software Foundation, Inc.
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/gdb/sim-h8300.h
1,5 → 1,5
/* This file defines the interface between the h8300 simulator and gdb.
Copyright (C) 2002, 2007, 2008 Free Software Foundation, Inc.
Copyright (C) 2002, 2007, 2008, 2009 Free Software Foundation, Inc.
 
This file is part of GDB.
 
/gdb/sim-ppc.h
1,6 → 1,6
/* sim-ppc.h --- interface between PowerPC simulator and GDB.
 
Copyright 2004, 2007, 2008 Free Software Foundation, Inc.
Copyright 2004, 2007, 2008, 2009 Free Software Foundation, Inc.
 
Contributed by Red Hat.
 
/bfdlink.h
1,6 → 1,6
/* bfdlink.h -- header file for BFD link routines
Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
Written by Steve Chamberlain and Ian Lance Taylor, Cygnus Support.
 
This file is part of BFD, the Binary File Descriptor library.
75,6 → 75,12
bfd_link_common_skip_all
};
 
struct bfd_link_hash_common_entry
{
unsigned int alignment_power; /* Alignment. */
asection *section; /* Symbol section. */
};
 
/* The linking routines use a hash table which uses this structure for
its elements. */
 
143,11 → 149,7
directly because we don't want to increase the size of
the union; this structure is a major space user in the
linker. */
struct bfd_link_hash_common_entry
{
unsigned int alignment_power; /* Alignment. */
asection *section; /* Symbol section. */
} *p;
struct bfd_link_hash_common_entry *p;
bfd_size_type size; /* Common symbol size. */
} c;
} u;
198,6 → 200,9
extern void bfd_link_repair_undef_list
(struct bfd_link_hash_table *table);
 
/* Read symbols and cache symbol pointer array in outsymbols. */
extern bfd_boolean bfd_generic_link_read_symbols (bfd *);
 
struct bfd_sym_chain
{
struct bfd_sym_chain *next;
319,6 → 324,9
/* TRUE if we should warn when adding a DT_TEXTREL to a shared object. */
unsigned int warn_shared_textrel: 1;
 
/* TRUE if we should warn alternate ELF machine code. */
unsigned int warn_alternate_em: 1;
 
/* TRUE if unreferenced sections should be removed. */
unsigned int gc_sections: 1;
 
372,6 → 380,9
wrap_hash. Used by PowerPC Linux for 'dot' symbols. */
char wrap_char;
 
/* Separator between archive and filename in linker script filespecs. */
char path_separator;
 
/* Function callbacks. */
const struct bfd_link_callbacks *callbacks;
 
701,8 → 712,8
struct bfd_elf_version_expr *next;
/* Glob pattern. */
const char *pattern;
/* NULL for a glob pattern, otherwise a straight symbol. */
const char *symbol;
/* Set if pattern is not a glob. */
unsigned int literal : 1;
/* Defined by ".symver". */
unsigned int symver : 1;
/* Defined by version script. */
/fopen-vms.h
9,12 → 9,12
the application unable to be configured for both "same" and "binary"
variant systems. */
 
#define FOPEN_RB "rb","rfm=var"
#define FOPEN_WB "wb","rfm=var"
#define FOPEN_AB "ab","rfm=var"
#define FOPEN_RUB "r+b","rfm=var"
#define FOPEN_WUB "w+b","rfm=var"
#define FOPEN_AUB "a+b","rfm=var"
#define FOPEN_RB "rb,rfm=udf,rat=none"
#define FOPEN_WB "wb,rfm=udf,rat=none"
#define FOPEN_AB "ab,rfm=udf,rat=none"
#define FOPEN_RUB "r+b,rfm=udf,rat=none"
#define FOPEN_WUB "w+b,rfm=udf,rat=none"
#define FOPEN_AUB "a+b,rfm=udf,rat=none"
 
#define FOPEN_RT "r"
#define FOPEN_WT "w"
/hashtab.h
1,5 → 1,6
/* An expandable hash tables datatype.
Copyright (C) 1999, 2000, 2002, 2003, 2004 Free Software Foundation, Inc.
Copyright (C) 1999, 2000, 2002, 2003, 2004, 2005, 2009
Free Software Foundation, Inc.
Contributed by Vladimir Makarov (vmakarov@cygnus.com).
 
This program is free software; you can redistribute it and/or modify
96,8 → 97,7
functions mentioned below. The size of this structure is subject to
change. */
 
struct htab GTY(())
{
struct GTY(()) htab {
/* Pointer to hash function. */
htab_hash hash_f;
 
/demangle.h
1,6 → 1,6
/* Defs for interface to demanglers.
Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2001, 2002,
2003, 2004, 2005, 2007 Free Software Foundation, Inc.
2003, 2004, 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License
221,6 → 221,8
/* A template parameter. This holds a number, which is the template
parameter index. */
DEMANGLE_COMPONENT_TEMPLATE_PARAM,
/* A function parameter. This holds a number, which is the index. */
DEMANGLE_COMPONENT_FUNCTION_PARAM,
/* A constructor. This holds a name and the kind of
constructor. */
DEMANGLE_COMPONENT_CTOR,
319,6 → 321,8
and the right subtree is the member type. CV-qualifiers appear
on the latter. */
DEMANGLE_COMPONENT_PTRMEM_TYPE,
/* A fixed-point type. */
DEMANGLE_COMPONENT_FIXED_TYPE,
/* An argument list. The left subtree is the current argument, and
the right subtree is either NULL or another ARGLIST node. */
DEMANGLE_COMPONENT_ARGLIST,
370,7 → 374,15
subtree is the first part and the right subtree the second. */
DEMANGLE_COMPONENT_COMPOUND_NAME,
/* A name formed by a single character. */
DEMANGLE_COMPONENT_CHARACTER
DEMANGLE_COMPONENT_CHARACTER,
/* A decltype type. */
DEMANGLE_COMPONENT_DECLTYPE,
/* Global constructors keyed to name. */
DEMANGLE_COMPONENT_GLOBAL_CONSTRUCTORS,
/* Global destructors keyed to name. */
DEMANGLE_COMPONENT_GLOBAL_DESTRUCTORS,
/* A pack expansion. */
DEMANGLE_COMPONENT_PACK_EXPANSION
};
 
/* Types which are only used internally. */
415,6 → 427,17
struct demangle_component *name;
} s_extended_operator;
 
/* For DEMANGLE_COMPONENT_FIXED_TYPE. */
struct
{
/* The length, indicated by a C integer type name. */
struct demangle_component *length;
/* _Accum or _Fract? */
short accum;
/* Saturating or not? */
short sat;
} s_fixed;
 
/* For DEMANGLE_COMPONENT_CTOR. */
struct
{
449,10 → 472,10
int len;
} s_string;
 
/* For DEMANGLE_COMPONENT_TEMPLATE_PARAM. */
/* For DEMANGLE_COMPONENT_*_PARAM. */
struct
{
/* Template parameter index. */
/* Parameter index. */
long number;
} s_number;
 
/alloca-conf.h
1,24 → 1,44
#include "config.h"
 
#if defined(__GNUC__) && !defined(C_ALLOCA)
# ifndef alloca
# define alloca __builtin_alloca
# endif
#else /* ! defined (__GNUC__) */
# ifdef _AIX
#pragma alloca
/* This is a merge of code recommended in the autoconf-2.61 documentation
with that recommended in the autoconf-2.13 documentation, with added
tweaks to heed C_ALLOCA. */
 
#if defined HAVE_ALLOCA_H && !defined C_ALLOCA
# include <alloca.h>
#else
# if defined __GNUC__ && !defined C_ALLOCA
# if !defined alloca
# define alloca __builtin_alloca
# endif
# else
# if defined _AIX
/* Indented so that pre-ansi C compilers will ignore it, rather than
choke on it. Some versions of AIX require this to be the first
thing in the file except for comments and preprocessor directives. */
#pragma alloca
# else
# if defined(HAVE_ALLOCA_H) && !defined(C_ALLOCA)
# include <alloca.h>
# else /* ! defined (HAVE_ALLOCA_H) */
# ifdef __STDC__
extern PTR alloca (size_t);
# else /* ! defined (__STDC__) */
extern PTR alloca ();
# endif /* ! defined (__STDC__) */
# endif /* ! defined (HAVE_ALLOCA_H) */
# ifdef _WIN32
# include <malloc.h>
# if defined _MSC_VER && !defined C_ALLOCA
# include <malloc.h>
# define alloca _alloca
# else
# if !defined alloca
# if defined __STDC__ || defined __hpux
# if defined HAVE_STDDEF_H
# include <stddef.h>
# if defined __cplusplus
extern "C" void *alloca (size_t);
# else
extern void *alloca (size_t);
# endif
# else
extern void *alloca ();
# endif
# else
extern char *alloca ();
# endif
# endif
# endif
# endif
# endif /* ! defined (_AIX) */
#endif /* ! defined (__GNUC__) */
# endif
#endif
/elf/i386.h
1,5 → 1,5
/* ix86 ELF support for BFD.
Copyright 1998, 1999, 2000, 2002, 2004, 2005, 2006
Copyright 1998, 1999, 2000, 2002, 2004, 2005, 2006, 2009
Free Software Foundation, Inc.
 
This file is part of BFD, the Binary File Descriptor library.
66,6 → 66,7
RELOC_NUMBER (R_386_TLS_GOTDESC, 39)
RELOC_NUMBER (R_386_TLS_DESC_CALL,40)
RELOC_NUMBER (R_386_TLS_DESC, 41)
RELOC_NUMBER (R_386_IRELATIVE, 42) /* Adjust indirectly by program base */
 
/* Used by Intel. */
RELOC_NUMBER (R_386_USED_BY_INTEL_200, 200)
/elf/ppc64.h
1,5 → 1,5
/* PPC64 ELF support for BFD.
Copyright 2003 Free Software Foundation, Inc.
Copyright 2003, 2005, 2009 Free Software Foundation, Inc.
 
This file is part of BFD, the Binary File Descriptor library.
 
136,7 → 136,19
RELOC_NUMBER (R_PPC64_DTPREL16_HIGHERA, 104)
RELOC_NUMBER (R_PPC64_DTPREL16_HIGHEST, 105)
RELOC_NUMBER (R_PPC64_DTPREL16_HIGHESTA, 106)
RELOC_NUMBER (R_PPC64_TLSGD, 107)
RELOC_NUMBER (R_PPC64_TLSLD, 108)
 
/* Support STT_GNU_IFUNC plt calls. */
RELOC_NUMBER (R_PPC64_JMP_IREL, 247)
RELOC_NUMBER (R_PPC64_IRELATIVE, 248)
 
/* These are GNU extensions used in PIC code sequences. */
RELOC_NUMBER (R_PPC64_REL16, 249)
RELOC_NUMBER (R_PPC64_REL16_LO, 250)
RELOC_NUMBER (R_PPC64_REL16_HI, 251)
RELOC_NUMBER (R_PPC64_REL16_HA, 252)
 
/* These are GNU extensions to enable C++ vtable garbage collection. */
RELOC_NUMBER (R_PPC64_GNU_VTINHERIT, 253)
RELOC_NUMBER (R_PPC64_GNU_VTENTRY, 254)
153,4 → 165,7
#define DT_PPC64_OPD (DT_LOPROC + 1)
#define DT_PPC64_OPDSZ (DT_LOPROC + 2)
 
/* Specify that tls descriptors should be optimized. */
#define DT_PPC64_TLSOPT (DT_LOPROC + 3)
 
#endif /* _ELF_PPC64_H */
/elf/cris.h
91,6 → 91,86
The BFD equivalent is BFD_RELOC_CRIS_32_PLT_PCREL. */
RELOC_NUMBER (R_CRIS_32_PLT_PCREL, 19)
 
/* An assembler-generated-only relocation, instructing the linker to
reserve two GOT slots, carrying the R_CRIS_DTP relocation for the
symbol (pointing to the first slot, the relocation fills in
both). The value is a 32-bit-value, relative to the start of the
GOT. Assembly syntax: "sym:GDGOTREL". */
RELOC_NUMBER (R_CRIS_32_GOT_GD, 20)
 
/* Similar to R_CRIS_32_GOT_GD, but the value is a 16-bit unsigned
number, limiting access to 65536/4 global symbols per module (or
65536/8 thread variables; loosely speaking G*4+T*8 < 65536, where
T is the number of thread variables and G is the number of other
external global variables and functions). Assembly syntax:
"sym:GDGOTREL16". */
RELOC_NUMBER (R_CRIS_16_GOT_GD, 21)
 
/* Similar to R_CRIS_32_GOT_GD, but the value is the absolute
address of the GOT entry. Disallowed in DSOs created with
-shared. Assembly syntax: "sym:GD". */
RELOC_NUMBER (R_CRIS_32_GD, 22)
 
/* A linker-generated-only relocation, instructing the dynamic
linker to fill in the module ID and module-relative-TLS-block
offset of the symbol in question, used for GOT entries. Note
that this relocation instructs to fill in two 32-bit values. */
RELOC_NUMBER (R_CRIS_DTP, 23)
 
/* An assembler-generated-only relocation, instructing the linker to
reserve the first two GOT slots, and attach the R_CRIS_DTPMOD
relocation(*) for the module to the first slot, the second
containing zero. The value is 32 bits, the offset from the start
of the TLS block of the module to the thread-local symbol
mentioned in the relocation. This relocation must only be applied
to module-local symbols. Assembly syntax: "expr:DTPREL". */
RELOC_NUMBER (R_CRIS_32_DTPREL, 24)
 
/* Similar to R_CRIS_32_DTPREL, but the value is a 16-bit signed
number, limiting the size of thread-variables of the DSO to 32768
bytes. (Note: matches both model 1 and 2 and allows use of addo.w
as the instruction where this relocation is used.) Assembly
syntax: "expr:DTPREL16". */
RELOC_NUMBER (R_CRIS_16_DTPREL, 25)
 
/* An assembler-generated-only relocation, instructing the linker to
reserve a GOT slot and attach the R_CRIS_32_TPREL relocation for
the symbol in question. The value is 32 bits, which is the
GOT-relative offset of the slot. Assembly syntax:
"sym:TPOFFGOT". */
RELOC_NUMBER (R_CRIS_32_GOT_TPREL, 26)
 
/* Similar to R_CRIS_32_TPREL, but the value is a 16-bit positive
number, limiting the number of thread- and global variables of
the DSO to 32768/4. Assembly syntax: "sym:TPOFFGOT16". */
RELOC_NUMBER (R_CRIS_16_GOT_TPREL, 27)
 
/* An assembler- and linker-generated relocation, instructing to
resolve the symbol in question yielding the TLS offset of the
thread variable, relative to the global TLS block. Not allowed
as input when generating a DSO. Assembly syntax:
"expr:TPOFF". */
RELOC_NUMBER (R_CRIS_32_TPREL, 28)
 
/* Similar to R_CRIS_32_TPREL, but only applicable to executables
compiled with -msmall-tls. Not allowed in a DSO. The value is a
16-bit signed number, limiting the size of thread-variables of
the executable to 32768 bytes. (Note: being signed makes it match
both model 1 and 2 and allows use of addo.w as the instruction
where this relocation is applied.) Assembly syntax:
"expr:TPOFF16". */
RELOC_NUMBER (R_CRIS_16_TPREL, 29)
 
/* A linker-generated-only relocation, instructing the dynamic
linker to fill in the current module ID, used for GOT entries
(usually the fourth one). */
RELOC_NUMBER (R_CRIS_DTPMOD, 30)
 
/* Similar to R_CRIS_32_GOT_TPREL, but the value is the absolute
address of the GOT entry. Disallowed in DSOs created with
-shared. Assembly syntax: "sym:IE". */
RELOC_NUMBER (R_CRIS_32_IE, 31)
 
/* No other relocs must be visible outside the assembler. */
 
END_RELOC_NUMBERS (R_CRIS_max)
/elf/v850.h
1,5 → 1,5
/* V850 ELF support for BFD.
Copyright 1997, 1998, 2000, 2002, 2003, 2004, 2007
Copyright 1997, 1998, 2000, 2002, 2003, 2004, 2007, 2008
Free Software Foundation, Inc.
Created by Michael Meissner, Cygnus Support <meissner@cygnus.com>
 
88,13 → 88,13
values have a special meaning. */
 
/* Small data area common symbol. */
#define SHN_V850_SCOMMON 0xff00
#define SHN_V850_SCOMMON SHN_LORESERVE
 
/* Tiny data area common symbol. */
#define SHN_V850_TCOMMON 0xff01
#define SHN_V850_TCOMMON (SHN_LORESERVE + 1)
 
/* Zero data area common symbol. */
#define SHN_V850_ZCOMMON 0xff02
#define SHN_V850_ZCOMMON (SHN_LORESERVE + 2)
 
/* Processor specific section types. */
/elf/sh.h
54,7 → 54,7
bfd_mach_* are defined in bfd_in2.h (generated from
archures.c). */
#define EF_SH_BFD_TABLE \
/* EF_SH_UNKNOWN */ bfd_mach_sh3 , \
/* EF_SH_UNKNOWN */ bfd_mach_sh , \
/* EF_SH1 */ bfd_mach_sh , \
/* EF_SH2 */ bfd_mach_sh2 , \
/* EF_SH3 */ bfd_mach_sh3 , \
/elf/cr16.h
54,6 → 54,9
RELOC_NUMBER (R_CR16_SWITCH8, 26)
RELOC_NUMBER (R_CR16_SWITCH16, 27)
RELOC_NUMBER (R_CR16_SWITCH32, 28)
RELOC_NUMBER (R_CR16_GOT_REGREL20, 29)
RELOC_NUMBER (R_CR16_GOTC_REGREL20, 30)
RELOC_NUMBER (R_CR16_GLOB_DAT, 31)
END_RELOC_NUMBERS(R_CR16_MAX)
#endif /* _ELF_CR16_H */
/elf/score.h
1,6 → 1,7
/* Score ELF support for BFD.
Copyright 2006 Free Software Foundation, Inc.
Copyright 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
Contributed by
Brain.lin (brain.lin@sunplusct.com)
Mei Ligang (ligang@sunnorth.com.cn)
Pei-Lin Tsai (pltsai@sunplus.com)
 
8,7 → 9,7
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
 
This program is distributed in the hope that it will be useful,
35,6 → 36,10
#define GP_DISP_LABEL "_gp_disp"
 
/* Processor specific flags for the ELF header e_flags field: */
#define EF_SCORE_MACH 0xffff0000
#define EF_OMIT_PIC_FIXDD 0x0fff0000
#define E_SCORE_MACH_SCORE3 0x00030000
#define E_SCORE_MACH_SCORE7 0x00070000
 
/* File contains position independent code. */
#define EF_SCORE_PIC 0x80000000
44,10 → 49,10
 
/* Defined and allocated common symbol. Value is virtual address. If
relocated, alignment must be preserved. */
#define SHN_SCORE_TEXT 0xff01
#define SHN_SCORE_DATA 0xff02
#define SHN_SCORE_TEXT (SHN_LORESERVE + 1)
#define SHN_SCORE_DATA (SHN_LORESERVE + 2)
/* Small common symbol. */
#define SHN_SCORE_SCOMMON 0xff03
#define SHN_SCORE_SCOMMON (SHN_LORESERVE + 3)
 
/* Processor specific section flags. */
 
101,7 → 106,7
RELOC_NUMBER (R_SCORE_NONE, 0)
RELOC_NUMBER (R_SCORE_HI16, 1)
RELOC_NUMBER (R_SCORE_LO16, 2)
RELOC_NUMBER (R_SCORE_DUMMY1, 3)
RELOC_NUMBER (R_SCORE_BCMP, 3)
RELOC_NUMBER (R_SCORE_24, 4)
RELOC_NUMBER (R_SCORE_PC19, 5)
RELOC_NUMBER (R_SCORE16_11, 6)
118,6 → 123,8
RELOC_NUMBER (R_SCORE_GPREL32, 17)
RELOC_NUMBER (R_SCORE_REL32, 18)
RELOC_NUMBER (R_SCORE_DUMMY_HI16, 19)
RELOC_NUMBER (R_SCORE_IMM30, 20)
RELOC_NUMBER (R_SCORE_IMM32, 21)
END_RELOC_NUMBERS (R_SCORE_max)
 
#endif /* _ELF_SCORE_H */
/elf/x86-64.h
1,5 → 1,5
/* x86_64 ELF support for BFD.
Copyright (C) 2000, 2001, 2002, 2004, 2005, 2006
Copyright (C) 2000, 2001, 2002, 2004, 2005, 2006, 2008, 2009
Free Software Foundation, Inc.
Contributed by Jan Hubicka <jh@suse.cz>
 
71,6 → 71,7
RELOC_NUMBER (R_X86_64_TLSDESC_CALL, 35) /* Relaxable call through TLS
descriptor. */
RELOC_NUMBER (R_X86_64_TLSDESC, 36) /* 2x64-bit TLS descriptor. */
RELOC_NUMBER (R_X86_64_IRELATIVE, 37) /* Adjust indirectly by program base */
RELOC_NUMBER (R_X86_64_GNU_VTINHERIT, 250) /* GNU C++ hack */
RELOC_NUMBER (R_X86_64_GNU_VTENTRY, 251) /* GNU C++ hack */
END_RELOC_NUMBERS (R_X86_64_max)
81,7 → 82,7
 
/* Like SHN_COMMON but the symbol will be allocated in the .lbss
section. */
#define SHN_X86_64_LCOMMON 0xff02
#define SHN_X86_64_LCOMMON (SHN_LORESERVE + 2)
 
#define SHF_X86_64_LARGE 0x10000000
#endif
/elf/bfin.h
1,5 → 1,5
/* Blackfin ELF support for BFD.
Copyright (C) 2005 Free Software Foundation, Inc.
Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
 
This file is part of BFD, the Binary File Descriptor library.
 
19,30 → 19,30
 
#ifndef _ELF_BFIN_H
#define _ELF_BFIN_H
 
#include "elf/reloc-macros.h"
 
START_RELOC_NUMBERS (elf_bfin_reloc_type)
RELOC_NUMBER (R_unused0, 0x00) /* relocation type 0 is not defined*/
RELOC_NUMBER (R_pcrel5m2, 0x01) /*LSETUP part a*/
RELOC_NUMBER (R_unused1, 0x02) /* relocation type 2 is not defined*/
RELOC_NUMBER (R_pcrel10, 0x03) /* type 3, 0x00) if cc jump <target> */
RELOC_NUMBER (R_pcrel12_jump, 0x04) /* type 4, 0x00) jump <target> */
RELOC_NUMBER (R_rimm16, 0x05) /* type 0x5, 0x00) rN = <target> */
RELOC_NUMBER (R_luimm16, 0x06) /* # 0x6, 0x00) preg.l=<target> Load imm 16 to lower half */
RELOC_NUMBER (R_huimm16, 0x07) /* # 0x7, 0x00) preg.h=<target> Load imm 16 to upper half*/
RELOC_NUMBER (R_pcrel12_jump_s, 0x08) /* # 0x8 jump.s <target> */
RELOC_NUMBER (R_pcrel24_jump_x, 0x09) /* # 0x9 jump.x <target> */
RELOC_NUMBER (R_pcrel24, 0x0a) /* # 0xa call <target> , 0x00) not expandable*/
RELOC_NUMBER (R_unusedb, 0x0b) /* # 0xb not generated */
RELOC_NUMBER (R_unusedc, 0x0c) /* # 0xc not used */
RELOC_NUMBER (R_pcrel24_jump_l, 0x0d) /*0xd jump.l <target>*/
RELOC_NUMBER (R_pcrel24_call_x, 0x0e) /* 0xE, 0x00) call.x <target> if <target> is above 24 bit limit call through P1 */
RELOC_NUMBER (R_var_eq_symb, 0x0f) /* 0xf, 0x00) linker should treat it same as 0x12 */
RELOC_NUMBER (R_byte_data, 0x10) /* 0x10, 0x00) .byte var = symbol */
RELOC_NUMBER (R_byte2_data, 0x11) /* 0x11, 0x00) .byte2 var = symbol */
RELOC_NUMBER (R_byte4_data, 0x12) /* 0x12, 0x00) .byte4 var = symbol and .var var=symbol */
RELOC_NUMBER (R_pcrel11, 0x13) /* 0x13, 0x00) lsetup part b */
RELOC_NUMBER (R_BFIN_UNUSED0, 0x00) /* relocation type 0 is not defined */
RELOC_NUMBER (R_BFIN_PCREL5M2, 0x01) /* LSETUP part a */
RELOC_NUMBER (R_BFIN_UNUSED1, 0x02) /* relocation type 2 is not defined */
RELOC_NUMBER (R_BFIN_PCREL10, 0x03) /* type 3, 0x00) if cc jump <target> */
RELOC_NUMBER (R_BFIN_PCREL12_JUMP, 0x04) /* type 4, 0x00) jump <target> */
RELOC_NUMBER (R_BFIN_RIMM16, 0x05) /* type 0x5, 0x00) rN = <target> */
RELOC_NUMBER (R_BFIN_LUIMM16, 0x06) /* # 0x6, 0x00) preg.l=<target> Load imm 16 to lower half */
RELOC_NUMBER (R_BFIN_HUIMM16, 0x07) /* # 0x7, 0x00) preg.h=<target> Load imm 16 to upper half */
RELOC_NUMBER (R_BFIN_PCREL12_JUMP_S, 0x08) /* # 0x8 jump.s <target> */
RELOC_NUMBER (R_BFIN_PCREL24_JUMP_X, 0x09) /* # 0x9 jump.x <target> */
RELOC_NUMBER (R_BFIN_PCREL24, 0x0a) /* # 0xa call <target> , 0x00) not expandable */
RELOC_NUMBER (R_BFIN_UNUSEDB, 0x0b) /* # 0xb not generated */
RELOC_NUMBER (R_BFIN_UNUSEDC, 0x0c) /* # 0xc not used */
RELOC_NUMBER (R_BFIN_PCREL24_JUMP_L, 0x0d) /* 0xd jump.l <target> */
RELOC_NUMBER (R_BFIN_PCREL24_CALL_X, 0x0e) /* 0xE, 0x00) call.x <target> if <target> is above 24 bit limit call through P1 */
RELOC_NUMBER (R_BFIN_VAR_EQ_SYMB, 0x0f) /* 0xf, 0x00) linker should treat it same as 0x12 */
RELOC_NUMBER (R_BFIN_BYTE_DATA, 0x10) /* 0x10, 0x00) .byte var = symbol */
RELOC_NUMBER (R_BFIN_BYTE2_DATA, 0x11) /* 0x11, 0x00) .byte2 var = symbol */
RELOC_NUMBER (R_BFIN_BYTE4_DATA, 0x12) /* 0x12, 0x00) .byte4 var = symbol and .var var=symbol */
RELOC_NUMBER (R_BFIN_PCREL11, 0x13) /* 0x13, 0x00) lsetup part b */
RELOC_NUMBER (R_BFIN_GOT17M4, 0x14)
RELOC_NUMBER (R_BFIN_GOTHI, 0x15)
RELOC_NUMBER (R_BFIN_GOTLO, 0x16)
58,31 → 58,31
RELOC_NUMBER (R_BFIN_GOTOFFHI, 0x20)
RELOC_NUMBER (R_BFIN_GOTOFFLO, 0x21)
 
RELOC_NUMBER (R_push, 0xE0)
RELOC_NUMBER (R_const, 0xE1)
RELOC_NUMBER (R_add, 0xE2)
RELOC_NUMBER (R_sub, 0xE3)
RELOC_NUMBER (R_mult, 0xE4)
RELOC_NUMBER (R_div, 0xE5)
RELOC_NUMBER (R_mod, 0xE6)
RELOC_NUMBER (R_lshift, 0xE7)
RELOC_NUMBER (R_rshift, 0xE8)
RELOC_NUMBER (R_and, 0xE9)
RELOC_NUMBER (R_or, 0xEA)
RELOC_NUMBER (R_xor, 0xEB)
RELOC_NUMBER (R_land, 0xEC)
RELOC_NUMBER (R_lor, 0xED)
RELOC_NUMBER (R_len, 0xEE)
RELOC_NUMBER (R_neg, 0xEF)
RELOC_NUMBER (R_comp, 0xF0)
RELOC_NUMBER (R_page, 0xF1)
RELOC_NUMBER (R_hwpage, 0xF2)
RELOC_NUMBER (R_addr, 0xF3)
RELOC_NUMBER (R_pltpc, 0x40) /* PLT gnu only relocation */
RELOC_NUMBER (R_got, 0x41) /* GOT gnu only relocation */
RELOC_NUMBER (R_BFIN_PUSH, 0xE0)
RELOC_NUMBER (R_BFIN_CONST, 0xE1)
RELOC_NUMBER (R_BFIN_ADD, 0xE2)
RELOC_NUMBER (R_BFIN_SUB, 0xE3)
RELOC_NUMBER (R_BFIN_MULT, 0xE4)
RELOC_NUMBER (R_BFIN_DIV, 0xE5)
RELOC_NUMBER (R_BFIN_MOD, 0xE6)
RELOC_NUMBER (R_BFIN_LSHIFT, 0xE7)
RELOC_NUMBER (R_BFIN_RSHIFT, 0xE8)
RELOC_NUMBER (R_BFIN_AND, 0xE9)
RELOC_NUMBER (R_BFIN_OR, 0xEA)
RELOC_NUMBER (R_BFIN_XOR, 0xEB)
RELOC_NUMBER (R_BFIN_LAND, 0xEC)
RELOC_NUMBER (R_BFIN_LOR, 0xED)
RELOC_NUMBER (R_BFIN_LEN, 0xEE)
RELOC_NUMBER (R_BFIN_NEG, 0xEF)
RELOC_NUMBER (R_BFIN_COMP, 0xF0)
RELOC_NUMBER (R_BFIN_PAGE, 0xF1)
RELOC_NUMBER (R_BFIN_HWPAGE, 0xF2)
RELOC_NUMBER (R_BFIN_ADDR, 0xF3)
RELOC_NUMBER (R_BFIN_PLTPC, 0x40) /* PLT gnu only relocation */
RELOC_NUMBER (R_BFIN_GOT, 0x41) /* GOT gnu only relocation */
RELOC_NUMBER (R_BFIN_GNU_VTINHERIT, 0x42) /* C++, gnu only */
RELOC_NUMBER (R_BFIN_GNU_VTENTRY, 0x43) /* C++, gnu only */
END_RELOC_NUMBERS (R_max)
END_RELOC_NUMBERS (R_BFIN_max)
 
/* Processor specific flags for the ELF header e_flags field. */
#define EF_BFIN_PIC 0x00000001 /* -fpic */
/elf/arm.h
1,5 → 1,5
/* ARM ELF support for BFD.
Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004
Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2009
Free Software Foundation, Inc.
 
This file is part of BFD, the Binary File Descriptor library.
41,9 → 41,9
#define PT_ARM_EXIDX (PT_LOPROC + 1)
 
/* Other constants defined in the ARM ELF spec. version B-01. */
#define EF_ARM_SYMSARESORTED 0x04 /* NB conflicts with EF_INTERWORK */
#define EF_ARM_DYNSYMSUSESEGIDX 0x08 /* NB conflicts with EF_APCS26 */
#define EF_ARM_MAPSYMSFIRST 0x10 /* NB conflicts with EF_APCS_FLOAT */
#define EF_ARM_SYMSARESORTED 0x04 /* NB conflicts with EF_INTERWORK. */
#define EF_ARM_DYNSYMSUSESEGIDX 0x08 /* NB conflicts with EF_APCS26. */
#define EF_ARM_MAPSYMSFIRST 0x10 /* NB conflicts with EF_APCS_FLOAT. */
#define EF_ARM_EABIMASK 0xFF000000
 
/* Constants defined in AAELF. */
71,9 → 71,11
#define STT_ARM_16BIT STT_HIPROC /* A Thumb label. */
 
/* Additional section types. */
#define SHT_ARM_EXIDX 0x70000001 /* Section holds ARM unwind info. */
#define SHT_ARM_PREEMPTMAP 0x70000002 /* Section pre-emption details. */
#define SHT_ARM_ATTRIBUTES 0x70000003 /* Section holds attributes. */
#define SHT_ARM_EXIDX 0x70000001 /* Section holds ARM unwind info. */
#define SHT_ARM_PREEMPTMAP 0x70000002 /* Section pre-emption details. */
#define SHT_ARM_ATTRIBUTES 0x70000003 /* Section holds attributes. */
#define SHT_ARM_DEBUGOVERLAY 0x70000004 /* Section holds overlay debug info. */
#define SHT_ARM_OVERLAYSECTION 0x70000005 /* Section holds GDB and overlay integration info. */
 
/* ARM-specific values for sh_flags. */
#define SHF_ENTRYSECT 0x10000000 /* Section contains an entry point. */
85,17 → 87,23
#define PF_ARM_ABS 0x40000000 /* Segment must be loaded at its base address. */
 
/* Values for the Tag_CPU_arch EABI attribute. */
#define TAG_CPU_ARCH_PRE_V4 0
#define TAG_CPU_ARCH_V4 1
#define TAG_CPU_ARCH_V4T 2
#define TAG_CPU_ARCH_V5T 3
#define TAG_CPU_ARCH_V5TE 4
#define TAG_CPU_ARCH_V5TEJ 5
#define TAG_CPU_ARCH_V6 6
#define TAG_CPU_ARCH_V6KZ 7
#define TAG_CPU_ARCH_V6T2 8
#define TAG_CPU_ARCH_V6K 9
#define TAG_CPU_ARCH_V7 10
#define TAG_CPU_ARCH_PRE_V4 0
#define TAG_CPU_ARCH_V4 1
#define TAG_CPU_ARCH_V4T 2
#define TAG_CPU_ARCH_V5T 3
#define TAG_CPU_ARCH_V5TE 4
#define TAG_CPU_ARCH_V5TEJ 5
#define TAG_CPU_ARCH_V6 6
#define TAG_CPU_ARCH_V6KZ 7
#define TAG_CPU_ARCH_V6T2 8
#define TAG_CPU_ARCH_V6K 9
#define TAG_CPU_ARCH_V7 10
#define TAG_CPU_ARCH_V6_M 11
#define TAG_CPU_ARCH_V6S_M 12
#define MAX_TAG_CPU_ARCH 12
/* Pseudo-architecture to allow objects to be compatible with the subset of
armv4t and armv6-m. This value should never be stored in object files. */
#define TAG_CPU_ARCH_V4T_PLUS_V6_M (MAX_TAG_CPU_ARCH + 1)
 
/* Relocation types. */
 
234,8 → 242,9
FAKE_RELOC (R_ARM_GOT32, R_ARM_GOT_BREL) /* 32 bit GOT entry. */
FAKE_RELOC (R_ARM_ROSEGREL32, R_ARM_SBREL31) /* ??? */
FAKE_RELOC (R_ARM_AMP_VCALL9, R_ARM_BREL_ADJ) /* Thumb-something. Not used. */
END_RELOC_NUMBERS (R_ARM_max)
 
END_RELOC_NUMBERS (R_ARM_max = 256)
 
#ifdef BFD_ARCH_SIZE
/* EABI object attributes. */
 
250,7 → 259,7
Tag_THUMB_ISA_use,
Tag_VFP_arch,
Tag_WMMX_arch,
Tag_NEON_arch,
Tag_Advanced_SIMD_arch,
Tag_PCS_config,
Tag_ABI_PCS_R9_use,
Tag_ABI_PCS_RW_data,
270,7 → 279,21
Tag_ABI_WMMX_args,
Tag_ABI_optimization_goals,
Tag_ABI_FP_optimization_goals,
/* 32 is generic. */
/* 32 is generic (Tag_compatibility). */
Tag_undefined33 = 33,
Tag_CPU_unaligned_access,
Tag_undefined35,
Tag_VFP_HP_extension,
Tag_undefined37,
Tag_ABI_FP_16bit_format,
Tag_undefined39,
Tag_nodefaults = 64,
Tag_also_compatible_with,
Tag_T2EE_use,
Tag_conformance,
Tag_Virtualization_use,
Tag_undefined69,
Tag_MPextension_use
};
 
#endif
/elf/ppc.h
1,6 → 1,6
/* PPC ELF support for BFD.
Copyright 1995, 1996, 1998, 2000, 2001, 2002, 2003, 2005
Free Software Foundation, Inc.
Copyright 1995, 1996, 1998, 2000, 2001, 2002, 2003, 2005, 2007, 2008,
2009 Free Software Foundation, Inc.
 
By Michael Meissner, Cygnus Support, <meissner@cygnus.com>, from information
in the System V Application Binary Interface, PowerPC Processor Supplement
71,6 → 71,13
RELOC_NUMBER (R_PPC_SECTOFF_HA, 36)
RELOC_NUMBER (R_PPC_ADDR30, 37)
 
#ifndef RELOC_MACROS_GEN_FUNC
/* Fake relocations for branch stubs, only used internally by ld. */
RELOC_NUMBER (R_PPC_RELAX, 48)
RELOC_NUMBER (R_PPC_RELAX_PLT, 49)
RELOC_NUMBER (R_PPC_RELAX_PLTREL24, 50)
#endif
 
/* Relocs added to support TLS. */
RELOC_NUMBER (R_PPC_TLS, 67)
RELOC_NUMBER (R_PPC_DTPMOD32, 68)
100,6 → 107,8
RELOC_NUMBER (R_PPC_GOT_DTPREL16_LO, 92)
RELOC_NUMBER (R_PPC_GOT_DTPREL16_HI, 93)
RELOC_NUMBER (R_PPC_GOT_DTPREL16_HA, 94)
RELOC_NUMBER (R_PPC_TLSGD, 95)
RELOC_NUMBER (R_PPC_TLSLD, 96)
 
/* The remaining relocs are from the Embedded ELF ABI, and are not
in the SVR4 ELF ABI. */
120,11 → 129,8
RELOC_NUMBER (R_PPC_EMB_BIT_FLD, 115)
RELOC_NUMBER (R_PPC_EMB_RELSDA, 116)
 
/* Fake relocations for branch stubs, only used internally by ld. */
#define R_PPC_RELAX32 245
#define R_PPC_RELAX32PC 246
#define R_PPC_RELAX32_PLT 247
#define R_PPC_RELAX32PC_PLT 248
/* Support STT_GNU_IFUNC plt calls. */
RELOC_NUMBER (R_PPC_IRELATIVE, 248)
 
/* These are GNU extensions used in PIC code sequences. */
RELOC_NUMBER (R_PPC_REL16, 249)
146,8 → 152,11
((R) >= R_PPC_TLS && (R) <= R_PPC_GOT_DTPREL16_HA)
 
/* Specify the value of _GLOBAL_OFFSET_TABLE_. */
#define DT_PPC_GOT DT_LOPROC
#define DT_PPC_GOT (DT_LOPROC)
 
/* Specify that tls descriptors should be optimized. */
#define DT_PPC_TLSOPT (DT_LOPROC + 1)
 
/* Processor specific flags for the ELF header e_flags field. */
 
#define EF_PPC_EMB 0x80000000 /* PowerPC embedded flag. */
177,7 → 186,8
{
/* 0-3 are generic. */
Tag_GNU_Power_ABI_FP = 4, /* Value 1 for hard-float, 2 for
soft-float; 0 for not tagged or not
soft-float, 3 for single=precision
hard-float; 0 for not tagged or not
using any ABIs affected by the
differences. */
 
185,6 → 195,11
registers, 3 for SPE registers; 0 for not tagged or not using any
ABIs affected by the differences. */
Tag_GNU_Power_ABI_Vector = 8,
 
/* Value 1 for ABIs using r3/r4 for returning structures <= 8 bytes,
2 for ABIs using memory; 0 for not tagged or not using any ABIs
affected by the differences. */
Tag_GNU_Power_ABI_Struct_Return = 12
};
 
#endif /* _ELF_PPC_H */
/elf/or32.h
1,4 → 1,4
/* OR1K ELF support for BFD. Derived from ppc.h.
/* OR32 ELF support for BFD. Derived from ppc.h.
Copyright (C) 2002 Free Software Foundation, Inc.
Contributed by Ivan Guzvinec <ivang@opencores.org>
 
18,8 → 18,8
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
 
#ifndef _ELF_OR1K_H
#define _ELF_OR1K_H
#ifndef _ELF_OR32_H
#define _ELF_OR32_H
 
#include "elf/reloc-macros.h"
 
59,4 → 59,4
builds when those objects \
are not to be furhter \
relocated. */
#endif /* _ELF_OR1K_H */
#endif /* _ELF_OR32_H */
/elf/reloc-macros.h
43,6 → 43,34
R_foo_count
};
 
Note: The value of the symbol defined in the END_RELOC_NUMBERS
macro (R_foo_count in the case of the example above) will be
set to the value of the whichever *_RELOC macro preceeds it plus
one. Therefore if you intend to use the symbol as a sentinel for
the highest valid macro value you should make sure that the
preceeding *_RELOC macro is the highest valid number. ie a
declaration like this:
 
START_RELOC_NUMBERS (foo)
RELOC_NUMBER (R_foo_NONE, 0)
RELOC_NUMBER (R_foo_32, 1)
FAKE_RELOC (R_foo_illegal, 9)
FAKE_RELOC (R_foo_synonym, 0)
END_RELOC_NUMBERS (R_foo_count)
 
will result in R_foo_count having a value of 1 (R_foo_synonym + 1)
rather than 10 or 2 as might be expected.
 
Alternatively you can assign a value to END_RELOC_NUMBERS symbol
explicitly, like this:
 
START_RELOC_NUMBERS (foo)
RELOC_NUMBER (R_foo_NONE, 0)
RELOC_NUMBER (R_foo_32, 1)
FAKE_RELOC (R_foo_illegal, 9)
FAKE_RELOC (R_foo_synonym, 0)
END_RELOC_NUMBERS (R_foo_count = 2)
 
If RELOC_MACROS_GEN_FUNC *is* defined, then instead the
following function will be generated:
 
/elf/avr.h
24,7 → 24,7
#include "elf/reloc-macros.h"
 
/* Processor specific flags for the ELF header e_flags field. */
#define EF_AVR_MACH 0xf
#define EF_AVR_MACH 0x7F
 
/* If bit #7 is set, it is assumed that the elf file uses local symbols
as reference for the relocations so that linker relaxation is possible. */
32,9 → 32,13
 
#define E_AVR_MACH_AVR1 1
#define E_AVR_MACH_AVR2 2
#define E_AVR_MACH_AVR25 25
#define E_AVR_MACH_AVR3 3
#define E_AVR_MACH_AVR31 31
#define E_AVR_MACH_AVR35 35
#define E_AVR_MACH_AVR4 4
#define E_AVR_MACH_AVR5 5
#define E_AVR_MACH_AVR51 51
#define E_AVR_MACH_AVR6 6
 
/* Relocations. */
/elf/ChangeLog
1,3 → 1,362
2009-12-17 Alan Modra <amodra@bigpond.net.au>
 
* ppc.h (R_PPC_RELAX32, R_PPC_RELAX32PC, R_PPC_RELAX32_PLT,
R_PPC_RELAX32PC_PLT): Delete.
(R_PPC_RELAX, R_PPC_RELAX_PLT, R_PPC_RELAX_PLTREL24): Define.
 
2009-09-21 Alan Modra <amodra@bigpond.net.au>
 
* ppc.h (DT_PPC_TLSOPT): Define.
* ppc64.h (DT_PPC64_TLSOPT): Define.
 
2009-08-10 Daniel Gutson <dgutson@codesourcery.com>
 
* arm.h: (SHT_ARM_DEBUGOVERLAY): New define.
(SHT_ARM_OVERLAYSECTION): New define.
 
2006-08-09 Bernd Schmidt <bernd.schmidt@analog.com>
 
From Mike Frysinger <michael.frysinger@analog.com>
* bfin.h (R_BFIN_UNUSED, R_BFIN_PCREL5M2, R_BFIN_UNUSED1,
R_BFIN_PCREL10, R_BFIN_PCREL12_JUMP, R_BFIN_RIMM16,
R_BFIN_LUIMM16, R_BFIN_HUIMM16, R_BFIN_PCREL12_JUMP_S,
R_BFIN_PCREL24_JUMP_X, R_BFIN_PCREL24, R_BFIN_UNUSEDB,
R_BFIN_UNUSEDC, R_BFIN_PCREL24_JUMP_L, R_BFIN_PCREL24_CALL_X,
R_BFIN_VAR_EQ_SYMB, R_BFIN_BYTE_DATA, R_BFIN_BYTE2_DATA,
R_BFIN_BYTE4_DATA, R_BFIN_PCREL11, R_BFIN_PUSH, R_BFIN_CONST,
R_BFIN_ADD, R_BFIN_SUB, R_BFIN_MULT, R_BFIN_DIV, R_BFIN_MOD,
R_BFIN_LSHIFT, R_BFIN_RSHIFT, R_BFIN_AND, R_BFIN_OR, R_BFIN_XOR,
R_BFIN_LAND, R_BFIN_LOR, R_BFIN_LEN, R_BFIN_NEG, R_BFIN_COMP,
R_BFIN_PAGE, R_BFIN_HWPAGE, R_BFIN_ADDR, R_BFIN_PLTPLC,
R_BFIN_GOT, R_BFIN_MAX): Renamed from R_unused0, R_pcrel5ms,
R_unused1, R_pcrel10, R_pcrel12_jump, R_rimm16, R_luimm16,
R_huimm16, R_pcrel12_jump_s, R_pcrel24_jump_x, R_pcrel24,
R_unusedb, R_unusedc, R_pcrel24_jump_l, R_pcrel24_call_x,
R_var_eq_symb, R_byte_data, R_byte2_data, R_byte4_data, R_pcrel11,
R_push, R_const, R_add, R_sub, R_mult, R_div, R_mod, R_lshift,
R_rshift, R_and, R_or, R_xor, R_land, R_lor, R_len, R_neg, R_comp,
R_page, R_hwpage, R_addr, R_pltpc, R_got.
2009-08-09 Michael Eager <eager@eagercon.com>
 
* elf/common.h: Define EM_resnnn reserved values. Add EM_AVR32,
EM_STM8, EM_TILE64, EM_TILEPRO. Change EM_MICROBLAZE.
 
2009-08-06 Michael Eager <eager@eagercon.com>
 
* elf/common.h: Define EM_MICROBLAZE & EM_MICROBLAZE_OLD.
* elf/microblaze.h: New reloc definitions.
 
2009-07-30 Alan Modra <amodra@bigpond.net.au>
 
* ppc64.h: Add R_PPC64_JMP_IREL, R_PPC64_REL16, R_PPC64_REL16_LO,
R_PPC64_REL16_HI, R_PPC64_REL16_HA.
 
2009-07-25 H.J. Lu <hongjiu.lu@intel.com>
 
* common.h (EM_L1OM): New.
 
2009-07-24 Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>
Alan Modra <amodra@bigpond.net.au>
 
* spu.h (R_SPU_ADD_PIC): New.
 
2009-07-23 Ulrich Drepper <drepper@redhat.com>
 
* common.h (STB_GNU_UNIQUE): Define.
 
2009-07-10 Tom Tromey <tromey@redhat.com>
 
* dwarf2.h: Move to `..'.
 
2009-07-10 H.J. Lu <hongjiu.lu@intel.com>
 
* dwarf2.h: Just include ../dwarf2.h.
 
2009-07-10 Alan Modra <amodra@bigpond.net.au>
 
* ppc.h (R_PPC_IRELATIVE): Add.
(R_PPC_RELAX32, R_PPC_RELAX32PC,
R_PPC_RELAX32_PLT, R_PPC_RELAX32PC_PLT): Renumber.
* ppc64.h (R_PPC64_IRELATIVE): Add.
 
2009-07-03 Jakub Jelinek <jakub@redhat.com>
 
* dwarf2.h (enum dwarf_location_atom): Add DW_OP_implicit_value
and DW_OP_stack_value.
 
2009-06-22 Alan Modra <amodra@bigpond.net.au>
 
* ppc.h (R_PPC_RELAX*): Define as enum.
 
2009-06-11 Anthony Green <green@moxielogic.org>
 
* moxie.h (R_MOXIE_PCREL10): New.
 
2009-06-01 H.J. Lu <hongjiu.lu@intel.com>
 
PR ld/10205
* i386.h (R_386_IRELATIVE): New.
* x86-64.h (R_X86_64_IRELATIVE): Likewise.
 
2009-05-27 H.J. Lu <hongjiu.lu@intel.com>
 
* common.h: Update comments for dynamic tag ranges.
 
2009-04-30 DJ Delorie <dj@redhat.com>
 
* mep.h (EF_MEP_COP_*): New.
(EF_MEP_ALL_FLAGS): Add them.
 
2009-04-30 Nick Clifton <nickc@redhat.com>
 
* common.h (STT_GNU_IFUNC): Define.
 
2009-04-24 Cary Coutant <ccoutant@google.com>
 
* dwarf2.h (DW_LNE_set_discriminator): New enum value.
 
2009-04-15 Anthony Green <green@moxielogic.com>
 
* common.h (EM_MOXIE): Define.
* moxie.h: New file.
 
2009-04-07 DJ Delorie <dj@redhat.com>
 
* mep.h (EF_MEP_CPU_C5): New.
 
2009-04-01 H.J. Lu <hongjiu.lu@intel.com>
 
* common.h (EM_INTEL178): Removed.
(EM_INTEL179): Likewise.
(EM_ETPU): New.
(EM_SLE9X): Likewise.
(EM_INTEL181): Likewise.
(EM_INTEL182): Likewise.
 
2009-03-31 H.J. Lu <hongjiu.lu@intel.com>
 
* common.h (EM_INTEL178): New.
(EM_INTEL179): Likewise.
(EM_INTEL180): Likewise.
 
2009-03-20 Mikolaj Zalewski <mikolajz@google.com>
 
* common.h (SHT_GNU_INCREMENTAL_INPUTS): Define.
 
2009-03-14 Mark Kettenis <kettenis@gnu.org>
 
* common.h (NT_OPENBSD_PROCINFO, NT_OPENBSD_AUXV)
(NT_OPENBSD_REGS, NT_OPENBSD_FPREGS, NT_OPENBSD_XFPREGS)
(NT_OPENBSD_WCOOKIE): New defines.
 
2009-03-16 Jan Kratochvil <jan.kratochvil@redhat.com>
 
* common.h (AT_RANDOM): Define.
 
2009-03-04 Alan Modra <amodra@bigpond.net.au>
 
* ppc.h (R_PPC_TLSGD, R_PPC_TLSLD): Add new relocs.
* ppc64.h (R_PPC64_TLSGD, R_PPC64_TLSLD): Add new relocs.
 
2009-03-02 Qinwei <qinwei@sunnorth.com.cn>
 
* score.h (RELOC_NUMBER): Add R_SCORE_IMM32.
* common.h (EM_SCORE_OLD): Define.
 
2009-02-23 H.J. Lu <hongjiu.lu@intel.com>
 
* common.h (STB_LOPROC): Replace Application-specific with
Processor-specific in comments.
(STB_HIPROC): Likewise.
(STT_LOPROC): Likewise.
(STT_HIPROC): Likewise.
 
2009-02-03 Sandip Matte <sandip@rmicorp.com>
 
* mips.h (E_MIPS_MACH_XLR): Define.
 
2009-02-03 Maxim Kuvyrkov <maxim@codesourcery.com>
 
* m68k.h: Map TLS relocations to numbers.
 
2009-01-15 Andrew Stubbs <ams@codesourcery.com>
Julian Brown <julian@codesourcery.com>
 
* arm.h (TAG_CPU_ARCH_V6_M, TAG_CPU_ARCH_V6S_M): New defines.
(MAX_TAG_CPU_ARCH, TAG_CPU_ARCH_V4T_PLUS_V6_M): New defines.
(Tag_NEON_arch): Rename to Tag_Advanced_SIMD_arch to match ARM ABI
version 2.07.
(Tag_undefined39, Tag_nodefaults): New enum values.
(Tag_also_compatible_with, Tag_T2EE_use): Likewise.
(Tag_conformance, Tag_Virtualization_use): Likewise.
(Tag_undefined69, Tag_MPextension_use): Likewise.
 
2009-01-15 Douglas B Rupp <rupp@gnat.com>
 
* ia64.h (SHT_IA_64_VMS_DISPLAY_NAME_INFO, EF_IA_64_ARCHVER_1):
New macros. Minor reformatting.
 
2008-12-23 Jon Beniston <jon@beniston.com>
 
* lm32.h: New file.
 
2008-12-23 Nick Clifton <nickc@redhat.com>
 
* commmon.h (STT_IFUNC): Delete.
 
2008-12-20 Hans-Peter Nilsson <hp@axis.com>
 
* cris.h (R_CRIS_32_IE): New relocation.
 
2008-12-03 Nick Clifton <nickc@redhat.com>
 
* common.h (STT_IFUNC): Define.
 
2008-11-27 M R Swami Reddy <MR.Swami.Reddy@nsc.com>
 
* cr16.h (R_CR16_GOT_REGREL20, R_CR16_GOTC_REGREL20 and
R_CR16_GLOB_DAT): New relocations.
 
2008-11-25 Hans-Peter Nilsson <hp@axis.com>
 
* cris.h (R_CRIS_32_TPREL): Correct comment.
(R_CRIS_DTPMOD): Open up for use elsewhere than the fourth GOT entry.
 
2008-11-18 Catherine Moore <clm@codesourcery.com>
 
* arm.h (Tag_ABI_FP_16bit_format): Define.
 
2008-11-14 Nathan Sidwell <nathan@codesourcery.com>
 
* internal.h (struct elf_segment_map): Add header_size field.
2008-10-13 Ulrich Weigand <uweigand@de.ibm.com>
 
* common.h (AT_BASE_PLATFORM, AT_EXECFN): Define.
 
2008-10-10 Nathan Froyd <froydnj@codesourcery.com>
 
* ppc.h: Add Tag_GNU_Power_ABI_Struct_Return.
 
2008-10-04 Hans-Peter Nilsson <hp@axis.com>
 
* cris.h (R_CRIS_32_GOT_GD, R_CRIS_16_GOT_GD, R_CRIS_32_GD)
(R_CRIS_DTP, R_CRIS_32_DTPREL, R_CRIS_16_DTPREL, R_CRIS_DTPMOD)
(R_CRIS_32_GOT_TPREL, R_CRIS_16_GOT_TPREL, R_CRIS_32_TPREL)
(R_CRIS_16_TPREL): New relocations.
 
2008-08-20 Bob Wilson <bob.wilson@acm.org>
 
* xtensa.h (R_XTENSA_TLSDESC_FN, R_XTENSA_TLSDESC_ARG)
(R_XTENSA_TLS_DTPOFF, R_XTENSA_TLS_TPOFF, R_XTENSA_TLS_FUNC)
(R_XTENSA_TLS_ARG, R_XTENSA_TLS_CALL): New.
 
2008-08-08 Richard Sandiford <rdsandiford@googlemail.com>
Daniel Jacobowitz <dan@codesourcery.com>
Catherine Moore <clm@codesourcery.com>
Mark Shinwell <shinwell@codesourcery.com>
 
* mips.h (STO_MIPS_PLT, ELF_ST_IS_MIPS_PLT, ELF_ST_SET_MIPS_PLT)
(STO_MIPS_PIC, DT_MIPS_PLTGOT, DT_MIPS_RWPLT): New macros.
 
2008-08-04 Markus Weiss <weissms@aros.org>
 
* common.h (ELFOSABI_AROS): Update comment.
 
2008-07-26 Michael Eager <eager@eagercon.com>
 
* ppc.h: Add description of single-precision.
 
2008-07-21 Luis Machado <luisgpm@br.ibm.com>
 
* common.h: Define NT_PPC_VSX.
 
2008-07-10 Richard Sandiford <rdsandiford@googlemail.com>
 
* mips.h (ELF_ST_IS_MIPS16, ELF_ST_SET_MIPS16): New macros.
 
2008-06-18 M R Swami Reddy <MR.Swami.Reddy@nsc.com>
 
* common.h (EM_CR16): Correct value.
(EM_CR16): Rename to EM_CR16_OLD.
 
2008-06-12 DJ Delorie <dj@redhat.com>
 
* common.h (EM_M32C_NEW): Rename to EM_M32C.
(EM_M32C): Rename to EM_M32C_OLD.
 
2008-06-12 Joseph Myers <joseph@codesourcery.com>
 
* common.h: Update e_machine table.
 
2008-06-09 Takashi Yoshii <yoshii.takashi@renesas.com>
 
* sh.h (EF_SH_BFD_TABLE): Set bfd_mach_sh for EF_SH_UNKNOWN.
 
2008-06-09 Joseph Myers <joseph@codesourcery.com>
 
* common.h: Change registry@caldera.com to registry@sco.com.
 
2008-05-21 Nick Clifton <nickc@redhat.com>
 
* reloc-macros.h: Add a comment about the use of the
END_RELOC_NUMBERS symbol as a sentinel value.
 
2008-05-15 Christophe Lyon <christophe.lyon@st.com>
* arm.h (END_RELOC_NUMBERS): Provide a maximum value.
 
2008-04-16 David S. Miller <davem@davemloft.net>
 
* elf/sparc.h (R_SPARC_GOTDATA_HIX22,
R_SPARC_GOTDATA_LOX10, R_SPARC_GOTDATA_OP_HIX22,
R_SPARC_GOTDATA_OP_LOX10, R_SPARC_GOTDATA_OP,
R_SPARC_H34, R_SPARC_SIZE32, R_SPARC_SIZE64): New relocs.
 
2008-03-24 Ian Lance Taylor <iant@google.com>
 
* common.h (NT_GNU_GOLD_VERSION): Define.
 
2008-03-13 Alan Modra <amodra@bigpond.net.au>
 
* internal.h (Elf_Internal_Shdr): Change sh_link and sh_info from
unsigned long to unsigned int. Change sh_addralign to bfd_vma.
Order struct as for external version.
 
2008-03-12 Alan Modra <amodra@bigpond.net.au>
 
PR 5900
* common.h (SHN_BAD): Delete.
(SHN_LORESERVE .. SHN_HIRESERVE): Move to..
* external.h: ..here.
* internal.h (SHN_LORESERVE, SHN_HIRESERVE): Define.
(SHN_LOPROC, SHN_HIPROC, SHN_LOOS, SHN_HIOS): Define.
(SHN_ABS, SHN_COMMON, SHN_XINDEX, SHN_BAD): Define.
 
2008-03-12 Alan Modra <amodra@bigpond.net.au>
 
* cr16c.h (SHN_CR16C_FCOMMON): Define using SHN_LORESERVE.
(SHN_CR16C_NCOMMON): Likewise.
* hppa.h (SHN_PARISC_ANSI_COMMON): Likewise.
(SHN_PARISC_HUGE_COMMON): Likewise.
* ia64.h (SHN_IA_64_ANSI_COMMON): Likewise.
(SHN_IA_64_VMS_SYMVEC): Define using SHN_LOOS.
* m32r.h (SHN_M32R_SCOMMON): Define using SHN_LORESERVE.
* mips.h (SHN_MIPS_ACOMMON, SHN_MIPS_TEXT): Likewise.
(SHN_MIPS_DATA, SHN_MIPS_SCOMMON, SHN_MIPS_SUNDEFINED): Likewise.
* score.h (SHN_SCORE_TEXT, SHN_SCORE_DATA): Likewise.
(SHN_SCORE_SCOMMON): Likewise.
* sparc.h (SHN_BEFORE, SHN_AFTER): Likewise.
* v850.h (SHN_V850_SCOMMON, SHN_V850_TCOMMON): Likewise.
(SHN_V850_ZCOMMON): Likewise.
* x86-64.h (SHN_X86_64_LCOMMON): Likewise.
 
2008-03-03 Pallavi Tambay <pallavi.tambay@amd.com>
 
* dwarf2.h: (enum dwarf_location_atom): Add new DW_OP:
DW_OP_PGI_omp_thread_num.
 
2008-02-04 Adam Nemet <anemet@caviumnetworks.com>
 
* mips.h: Update copyright.
6,27 → 365,27
2008-01-30 Tristan Gingold <gingold@adacore.com>
 
Add OpenVMS extensions.
* ia64.h (SHF_IA_64_VMS_GLOBAL, SHF_IA_64_VMS_OVERLAID)
(SHF_IA_64_VMS_SHARED, SHF_IA_64_VMS_VECTOR)
* ia64.h (SHF_IA_64_VMS_GLOBAL, SHF_IA_64_VMS_OVERLAID)
(SHF_IA_64_VMS_SHARED, SHF_IA_64_VMS_VECTOR)
(SHF_IA_64_VMS_ALLOC_64BIT, SHF_IA_64_VMS_PROTECTED)
(SHT_IA_64_VMS_TRACE, SHT_IA_64_VMS_TIE_SIGNATURES)
(SHT_IA_64_VMS_DEBUG, SHT_IA_64_VMS_DEBUG_STR)
(SHT_IA_64_VMS_LINKAGES, SHT_IA_64_VMS_SYMBOL_VECTOR)
(SHT_IA_64_VMS_FIXUP, DT_IA_64_VMS_SUBTYPE)
(DT_IA_64_VMS_IMGIOCNT, DT_IA_64_VMS_LNKFLAGS)
(DT_IA_64_VMS_VIR_MEM_BLK_SIZ, DT_IA_64_VMS_IDENT)
(DT_IA_64_VMS_NEEDED_IDENT, DT_IA_64_VMS_IMG_RELA_CNT)
(DT_IA_64_VMS_SEG_RELA_CNT, DT_IA_64_VMS_FIXUP_RELA_CNT)
(DT_IA_64_VMS_FIXUP_NEEDED, DT_IA_64_VMS_SYMVEC_CNT)
(DT_IA_64_VMS_XLATED, DT_IA_64_VMS_STACKSIZE)
(DT_IA_64_VMS_UNWINDSZ, DT_IA_64_VMS_UNWIND_CODSEG)
(DT_IA_64_VMS_UNWIND_INFOSEG, DT_IA_64_VMS_LINKTIME)
(DT_IA_64_VMS_SEG_NO, DT_IA_64_VMS_SYMVEC_OFFSET)
(DT_IA_64_VMS_SYMVEC_SEG, DT_IA_64_VMS_UNWIND_OFFSET)
(DT_IA_64_VMS_UNWIND_SEG, DT_IA_64_VMS_STRTAB_OFFSET)
(DT_IA_64_VMS_SYSVER_OFFSET, DT_IA_64_VMS_IMG_RELA_OFF)
(DT_IA_64_VMS_SEG_RELA_OFF, DT_IA_64_VMS_FIXUP_RELA_OFF)
(DT_IA_64_VMS_PLTGOT_OFFSET, DT_IA_64_VMS_PLTGOT_SEG)
(SHT_IA_64_VMS_TRACE, SHT_IA_64_VMS_TIE_SIGNATURES)
(SHT_IA_64_VMS_DEBUG, SHT_IA_64_VMS_DEBUG_STR)
(SHT_IA_64_VMS_LINKAGES, SHT_IA_64_VMS_SYMBOL_VECTOR)
(SHT_IA_64_VMS_FIXUP, DT_IA_64_VMS_SUBTYPE)
(DT_IA_64_VMS_IMGIOCNT, DT_IA_64_VMS_LNKFLAGS)
(DT_IA_64_VMS_VIR_MEM_BLK_SIZ, DT_IA_64_VMS_IDENT)
(DT_IA_64_VMS_NEEDED_IDENT, DT_IA_64_VMS_IMG_RELA_CNT)
(DT_IA_64_VMS_SEG_RELA_CNT, DT_IA_64_VMS_FIXUP_RELA_CNT)
(DT_IA_64_VMS_FIXUP_NEEDED, DT_IA_64_VMS_SYMVEC_CNT)
(DT_IA_64_VMS_XLATED, DT_IA_64_VMS_STACKSIZE)
(DT_IA_64_VMS_UNWINDSZ, DT_IA_64_VMS_UNWIND_CODSEG)
(DT_IA_64_VMS_UNWIND_INFOSEG, DT_IA_64_VMS_LINKTIME)
(DT_IA_64_VMS_SEG_NO, DT_IA_64_VMS_SYMVEC_OFFSET)
(DT_IA_64_VMS_SYMVEC_SEG, DT_IA_64_VMS_UNWIND_OFFSET)
(DT_IA_64_VMS_UNWIND_SEG, DT_IA_64_VMS_STRTAB_OFFSET)
(DT_IA_64_VMS_SYSVER_OFFSET, DT_IA_64_VMS_IMG_RELA_OFF)
(DT_IA_64_VMS_SEG_RELA_OFF, DT_IA_64_VMS_FIXUP_RELA_OFF)
(DT_IA_64_VMS_PLTGOT_OFFSET, DT_IA_64_VMS_PLTGOT_SEG)
(DT_IA_64_VMS_FPMODE, SHN_IA_64_VMS_SYMVEC): Define
 
2008-01-16 Mark Kettenis <kettenis@gnu.org>
38,9 → 397,9
* dwarf2.h (DW_AT_hi_user): Correct value.
 
2007-12-07 Bob Wilson <bob.wilson@acm.org>
 
* xtensa.h (R_XTENSA_32_PCREL): New.
 
2007-11-29 Mark Shinwell <shinwell@codesourcery.com>
 
* mips.h (E_MIPS_MACH_LS2E): New.
51,6 → 410,11
* internal.h (ELF_IS_SECTION_IN_SEGMENT): Adjust to cope with
segments at the end of memory.
 
2007-11-17 Thiemo Seufer <ths@mips.com>
 
* mips.h (Tag_GNU_MIPS_ABI_FP): Mention -mips32r2 -mfp64 variant
in comment.
 
2007-11-16 Nick Clifton <nickc@redhat.com>
 
* dwarf2.h: Mention the location of the DWARF3 spec on the web.
242,6 → 606,10
(EF_SCORE_FIXDEP): Redefine EF_SCORE_FIXDEP as 0x40000000.
(EF_SCORE_HASENTRY): Delete.
 
2006-10-17 Mark Shinwell <shinwell@codesourcery.com>
 
* arm.h: Define TAG_CPU_ARCH_* constants.
 
2006-09-17 Mei Ligang <ligang@sunnorth.com.cn>
 
* score.h: New file.
277,6 → 645,21
 
* avr.h: Add E_AVR_MACH_AVR6, R_AVR_LO8_LDI_GS and R_AVR_HI8_LDI_GS.
 
2006-03-25 Bernd Schmidt <bernd.schmidt@analog.com>
 
* bfin.h (R_BFIN_GOT17M4, R_BFIN_GOTHI, R_BFIN_GOTLO,
R_BFIN_FUNCDESC, R_BFIN_FUNCDESC_GOT17M4, R_BFIN_FUNCDESC_GOTHI,
R_BFIN_FUNCDESC_GOTLO, R_BFIN_FUNCDESC_VALUE,
R_BFIN_FUNCDESC_GOTOFF17M4, R_BFIN_FUNCDESC_GOTOFFHI,
R_BFIN_FUNCDESC_GOTOFFLO, R_BFIN_GOTOFF17M4, R_BFIN_GOTOFFHI,
R_BFIN_GOTOFFLO): New relocs.
(EF_BFIN_PIC, EF_BFIN_FDPIC, EF_BFIN_PIC_FLAGS): New macros.
 
2006-03-23 Michael Matz <matz@suse.de>
 
* x86-64.h: Add the new relocations with their official
numbers.
 
2006-03-22 Richard Sandiford <richard@codesourcery.com>
Daniel Jacobowitz <dan@codesourcery.com>
Phil Edwards <phil@codesourcery.com>
336,6 → 719,10
(DW_LANG_PLI, DW_LANG_ObjC, DW_LANG_ObjC_plus_plus, DW_LANG_UPC,
DW_LANG_D): New.
 
2006-02-06 Steve Ellcey <sje@cup.hp.com>
 
* ia64.h (SHF_IA_64_HP_TLS): New.
 
2006-02-24 DJ Delorie <dj@redhat.com>
 
* m32c.h: Add relax relocs.
385,6 → 772,10
* common.h (EM_MT): Renamed.
* mt.h: Rename relocs, cpu & other defines.
 
2005-12-12 Nathan Sidwell <nathan@codesourcery.com>
 
* mt.h: Renamed from ms1.h
 
2005-12-12 Paul Brook <paul@codesourcery.com>
 
* arm.h (elf32_arm_get_eabi_attr_int): Add prototype.
395,6 → 786,15
* mips.h (STO_OPTIONAL): Define.
(ELF_MIPS_IS_OPTIONAL): Define.
 
2005-11-07 Nathan Sidwell <nathan@codesourcery.com>
 
Add ms2.
* ms1.h (EF_MS1_CPU_MS2): New.
 
2005-11-06 John David Anglin <dave.anglin@nrc-crnc.gc.ca>
 
* hppa.h (R_PARISC_DIR64WR, R_PARISC_DIR64DR): Remove relocs.
 
2005-09-30 Catherine Moore <clm@cm00re.com>
 
* bfin.h: New file.
451,6 → 851,10
* common.h (EM_M32C): New machine number.
* m32c.h: New file.
 
2005-06-17 Jakub Jelinek <jakub@redhat.com>
 
* external.h (GRP_ENTRY_SIZE): Define.
 
2005-06-17 Jan Beulich <jbeulich@novell.com>
 
* x86-64.h (elf_x86_64_reloc_type): Adjust comment for
/elf/xtensa.h
1,5 → 1,5
/* Xtensa ELF support for BFD.
Copyright 2003, 2004, 2007 Free Software Foundation, Inc.
Copyright 2003, 2004, 2007, 2008 Free Software Foundation, Inc.
Contributed by Bob Wilson (bwilson@tensilica.com) at Tensilica.
 
This file is part of BFD, the Binary File Descriptor library.
76,6 → 76,13
RELOC_NUMBER (R_XTENSA_SLOT12_ALT, 47)
RELOC_NUMBER (R_XTENSA_SLOT13_ALT, 48)
RELOC_NUMBER (R_XTENSA_SLOT14_ALT, 49)
RELOC_NUMBER (R_XTENSA_TLSDESC_FN, 50)
RELOC_NUMBER (R_XTENSA_TLSDESC_ARG, 51)
RELOC_NUMBER (R_XTENSA_TLS_DTPOFF, 52)
RELOC_NUMBER (R_XTENSA_TLS_TPOFF, 53)
RELOC_NUMBER (R_XTENSA_TLS_FUNC, 54)
RELOC_NUMBER (R_XTENSA_TLS_ARG, 55)
RELOC_NUMBER (R_XTENSA_TLS_CALL, 56)
END_RELOC_NUMBERS (R_XTENSA_max)
 
/* Processor-specific flags for the ELF header e_flags field. */
/elf/ia64.h
1,5 → 1,5
/* IA-64 ELF support for BFD.
Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2008
Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2008, 2009
Free Software Foundation, Inc.
Contributed by David Mosberger-Tang <davidm@hpl.hp.com>
 
24,8 → 24,9
 
/* Bits in the e_flags field of the Elf64_Ehdr: */
 
#define EF_IA_64_MASKOS 0x0000000f /* OS-specific flags. */
#define EF_IA_64_ARCH 0xff000000 /* Arch. version mask. */
#define EF_IA_64_MASKOS 0x0000000f /* OS-specific flags. */
#define EF_IA_64_ARCH 0xff000000 /* Arch. version mask. */
#define EF_IA_64_ARCHVER_1 (1 << 24) /* Arch. version level 1 compat. */
 
/* ??? These four definitions are not part of the SVR4 ABI.
They were present in David's initial code drop, so it is probable
84,22 → 85,24
/* OpenVMS section types. */
/* The section contains PC-to-source correlation information for use by the
VMS RTL's traceback facility. */
#define SHT_IA_64_VMS_TRACE 0x60000000
#define SHT_IA_64_VMS_TRACE 0x60000000
/* The section contains routine signature information for use by the
translated image executive. */
#define SHT_IA_64_VMS_TIE_SIGNATURES 0x60000001
#define SHT_IA_64_VMS_TIE_SIGNATURES 0x60000001
/* The section contains dwarf-3 information. */
#define SHT_IA_64_VMS_DEBUG 0x60000002
#define SHT_IA_64_VMS_DEBUG 0x60000002
/* The section contains the dwarf-3 string table. */
#define SHT_IA_64_VMS_DEBUG_STR 0x60000003
#define SHT_IA_64_VMS_DEBUG_STR 0x60000003
/* The section contains linkage information to perform consistency checking
accross object modules. */
#define SHT_IA_64_VMS_LINKAGES 0x60000004
#define SHT_IA_64_VMS_LINKAGES 0x60000004
/* The section allows the symbol vector in an image to be location through
the section table. */
#define SHT_IA_64_VMS_SYMBOL_VECTOR 0x60000005
#define SHT_IA_64_VMS_SYMBOL_VECTOR 0x60000005
/* The section contains inter-image fixups. */
#define SHT_IA_64_VMS_FIXUP 0x60000006
#define SHT_IA_64_VMS_FIXUP 0x60000006
/* The section contains unmangled name info. */
#define SHT_IA_64_VMS_DISPLAY_NAME_INFO 0x60000007
 
/* Bits in the p_flags field of Elf64_Phdr: */
 
158,11 → 161,11
/* This section only used by HP-UX, The HP linker gives weak symbols
precedence over regular common symbols. We want common to override
weak. Using this common instead of SHN_COMMON does that. */
#define SHN_IA_64_ANSI_COMMON 0xFF00
#define SHN_IA_64_ANSI_COMMON SHN_LORESERVE
 
/* This section is only used by OpenVMS. Symbol is defined in the symbol
vector (only possible for image files). */
#define SHN_IA_64_VMS_SYMVEC 0xff20
#define SHN_IA_64_VMS_SYMVEC SHN_LOOS
 
/* IA64-specific relocation types: */
 
/elf/spu.h
1,6 → 1,6
/* SPU ELF support for BFD.
 
Copyright 2006, 2007 Free Software Foundation, Inc.
Copyright 2006, 2007, 2009 Free Software Foundation, Inc.
 
This file is part of BFD, the Binary File Descriptor library.
 
42,6 → 42,7
RELOC_NUMBER (R_SPU_ADDR16X, 14)
RELOC_NUMBER (R_SPU_PPU32, 15)
RELOC_NUMBER (R_SPU_PPU64, 16)
RELOC_NUMBER (R_SPU_ADD_PIC, 17)
END_RELOC_NUMBERS (R_SPU_max)
 
/* Program header extensions */
/elf/mips.h
1,6 → 1,6
/* MIPS ELF support for BFD.
Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
2003, 2004, 2005, 2008
2003, 2004, 2005, 2008, 2009
Free Software Foundation, Inc.
 
By Ian Lance Taylor, Cygnus Support, <ian@cygnus.com>, from
214,6 → 214,7
#define E_MIPS_MACH_4111 0x00880000
#define E_MIPS_MACH_SB1 0x008a0000
#define E_MIPS_MACH_OCTEON 0x008b0000
#define E_MIPS_MACH_XLR 0x008c0000
#define E_MIPS_MACH_5400 0x00910000
#define E_MIPS_MACH_5500 0x00980000
#define E_MIPS_MACH_9000 0x00990000
226,21 → 227,21
 
/* Defined and allocated common symbol. Value is virtual address. If
relocated, alignment must be preserved. */
#define SHN_MIPS_ACOMMON 0xff00
#define SHN_MIPS_ACOMMON SHN_LORESERVE
 
/* Defined and allocated text symbol. Value is virtual address.
Occur in the dynamic symbol table of Alpha OSF/1 and Irix 5 executables. */
#define SHN_MIPS_TEXT 0xff01
#define SHN_MIPS_TEXT (SHN_LORESERVE + 1)
 
/* Defined and allocated data symbol. Value is virtual address.
Occur in the dynamic symbol table of Alpha OSF/1 and Irix 5 executables. */
#define SHN_MIPS_DATA 0xff02
#define SHN_MIPS_DATA (SHN_LORESERVE + 2)
 
/* Small common symbol. */
#define SHN_MIPS_SCOMMON 0xff03
#define SHN_MIPS_SCOMMON (SHN_LORESERVE + 3)
 
/* Small undefined symbol. */
#define SHN_MIPS_SUNDEFINED 0xff04
#define SHN_MIPS_SUNDEFINED (SHN_LORESERVE + 4)
/* Processor specific section types. */
 
662,6 → 663,12
 
/* Address of auxiliary .dynamic. */
#define DT_MIPS_AUX_DYNAMIC 0x70000031
 
/* Address of the base of the PLTGOT. */
#define DT_MIPS_PLTGOT 0x70000032
 
/* Points to the base of a writable PLT. */
#define DT_MIPS_RWPLT 0x70000034
/* Flags which may appear in a DT_MIPS_FLAGS entry. */
 
723,8 → 730,24
#define STO_HIDDEN STV_HIDDEN
#define STO_PROTECTED STV_PROTECTED
 
/* The MIPS psABI was updated in 2008 with support for PLTs and copy
relocs. There are therefore two types of nonzero SHN_UNDEF functions:
PLT entries and traditional MIPS lazy binding stubs. We mark the former
with STO_MIPS_PLT to distinguish them from the latter. */
#define STO_MIPS_PLT 0x8
 
/* This value is used to mark PIC functions in an object that mixes
PIC and non-PIC. */
#define STO_MIPS_PIC 0x20
#define ELF_ST_IS_MIPS_PIC(OTHER) \
(((OTHER) & ~ELF_ST_VISIBILITY (-1)) == STO_MIPS_PIC)
#define ELF_ST_SET_MIPS_PIC(OTHER) \
(STO_MIPS_PIC | ELF_ST_VISIBILITY (OTHER))
 
/* This value is used for a mips16 .text symbol. */
#define STO_MIPS16 0xf0
#define ELF_ST_IS_MIPS16(OTHER) (((OTHER) & 0xf0) == STO_MIPS16)
#define ELF_ST_SET_MIPS16(OTHER) (((OTHER) & ~0xf0) | STO_MIPS16)
 
/* This bit is used on Irix to indicate a symbol whose definition
is optional - if, at final link time, it cannot be found, no
/elf/sparc.h
1,5 → 1,5
/* SPARC ELF support for BFD.
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2003
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2008
Free Software Foundation, Inc.
By Doug Evans, Cygnus Support, <dje@cygnus.com>.
 
45,8 → 45,8
 
/* Section indices. */
 
#define SHN_BEFORE 0xff00 /* used with SHF_ORDERED */
#define SHN_AFTER 0xff01 /* used with SHF_ORDERED */
#define SHN_BEFORE SHN_LORESERVE /* used with SHF_ORDERED */
#define SHN_AFTER (SHN_LORESERVE + 1) /* used with SHF_ORDERED */
 
/* Section flags. */
 
151,6 → 151,16
RELOC_NUMBER (R_SPARC_TLS_DTPOFF64, 77)
RELOC_NUMBER (R_SPARC_TLS_TPOFF32, 78)
RELOC_NUMBER (R_SPARC_TLS_TPOFF64, 79)
 
RELOC_NUMBER (R_SPARC_GOTDATA_HIX22, 80)
RELOC_NUMBER (R_SPARC_GOTDATA_LOX10, 81)
RELOC_NUMBER (R_SPARC_GOTDATA_OP_HIX22, 82)
RELOC_NUMBER (R_SPARC_GOTDATA_OP_LOX10, 83)
RELOC_NUMBER (R_SPARC_GOTDATA_OP, 84)
 
RELOC_NUMBER (R_SPARC_H34, 85)
RELOC_NUMBER (R_SPARC_SIZE32, 86)
RELOC_NUMBER (R_SPARC_SIZE64, 87)
EMPTY_RELOC (R_SPARC_max_std)
 
/elf/internal.h
1,6 → 1,6
/* ELF support for BFD.
Copyright 1991, 1992, 1993, 1994, 1995, 1997, 1998, 2000, 2001, 2002,
2003, 2006, 2007 Free Software Foundation, Inc.
2003, 2006, 2007, 2008 Free Software Foundation, Inc.
 
Written by Fred Fish @ Cygnus Support, from information published
in "UNIX System V Release 4, Programmers Guide: ANSI C and
37,6 → 37,31
#ifndef _ELF_INTERNAL_H
#define _ELF_INTERNAL_H
 
/* Special section indices, which may show up in st_shndx fields, among
other places. */
 
#undef SHN_UNDEF
#undef SHN_LORESERVE
#undef SHN_LOPROC
#undef SHN_HIPROC
#undef SHN_LOOS
#undef SHN_HIOS
#undef SHN_ABS
#undef SHN_COMMON
#undef SHN_XINDEX
#undef SHN_HIRESERVE
#define SHN_UNDEF 0 /* Undefined section reference */
#define SHN_LORESERVE (-0x100u) /* Begin range of reserved indices */
#define SHN_LOPROC (-0x100u) /* Begin range of appl-specific */
#define SHN_HIPROC (-0xE1u) /* End range of appl-specific */
#define SHN_LOOS (-0xE0u) /* OS specific semantics, lo */
#define SHN_HIOS (-0xC1u) /* OS specific semantics, hi */
#define SHN_ABS (-0xFu) /* Associated symbol is absolute */
#define SHN_COMMON (-0xEu) /* Associated symbol is in common */
#define SHN_XINDEX (-0x1u) /* Section index is held elsewhere */
#define SHN_HIRESERVE (-0x1u) /* End range of reserved indices */
#define SHN_BAD (-0x101u) /* Used internally by bfd */
 
/* ELF Header */
 
#define EI_NIDENT 16 /* Size of e_ident[] */
80,12 → 105,12
unsigned int sh_type; /* Type of section */
bfd_vma sh_flags; /* Miscellaneous section attributes */
bfd_vma sh_addr; /* Section virtual addr at execution */
file_ptr sh_offset; /* Section file offset */
bfd_size_type sh_size; /* Size of section in bytes */
unsigned int sh_link; /* Index of another section */
unsigned int sh_info; /* Additional section information */
bfd_vma sh_addralign; /* Section alignment */
bfd_size_type sh_entsize; /* Entry size if section holds table */
unsigned long sh_link; /* Index of another section */
unsigned long sh_info; /* Additional section information */
file_ptr sh_offset; /* Section file offset */
unsigned int sh_addralign; /* Section alignment */
 
/* The internal rep also has some cached info associated with it. */
asection * bfd_section; /* Associated BFD section. */
241,6 → 266,8
bfd_vma p_align;
/* Segment size in file and memory */
bfd_vma p_size;
/* Required size of filehdr + phdrs, if non-zero */
bfd_vma header_size;
/* Whether the p_flags field is valid; if not, the flags are based
on the section flags. */
unsigned int p_flags_valid : 1;
/elf/cr16c.h
1,5 → 1,5
/* CR16C ELF support for BFD.
Copyright 2004 Free Software Foundation, Inc.
Copyright 2004, 2008 Free Software Foundation, Inc.
 
This file is part of BFD, the Binary File Descriptor library.
 
246,8 → 246,8
values have a special meaning. */
 
/* Far common symbol. */
#define SHN_CR16C_FCOMMON 0xff00
#define SHN_CR16C_NCOMMON 0xff01
#define SHN_CR16C_FCOMMON SHN_LORESERVE
#define SHN_CR16C_NCOMMON (SHN_LORESERVE + 1)
 
typedef struct reloc_map
{
/elf/mep.h
1,5 → 1,5
/* Toshiba MeP ELF support for BFD.
Copyright (C) 2001, 2004, 2005 Free Software Foundation, Inc.
Copyright (C) 2001, 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
 
This file is part of BFD, the Binary File Descriptor library.
 
73,12 → 73,22
#define EF_MEP_CPU_C2 0x01000000 /* MEP c2 */
#define EF_MEP_CPU_C3 0x02000000 /* MEP c3 */
#define EF_MEP_CPU_C4 0x04000000 /* MEP c4 */
/* 5..7 are reseved */
#define EF_MEP_CPU_C5 0x08000000 /* MEP c5 */
#define EF_MEP_CPU_H1 0x10000000 /* MEP h1 */
 
#define EF_MEP_COP_MASK 0x00ff0000
#define EF_MEP_COP_NONE 0x00000000
#define EF_MEP_COP_AVC 0x00010000
#define EF_MEP_COP_AVC2 0x00020000
#define EF_MEP_COP_FMAX 0x00030000
/* 4..5 are reserved. */
#define EF_MEP_COP_IVC2 0x00060000
 
#define EF_MEP_LIBRARY 0x00000100 /* Built as a library */
 
#define EF_MEP_INDEX_MASK 0x000000ff /* Configuration index */
 
#define EF_MEP_ALL_FLAGS 0xff0001ff
#define EF_MEP_ALL_FLAGS 0xffff01ff
 
#endif /* _ELF_MEP_H */
/elf/external.h
1,6 → 1,6
/* ELF support for BFD.
Copyright 1991, 1992, 1993, 1995, 1997, 1998, 1999, 2001, 2003, 2005
Free Software Foundation, Inc.
Copyright 1991, 1992, 1993, 1995, 1997, 1998, 1999, 2001, 2003, 2005,
2008 Free Software Foundation, Inc.
 
Written by Fred Fish @ Cygnus Support, from information published
in "UNIX System V Release 4, Programmers Guide: ANSI C and
35,6 → 35,19
#ifndef _ELF_EXTERNAL_H
#define _ELF_EXTERNAL_H
 
/* Special section indices, which may show up in st_shndx fields, among
other places. */
 
#define SHN_LORESERVE 0xFF00 /* Begin range of reserved indices */
#define SHN_LOPROC 0xFF00 /* Begin range of appl-specific */
#define SHN_HIPROC 0xFF1F /* End range of appl-specific */
#define SHN_LOOS 0xFF20 /* OS specific semantics, lo */
#define SHN_HIOS 0xFF3F /* OS specific semantics, hi */
#define SHN_ABS 0xFFF1 /* Associated symbol is absolute */
#define SHN_COMMON 0xFFF2 /* Associated symbol is in common */
#define SHN_XINDEX 0xFFFF /* Section index is held elsewhere */
#define SHN_HIRESERVE 0xFFFF /* End range of reserved indices */
 
/* ELF Header (32-bit implementations) */
 
typedef struct {
/elf/m32r.h
1,5 → 1,6
/* M32R ELF support for BFD.
Copyright 1996, 1997, 1998, 1999, 2000, 2003, 2004 Free Software Foundation, Inc.
Copyright 1996, 1997, 1998, 1999, 2000, 2003, 2004, 2008
Free Software Foundation, Inc.
 
This file is part of BFD, the Binary File Descriptor library.
 
80,7 → 81,7
values have a special meaning. */
 
/* Small common symbol. */
#define SHN_M32R_SCOMMON 0xff00
#define SHN_M32R_SCOMMON SHN_LORESERVE
 
/* Processor specific section flags. */
 
/elf/m68k.h
1,5 → 1,6
/* MC68k ELF support for BFD.
Copyright 1998, 1999, 2000, 2002, 2005, 2006 Free Software Foundation, Inc.
Copyright 1998, 1999, 2000, 2002, 2005, 2006, 2007, 2009
Free Software Foundation, Inc.
 
This file is part of BFD, the Binary File Descriptor library.
 
50,6 → 51,25
/* These are GNU extensions to enable C++ vtable garbage collection. */
RELOC_NUMBER (R_68K_GNU_VTINHERIT, 23)
RELOC_NUMBER (R_68K_GNU_VTENTRY, 24)
/* TLS static relocations. */
RELOC_NUMBER (R_68K_TLS_GD32, 25)
RELOC_NUMBER (R_68K_TLS_GD16, 26)
RELOC_NUMBER (R_68K_TLS_GD8, 27)
RELOC_NUMBER (R_68K_TLS_LDM32, 28)
RELOC_NUMBER (R_68K_TLS_LDM16, 29)
RELOC_NUMBER (R_68K_TLS_LDM8, 30)
RELOC_NUMBER (R_68K_TLS_LDO32, 31)
RELOC_NUMBER (R_68K_TLS_LDO16, 32)
RELOC_NUMBER (R_68K_TLS_LDO8, 33)
RELOC_NUMBER (R_68K_TLS_IE32, 34)
RELOC_NUMBER (R_68K_TLS_IE16, 35)
RELOC_NUMBER (R_68K_TLS_IE8, 36)
RELOC_NUMBER (R_68K_TLS_LE32, 37)
RELOC_NUMBER (R_68K_TLS_LE16, 38)
RELOC_NUMBER (R_68K_TLS_LE8, 39)
RELOC_NUMBER (R_68K_TLS_DTPMOD32, 40)
RELOC_NUMBER (R_68K_TLS_DTPREL32, 41)
RELOC_NUMBER (R_68K_TLS_TPREL32, 42)
END_RELOC_NUMBERS (R_68K_max)
 
/* We use the top 24 bits to encode information about the
/elf/hppa.h
1,5 → 1,5
/* HPPA ELF support for BFD.
Copyright 1993, 1994, 1995, 1998, 1999, 2000, 2005, 2006
Copyright 1993, 1994, 1995, 1998, 1999, 2000, 2005, 2006, 2008
Free Software Foundation, Inc.
 
This file is part of BFD, the Binary File Descriptor library.
54,11 → 54,11
/* Special section indices. */
/* A symbol that has been declared as a tentative definition in an ANSI C
compilation. */
#define SHN_PARISC_ANSI_COMMON 0xff00
#define SHN_PARISC_ANSI_COMMON SHN_LORESERVE
 
/* A symbol that has been declared as a common block using the
huge memory model. */
#define SHN_PARISC_HUGE_COMMON 0xff01
#define SHN_PARISC_HUGE_COMMON (SHN_LORESERVE + 1)
 
/* Processor specific section types. */
 
/elf/common.h
1,6 → 1,6
/* ELF support for BFD.
Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
2001, 2002, 2003, 2004, 2005, 2006, 2007
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
Free Software Foundation, Inc.
 
Written by Fred Fish @ Cygnus Support, from information published
73,7 → 73,7
#define ELFOSABI_OPENBSD 12 /* OpenBSD */
#define ELFOSABI_OPENVMS 13 /* OpenVMS */
#define ELFOSABI_NSK 14 /* Hewlett-Packard Non-Stop Kernel */
#define ELFOSABI_AROS 15 /* Amiga Research OS */
#define ELFOSABI_AROS 15 /* AROS */
#define ELFOSABI_ARM 97 /* ARM */
#define ELFOSABI_STANDALONE 255 /* Standalone (embedded) application */
 
95,7 → 95,7
#define ET_HIPROC 0xFFFF /* Processor-specific */
 
/* Values for e_machine, which identifies the architecture. These numbers
are officially assigned by registry@caldera.com. See below for a list of
are officially assigned by registry@sco.com. See below for a list of
ad-hoc numbers used during initial development. */
 
#define EM_NONE 0 /* No machine */
109,9 → 109,12
#define EM_MIPS 8 /* MIPS R3000 (officially, big-endian only) */
#define EM_S370 9 /* IBM System/370 */
#define EM_MIPS_RS3_LE 10 /* MIPS R3000 little-endian (Oct 4 1999 Draft) Deprecated */
 
#define EM_res011 11 /* Reserved */
#define EM_res012 12 /* Reserved */
#define EM_res013 13 /* Reserved */
#define EM_res014 14 /* Reserved */
#define EM_PARISC 15 /* HPPA */
 
#define EM_res016 16 /* Reserved */
#define EM_VPP550 17 /* Fujitsu VPP500 */
#define EM_SPARC32PLUS 18 /* Sun's "v8plus" */
#define EM_960 19 /* Intel 80960 */
119,7 → 122,18
#define EM_PPC64 21 /* 64-bit PowerPC */
#define EM_S390 22 /* IBM S/390 */
#define EM_SPU 23 /* Sony/Toshiba/IBM SPU */
 
#define EM_res024 24 /* Reserved */
#define EM_res025 25 /* Reserved */
#define EM_res026 26 /* Reserved */
#define EM_res027 27 /* Reserved */
#define EM_res028 28 /* Reserved */
#define EM_res029 29 /* Reserved */
#define EM_res030 30 /* Reserved */
#define EM_res031 31 /* Reserved */
#define EM_res032 32 /* Reserved */
#define EM_res033 33 /* Reserved */
#define EM_res034 34 /* Reserved */
#define EM_res035 35 /* Reserved */
#define EM_V800 36 /* NEC V800 series */
#define EM_FR20 37 /* Fujitsu FR20 */
#define EM_RH32 38 /* TRW RH32 */
148,7 → 162,7
#define EM_ST100 60 /* STMicroelectronics ST100 processor */
#define EM_TINYJ 61 /* Advanced Logic Corp. TinyJ embedded processor */
#define EM_X86_64 62 /* Advanced Micro Devices X86-64 processor */
 
#define EM_PDSP 63 /* Sony DSP Processor */
#define EM_PDP10 64 /* Digital Equipment Corp. PDP-10 */
#define EM_PDP11 65 /* Digital Equipment Corp. PDP-11 */
#define EM_FX66 66 /* Siemens FX66 microcontroller */
180,14 → 194,103
#define EM_OPENRISC 92 /* OpenRISC 32-bit embedded processor */
#define EM_ARC_A5 93 /* ARC Cores Tangent-A5 */
#define EM_XTENSA 94 /* Tensilica Xtensa Architecture */
#define EM_VIDEOCORE 95 /* Alphamosaic VideoCore processor */
#define EM_TMM_GPP 96 /* Thompson Multimedia General Purpose Processor */
#define EM_NS32K 97 /* National Semiconductor 32000 series */
#define EM_TPC 98 /* Tenor Network TPC processor */
#define EM_SNP1K 99 /* Trebia SNP 1000 processor */
#define EM_ST200 100 /* STMicroelectronics ST200 microcontroller */
#define EM_IP2K 101 /* Ubicom IP2022 micro controller */
#define EM_MAX 102 /* MAX Processor */
#define EM_CR 103 /* National Semiconductor CompactRISC */
#define EM_F2MC16 104 /* Fujitsu F2MC16 */
#define EM_MSP430 105 /* TI msp430 micro controller */
#define EM_BLACKFIN 106 /* ADI Blackfin */
#define EM_SE_C33 107 /* S1C33 Family of Seiko Epson processors */
#define EM_SEP 108 /* Sharp embedded microprocessor */
#define EM_ARCA 109 /* Arca RISC Microprocessor */
#define EM_UNICORE 110 /* Microprocessor series from PKU-Unity Ltd. and MPRC of Peking University */
#define EM_EXCESS 111 /* eXcess: 16/32/64-bit configurable embedded CPU */
#define EM_DXP 112 /* Icera Semiconductor Inc. Deep Execution Processor */
#define EM_ALTERA_NIOS2 113 /* Altera Nios II soft-core processor */
#define EM_CRX 114 /* National Semiconductor CRX */
#define EM_CR16 115 /* National Semiconductor CompactRISC - CR16 */
#define EM_SCORE 135 /* Sunplus Score */
#define EM_XGATE 115 /* Motorola XGATE embedded processor */
#define EM_C166 116 /* Infineon C16x/XC16x processor */
#define EM_M16C 117 /* Renesas M16C series microprocessors */
#define EM_DSPIC30F 118 /* Microchip Technology dsPIC30F Digital Signal Controller */
#define EM_CE 119 /* Freescale Communication Engine RISC core */
#define EM_M32C 120 /* Renesas M32C series microprocessors */
#define EM_res121 121 /* Reserved */
#define EM_res122 122 /* Reserved */
#define EM_res123 123 /* Reserved */
#define EM_res124 124 /* Reserved */
#define EM_res125 125 /* Reserved */
#define EM_res126 126 /* Reserved */
#define EM_res127 127 /* Reserved */
#define EM_res128 128 /* Reserved */
#define EM_res129 129 /* Reserved */
#define EM_res130 130 /* Reserved */
#define EM_TSK3000 131 /* Altium TSK3000 core */
#define EM_RS08 132 /* Freescale RS08 embedded processor */
#define EM_res133 133 /* Reserved */
#define EM_ECOG2 134 /* Cyan Technology eCOG2 microprocessor */
#define EM_SCORE 135 /* Sunplus Score */
#define EM_SCORE7 135 /* Sunplus S+core7 RISC processor */
#define EM_DSP24 136 /* New Japan Radio (NJR) 24-bit DSP Processor */
#define EM_VIDEOCORE3 137 /* Broadcom VideoCore III processor */
#define EM_LATTICEMICO32 138 /* RISC processor for Lattice FPGA architecture */
#define EM_SE_C17 139 /* Seiko Epson C17 family */
#define EM_res140 140 /* Reserved */
#define EM_res141 141 /* Reserved */
#define EM_res142 142 /* Reserved */
#define EM_res143 143 /* Reserved */
#define EM_res144 144 /* Reserved */
#define EM_res145 145 /* Reserved */
#define EM_res146 146 /* Reserved */
#define EM_res147 147 /* Reserved */
#define EM_res148 148 /* Reserved */
#define EM_res149 149 /* Reserved */
#define EM_res150 150 /* Reserved */
#define EM_res151 151 /* Reserved */
#define EM_res152 152 /* Reserved */
#define EM_res153 153 /* Reserved */
#define EM_res154 154 /* Reserved */
#define EM_res155 155 /* Reserved */
#define EM_res156 156 /* Reserved */
#define EM_res157 157 /* Reserved */
#define EM_res158 158 /* Reserved */
#define EM_res159 159 /* Reserved */
#define EM_MMDSP_PLUS 160 /* STMicroelectronics 64bit VLIW Data Signal Processor */
#define EM_CYPRESS_M8C 161 /* Cypress M8C microprocessor */
#define EM_R32C 162 /* Renesas R32C series microprocessors */
#define EM_TRIMEDIA 163 /* NXP Semiconductors TriMedia architecture family */
#define EM_QDSP6 164 /* QUALCOMM DSP6 Processor */
#define EM_8051 165 /* Intel 8051 and variants */
#define EM_STXP7X 166 /* STMicroelectronics STxP7x family */
#define EM_NDS32 167 /* Andes Technology compact code size embedded RISC processor family */
#define EM_ECOG1 168 /* Cyan Technology eCOG1X family */
#define EM_ECOG1X 168 /* Cyan Technology eCOG1X family */
#define EM_MAXQ30 169 /* Dallas Semiconductor MAXQ30 Core Micro-controllers */
#define EM_XIMO16 170 /* New Japan Radio (NJR) 16-bit DSP Processor */
#define EM_MANIK 171 /* M2000 Reconfigurable RISC Microprocessor */
#define EM_CRAYNV2 172 /* Cray Inc. NV2 vector architecture */
#define EM_RX 173 /* Renesas RX family */
#define EM_METAG 174 /* Imagination Technologies META processor architecture */
#define EM_MCST_ELBRUS 175 /* MCST Elbrus general purpose hardware architecture */
#define EM_ECOG16 176 /* Cyan Technology eCOG16 family */
#define EM_CR16 177 /* National Semiconductor CompactRISC 16-bit processor */
#define EM_ETPU 178 /* Freescale Extended Time Processing Unit */
#define EM_SLE9X 179 /* Infineon Technologies SLE9X core */
#define EM_L1OM 180 /* Intel L1OM */
#define EM_INTEL181 181 /* Reserved by Intel */
#define EM_INTEL182 182 /* Reserved by Intel */
#define EM_res183 183 /* Reserved by ARM */
#define EM_res184 184 /* Reserved by ARM */
#define EM_AVR32 185 /* Atmel Corporation 32-bit microprocessor family */
#define EM_STM8 186 /* STMicroeletronics STM8 8-bit microcontroller */
#define EM_TILE64 187 /* Tilera TILE64 multicore architecture family */
#define EM_TILEPRO 188 /* Tilera TILEPro multicore architecture family */
#define EM_MICROBLAZE 189 /* Xilinx MicroBlaze 32-bit RISC soft processor core */
 
/* If it is necessary to assign new unofficial EM_* values, please pick large
random numbers (0x8523, 0xa7f2, etc.) to minimize the chances of collision
198,7 → 301,7
will have a collision. Instead, pick a random number.
 
Normally, each entity or maintainer responsible for a machine with an
unofficial e_machine number should eventually ask registry@caldera.com for
unofficial e_machine number should eventually ask registry@sco.com for
an officially blessed number to be added to the list above. */
 
/* Old version of Sparc v9, from before the ABI;
209,8 → 312,11
#define EM_PPC_OLD 17
 
/* picoJava */
#define EM_PJ_OLD 99
#define EM_PJ_OLD 99
 
/* Old, unofficial value for National Semiconductor CompactRISC - CR16 */
#define EM_CR16_OLD 115
 
/* AVR magic number. Written in the absense of an ABI. */
#define EM_AVR_OLD 0x1057
 
218,7 → 324,7
#define EM_MSP430_OLD 0x1059
 
/* Morpho MT. Written in the absense of an ABI. */
#define EM_MT 0x2530
#define EM_MT 0x2530
 
/* FR30 magic number - no EABI available. */
#define EM_CYGNUS_FR30 0x3330
233,7 → 339,7
#define EM_CYGNUS_FRV 0x5441
 
/* Infineon Technologies 16-bit microcontroller with C166-V2 core. */
#define EM_XC16X 0x4688
#define EM_XC16X 0x4688
 
/* D10V backend magic number. Written in the absence of an ABI. */
#define EM_CYGNUS_D10V 0x7650
248,7 → 354,7
#define EM_OR32 0x8472
 
/* Cygnus PowerPC ELF backend. Written in the absence of an ABI. */
#define EM_CYGNUS_POWERPC 0x9025
#define EM_CYGNUS_POWERPC 0x9025
 
/* Alpha backend magic number. Written in the absence of an ABI. */
#define EM_ALPHA 0x9026
273,7 → 379,7
#define EM_CYGNUS_MN10200 0xdead
 
/* Renesas M32C and M16C. */
#define EM_M32C 0xFEB0
#define EM_M32C_OLD 0xFEB0
 
/* Vitesse IQ2000. */
#define EM_IQ2000 0xFEBA
283,6 → 389,13
 
#define EM_CYGNUS_MEP 0xF00D /* Toshiba MeP */
 
#define EM_MOXIE 0xFEED /* Moxie */
 
/* Old Sunplus S+core7 backend magic number. Written in the absence of an ABI. */
#define EM_SCORE_OLD 95
 
#define EM_MICROBLAZE_OLD 0xbaab /* Old MicroBlaze */
 
/* See the above comment before you add a new EM_* value here. */
 
/* Values for e_version. */
343,6 → 456,7
#define SHT_LOOS 0x60000000 /* First of OS specific semantics */
#define SHT_HIOS 0x6fffffff /* Last of OS specific semantics */
 
#define SHT_GNU_INCREMENTAL_INPUTS 0x6fff4700 /* incremental build data */
#define SHT_GNU_ATTRIBUTES 0x6ffffff5 /* Object attributes */
#define SHT_GNU_HASH 0x6ffffff6 /* GNU style symbol hash table */
#define SHT_GNU_LIBLIST 0x6ffffff7 /* List of prelink dependencies */
392,6 → 506,8
/* note name must be "LINUX". */
#define NT_PPC_VMX 0x100 /* PowerPC Altivec/VMX registers */
/* note name must be "LINUX". */
#define NT_PPC_VSX 0x102 /* PowerPC VSX registers */
/* note name must be "LINUX". */
 
/* Note segments for core files on dir-style procfs systems. */
 
409,6 → 525,18
#define NT_NETBSDCORE_PROCINFO 1 /* Has a struct procinfo */
#define NT_NETBSDCORE_FIRSTMACH 32 /* start of machdep note types */
 
 
/* Note segments for core files on OpenBSD systems. Note name is
"OpenBSD". */
 
#define NT_OPENBSD_PROCINFO 10
#define NT_OPENBSD_AUXV 11
#define NT_OPENBSD_REGS 20
#define NT_OPENBSD_FPREGS 21
#define NT_OPENBSD_XFPREGS 22
#define NT_OPENBSD_WCOOKIE 23
 
 
/* Note segments for core files on SPU systems. Note name
must start with "SPU/". */
 
424,6 → 552,7
#define NT_GNU_ABI_TAG 1
#define NT_GNU_HWCAP 2 /* Used by ld.so and kernel vDSO. */
#define NT_GNU_BUILD_ID 3 /* Generated by ld --build-id. */
#define NT_GNU_GOLD_VERSION 4 /* Generated by gold. */
 
/* Values used in GNU .note.ABI-tag notes (NT_GNU_ABI_TAG). */
#define GNU_ABI_TAG_LINUX 0
478,9 → 607,10
#define STB_GLOBAL 1 /* Symbol visible outside obj */
#define STB_WEAK 2 /* Like globals, lower precedence */
#define STB_LOOS 10 /* OS-specific semantics */
#define STB_GNU_UNIQUE 10 /* Symbol is unique in namespace */
#define STB_HIOS 12 /* OS-specific semantics */
#define STB_LOPROC 13 /* Application-specific semantics */
#define STB_HIPROC 15 /* Application-specific semantics */
#define STB_LOPROC 13 /* Processor-specific semantics */
#define STB_HIPROC 15 /* Processor-specific semantics */
 
#define STT_NOTYPE 0 /* Symbol type is unspecified */
#define STT_OBJECT 1 /* Symbol is a data object */
489,28 → 619,14
#define STT_FILE 4 /* Symbol gives a file name */
#define STT_COMMON 5 /* An uninitialised common block */
#define STT_TLS 6 /* Thread local data object */
#define STT_RELC 8 /* Complex relocation expression */
#define STT_SRELC 9 /* Signed Complex relocation expression */
#define STT_RELC 8 /* Complex relocation expression */
#define STT_SRELC 9 /* Signed Complex relocation expression */
#define STT_LOOS 10 /* OS-specific semantics */
#define STT_GNU_IFUNC 10 /* Symbol is an indirect code object */
#define STT_HIOS 12 /* OS-specific semantics */
#define STT_LOPROC 13 /* Application-specific semantics */
#define STT_HIPROC 15 /* Application-specific semantics */
#define STT_LOPROC 13 /* Processor-specific semantics */
#define STT_HIPROC 15 /* Processor-specific semantics */
 
/* Special section indices, which may show up in st_shndx fields, among
other places. */
 
#define SHN_UNDEF 0 /* Undefined section reference */
#define SHN_LORESERVE 0xFF00 /* Begin range of reserved indices */
#define SHN_LOPROC 0xFF00 /* Begin range of appl-specific */
#define SHN_HIPROC 0xFF1F /* End range of appl-specific */
#define SHN_LOOS 0xFF20 /* OS specific semantics, lo */
#define SHN_HIOS 0xFF3F /* OS specific semantics, hi */
#define SHN_ABS 0xFFF1 /* Associated symbol is absolute */
#define SHN_COMMON 0xFFF2 /* Associated symbol is in common */
#define SHN_XINDEX 0xFFFF /* Section index is held elsewhere */
#define SHN_HIRESERVE 0xFFFF /* End range of reserved indices */
#define SHN_BAD ((unsigned) -1) /* Used internally by bfd */
 
/* The following constants control how a symbol may be accessed once it has
become part of an executable or shared library. */
 
577,10 → 693,12
#define DT_LOPROC 0x70000000
#define DT_HIPROC 0x7fffffff
 
/* The next four dynamic tags are used on Solaris. We support them
everywhere. Note these values lie outside of the (new) range for
OS specific values. This is a deliberate special case and we
maintain it for backwards compatability. */
/* The next 2 dynamic tag ranges, integer value range (DT_VALRNGLO to
DT_VALRNGHI) and virtual address range (DT_ADDRRNGLO to DT_ADDRRNGHI),
are used on Solaris. We support them everywhere. Note these values
lie outside of the (new) range for OS specific values. This is a
deliberate special case and we maintain it for backwards compatability.
*/
#define DT_VALRNGLO 0x6ffffd00
#define DT_GNU_PRELINKED 0x6ffffdf5
#define DT_GNU_CONFLICTSZ 0x6ffffdf6
759,6 → 877,10
#define AT_UCACHEBSIZE 21 /* Unified cache block size. */
#define AT_IGNOREPPC 22 /* Entry should be ignored */
#define AT_SECURE 23 /* Boolean, was exec setuid-like? */
#define AT_BASE_PLATFORM 24 /* String identifying real platform,
may differ from AT_PLATFORM. */
#define AT_RANDOM 25 /* Address of 16 random bytes. */
#define AT_EXECFN 31 /* Filename of executable. */
/* Pointer to the global system page used for system calls and other
nice things. */
#define AT_SYSINFO 32
/ansidecl.h
1,5 → 1,6
/* ANSI and traditional C compatability macros
Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
2002, 2003, 2004, 2005, 2006, 2007, 2009
Free Software Foundation, Inc.
This file is part of the GNU C Library.
 
114,6 → 115,10
#ifndef _ANSIDECL_H
#define _ANSIDECL_H 1
 
#ifdef __cplusplus
extern "C" {
#endif
 
/* Every source file includes this file,
so they will all get the switch for lint. */
/* LINTLIBRARY */
136,7 → 141,7
#define GCC_VERSION (__GNUC__ * 1000 + __GNUC_MINOR__)
#endif /* GCC_VERSION */
 
#if defined (__STDC__) || defined (_AIX) || (defined (__mips) && defined (_SYSTYPE_SVR4)) || defined(_WIN32) || (defined(__alpha) && defined(__cplusplus))
#if defined (__STDC__) || defined(__cplusplus) || defined (_AIX) || (defined (__mips) && defined (_SYSTYPE_SVR4)) || defined(_WIN32)
/* All known AIX compilers implement these things (but don't always
define __STDC__). The RISC/OS MIPS compiler defines these things
in SVR4 mode, but does not define __STDC__. */
173,7 → 178,7
/* inline requires special treatment; it's in C99, and GCC >=2.7 supports
it too, but it's not in C89. */
#undef inline
#if __STDC_VERSION__ > 199901L
#if __STDC_VERSION__ > 199901L || defined(__cplusplus)
/* it's a keyword */
#else
# if GCC_VERSION >= 2007
256,14 → 261,23
# endif /* GNUC >= 2.96 */
#endif /* ATTRIBUTE_MALLOC */
 
/* Attributes on labels were valid as of gcc 2.93. */
/* Attributes on labels were valid as of gcc 2.93 and g++ 4.5. For
g++ an attribute on a label must be followed by a semicolon. */
#ifndef ATTRIBUTE_UNUSED_LABEL
# if (!defined (__cplusplus) && GCC_VERSION >= 2093)
# define ATTRIBUTE_UNUSED_LABEL ATTRIBUTE_UNUSED
# ifndef __cplusplus
# if GCC_VERSION >= 2093
# define ATTRIBUTE_UNUSED_LABEL ATTRIBUTE_UNUSED
# else
# define ATTRIBUTE_UNUSED_LABEL
# endif
# else
# define ATTRIBUTE_UNUSED_LABEL
# endif /* !__cplusplus && GNUC >= 2.93 */
#endif /* ATTRIBUTE_UNUSED_LABEL */
# if GCC_VERSION >= 4005
# define ATTRIBUTE_UNUSED_LABEL ATTRIBUTE_UNUSED ;
# else
# define ATTRIBUTE_UNUSED_LABEL
# endif
# endif
#endif
 
#ifndef ATTRIBUTE_UNUSED
#define ATTRIBUTE_UNUSED __attribute__ ((__unused__))
390,4 → 404,20
#define __extension__
#endif
 
/* This is used to declare a const variable which should be visible
outside of the current compilation unit. Use it as
EXPORTED_CONST int i = 1;
This is because the semantics of const are different in C and C++.
"extern const" is permitted in C but it looks strange, and gcc
warns about it when -Wc++-compat is not used. */
#ifdef __cplusplus
#define EXPORTED_CONST extern const
#else
#define EXPORTED_CONST const
#endif
 
#ifdef __cplusplus
}
#endif
 
#endif /* ansidecl.h */
/aout/stab.def
53,6 → 53,10
/* Solaris2: Read-only data symbols. */
__define_stab (N_ROSYM, 0x2c, "ROSYM")
 
/* MacOS X:
The beginning of a relocatable function block - including stabs. */
__define_stab (N_BNSYM, 0x2e, "BNSYM")
 
/* Global symbol in Pascal.
Supposedly the value is its line number; I'm skeptical. */
__define_stab (N_PC, 0x30, "PC")
106,6 → 110,9
/* New in Solaris2. Function start/body/end line numbers. */
__define_stab(N_FLINE, 0x4C, "FLINE")
 
/* MacOS X: This tells the end of a relocatable function + debugging info. */
__define_stab(N_ENSYM, 0x4E, "ENSYM")
 
/* THE FOLLOWING TWO STAB VALUES CONFLICT. Happily, one is for Modula-2
and one is for C++. Still,... */
/* GNU C++ exception variable. Name is variable name. */
136,6 → 143,10
 
__define_stab (N_SO, 0x64, "SO")
 
/* Apple: This is the stab that associated the .o file with the
N_SO stab, in the case where debug info is mostly stored in the .o file. */
__define_stab (N_OSO, 0x66, "OSO")
 
/* SunPro F77: Name of alias. */
__define_stab (N_ALIAS, 0x6c, "ALIAS")
 
/aout/ChangeLog
1,3 → 1,15
2008-08-28 Tristan Gingold <gingold@adacore.com>
 
* stab.def: Add BNSYM, ENSYM, OSO for darwin.
 
2008-03-27 Cary Coutant <ccoutant@google.com>
 
* ar.h (ARMAGT): New magic string for thin archives.
 
2005-08-18 Alan Modra <amodra@bigpond.net.au>
 
* encap.h: Remove a29k support.
 
2005-05-10 Nick Clifton <nickc@redhat.com>
 
* Update the address and phone number of the FSF organization in
/aout/ar.h
1,6 → 1,6
/* archive file definition for GNU software
 
Copyright 2001 Free Software Foundation, Inc.
Copyright 2001, 2008 Free Software Foundation, Inc.
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
26,8 → 26,9
characters, as allowed by ANSI. '\012' has a fixed value, and remains
compatible with existing BSDish archives. */
 
#define ARMAG "!<arch>\012" /* For COFF and a.out archives */
#define ARMAGB "!<bout>\012" /* For b.out archives */
#define ARMAG "!<arch>\012" /* For COFF and a.out archives. */
#define ARMAGB "!<bout>\012" /* For b.out archives. */
#define ARMAGT "!<thin>\012" /* For thin archives. */
#define SARMAG 8
#define ARFMAG "`\012"
 
39,14 → 40,15
 
#define ARMAP_TIME_OFFSET 60
 
struct ar_hdr {
char ar_name[16]; /* name of this member */
char ar_date[12]; /* file mtime */
char ar_uid[6]; /* owner uid; printed as decimal */
char ar_gid[6]; /* owner gid; printed as decimal */
char ar_mode[8]; /* file mode, printed as octal */
char ar_size[10]; /* file size, printed as decimal */
char ar_fmag[2]; /* should contain ARFMAG */
struct ar_hdr
{
char ar_name[16]; /* Name of this member. */
char ar_date[12]; /* File mtime. */
char ar_uid[6]; /* Owner uid; printed as decimal. */
char ar_gid[6]; /* Owner gid; printed as decimal. */
char ar_mode[8]; /* File mode, printed as octal. */
char ar_size[10]; /* File size, printed as decimal. */
char ar_fmag[2]; /* Should contain ARFMAG. */
};
 
#endif /* __GNU_AR_H__ */
/opcode/i386.h
1,6 → 1,6
/* opcode/i386.h -- Intel 80386 opcode macros
Copyright 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
Free Software Foundation, Inc.
 
This file is part of GAS, the GNU Assembler, and GDB, the GNU Debugger.
35,6 → 35,9
 
The affected opcode map is dceX, dcfX, deeX, defX. */
 
#ifndef OPCODE_I386_H
#define OPCODE_I386_H
 
#ifndef SYSV386_COMPAT
/* Set non-zero for broken, compatible instructions. Set to zero for
non-broken opcodes at your peril. gcc generates SystemV/386
56,6 → 59,11
/* The opcode for the fwait instruction, which disassembler treats as a
prefix when it can. */
#define FWAIT_OPCODE 0x9b
 
/* Instruction prefixes.
NOTE: For certain SSE* instructions, 0x66,0xf2,0xf3 are treated as
part of the opcode. Other prefixes may still appear between them
and the 0x0f part of the opcode. */
#define ADDR_PREFIX_OPCODE 0x67
#define DATA_PREFIX_OPCODE 0x66
#define LOCK_PREFIX_OPCODE 0xf0
72,8 → 80,14
#define NOP_OPCODE (char) 0x90
 
/* register numbers */
#define EAX_REG_NUM 0
#define ECX_REG_NUM 1
#define EDX_REG_NUM 2
#define EBX_REG_NUM 3
#define ESP_REG_NUM 4
#define EBP_REG_NUM 5
#define ESP_REG_NUM 4
#define ESI_REG_NUM 6
#define EDI_REG_NUM 7
 
/* modrm_byte.regmem for twobyte escape */
#define ESCAPE_TO_TWO_BYTE_ADDRESSING ESP_REG_NUM
87,9 → 101,22
#define REGMEM_FIELD_HAS_REG 0x3/* always = 0x3 */
#define REGMEM_FIELD_HAS_MEM (~REGMEM_FIELD_HAS_REG)
 
/* Extract fields from the mod/rm byte. */
#define MODRM_MOD_FIELD(modrm) (((modrm) >> 6) & 3)
#define MODRM_REG_FIELD(modrm) (((modrm) >> 3) & 7)
#define MODRM_RM_FIELD(modrm) (((modrm) >> 0) & 7)
 
/* Extract fields from the sib byte. */
#define SIB_SCALE_FIELD(sib) (((sib) >> 6) & 3)
#define SIB_INDEX_FIELD(sib) (((sib) >> 3) & 7)
#define SIB_BASE_FIELD(sib) (((sib) >> 0) & 7)
 
/* x86-64 extension prefix. */
#define REX_OPCODE 0x40
 
/* Non-zero if OPCODE is the rex prefix. */
#define REX_PREFIX_P(opcode) (((opcode) & 0xf0) == REX_OPCODE)
 
/* Indicates 64 bit operand size. */
#define REX_W 8
/* High extension to reg field of modrm byte. */
100,7 → 127,7
#define REX_B 1
 
/* max operands per insn */
#define MAX_OPERANDS 4
#define MAX_OPERANDS 5
 
/* max immediates per insn (lcall, ljmp, insertq, extrq) */
#define MAX_IMMEDIATE_OPERANDS 2
109,7 → 136,9
#define MAX_MEMORY_OPERANDS 2
 
/* max size of insn mnemonics. */
#define MAX_MNEM_SIZE 16
#define MAX_MNEM_SIZE 20
 
/* max size of register name in insn mnemonics. */
#define MAX_REG_NAME_SIZE 8
 
#endif /* OPCODE_I386_H */
/opcode/h8300.h
1,6 → 1,6
/* Opcode table for the H8/300
Copyright 1991, 1992, 1993, 1994, 1996, 1997, 1998, 2000, 2001, 2002,
2003, 2004
2003, 2004, 2005, 2008, 2009
Free Software Foundation, Inc.
Written by Steve Chamberlain <sac@cygnus.com>.
1519,6 → 1519,7
{O (O_MOV, SL), AV_H8H, 6, "mov.l", {{RS32, DISP16DST, E}}, {{PREFIX_0100, 0x6, 0xf, B31 | DSTDISPREG, RS32, DSTDISP16LIST, E}}},
{O (O_MOV, SL), AV_H8SX, 6, "mov.l", {{RS32, DISP32DST, E}}, {{0x7, 0x8, B31 | DSTDISPREG, 0x0, 0x6, 0xb, 0xa, RS32, DSTDISP32LIST, E}}},
{O (O_MOV, SL), AV_H8H, 6, "mov.l", {{RS32, DISP32DST, E}}, {{PREFIX_0100, 0x7, 0x8, B31 | DSTDISPREG, 0x0, 0x6, 0xb, 0xa, RS32, DSTDISP32LIST, E}}},
{O (O_MOV, SL), AV_H8H, 6, "mov.l", {{RS32, DISP32DST, E}}, {{PREFIX_0100, 0x7, 0x8, DSTDISPREG, 0x0, 0x6, 0xb, 0xa, RS32, DSTDISP32LIST, E}}},
{O (O_MOV, SL), AV_H8SX, 0, "mov.l", {{RS32, INDEXB16D, E}}, {{PREFIX_0101, 0x6, 0xf, B31 | DSTDISPREG, RS32, DSTDISP16LIST, E}}},
{O (O_MOV, SL), AV_H8SX, 0, "mov.l", {{RS32, INDEXW16D, E}}, {{PREFIX_0102, 0x6, 0xf, B31 | DSTDISPREG, RS32, DSTDISP16LIST, E}}},
{O (O_MOV, SL), AV_H8SX, 0, "mov.l", {{RS32, INDEXL16D, E}}, {{PREFIX_0103, 0x6, 0xf, B31 | DSTDISPREG, RS32, DSTDISP16LIST, E}}},
1564,62 → 1565,62
MOVFROM_AD (O (O_MOV, SL), PREFIX_0108, "mov.l", ABS32SRC, FROM_ABS32, ABS32LIST),
 
#define DO_MOVA1(TYPE, OP0, OP1) \
{O (O_MOVAB, SL), AV_H8SX, 0, "mova/b.l", {{INDEXB16, TYPE, R3_32}}, {{PREFIX_017F, OP0, OP1, 0x8, B30 | R3_32, DISP16LIST, E}}}, \
{O (O_MOVAB, SL), AV_H8SX, 0, "mova/b.l", {{INDEXW16, TYPE, R3_32}}, {{PREFIX_015F, OP0, OP1, 0x9, B30 | R3_32, DISP16LIST, E}}}, \
{O (O_MOVAW, SL), AV_H8SX, 0, "mova/w.l", {{INDEXB16, TYPE, R3_32}}, {{PREFIX_017F, OP0, OP1, 0xA, B30 | R3_32, DISP16LIST, E}}}, \
{O (O_MOVAW, SL), AV_H8SX, 0, "mova/w.l", {{INDEXW16, TYPE, R3_32}}, {{PREFIX_015F, OP0, OP1, 0xB, B30 | R3_32, DISP16LIST, E}}}, \
{O (O_MOVAL, SL), AV_H8SX, 0, "mova/l.l", {{INDEXB16, TYPE, R3_32}}, {{PREFIX_017F, OP0, OP1, 0xC, B30 | R3_32, DISP16LIST, E}}}, \
{O (O_MOVAL, SL), AV_H8SX, 0, "mova/l.l", {{INDEXW16, TYPE, R3_32}}, {{PREFIX_015F, OP0, OP1, 0xD, B30 | R3_32, DISP16LIST, E}}}, \
{O (O_MOVAB, SL), AV_H8SX, 0, "mova/b.l", {{INDEXB16, TYPE, R3_32}}, {{PREFIX_017F, OP0, OP1, 0x8, B30 | R3_32, MEMRELAX | DISP16LIST, E}}}, \
{O (O_MOVAB, SL), AV_H8SX, 0, "mova/b.l", {{INDEXW16, TYPE, R3_32}}, {{PREFIX_015F, OP0, OP1, 0x9, B30 | R3_32, MEMRELAX | DISP16LIST, E}}}, \
{O (O_MOVAW, SL), AV_H8SX, 0, "mova/w.l", {{INDEXB16, TYPE, R3_32}}, {{PREFIX_017F, OP0, OP1, 0xA, B30 | R3_32, MEMRELAX | DISP16LIST, E}}}, \
{O (O_MOVAW, SL), AV_H8SX, 0, "mova/w.l", {{INDEXW16, TYPE, R3_32}}, {{PREFIX_015F, OP0, OP1, 0xB, B30 | R3_32, MEMRELAX | DISP16LIST, E}}}, \
{O (O_MOVAL, SL), AV_H8SX, 0, "mova/l.l", {{INDEXB16, TYPE, R3_32}}, {{PREFIX_017F, OP0, OP1, 0xC, B30 | R3_32, MEMRELAX | DISP16LIST, E}}}, \
{O (O_MOVAL, SL), AV_H8SX, 0, "mova/l.l", {{INDEXW16, TYPE, R3_32}}, {{PREFIX_015F, OP0, OP1, 0xD, B30 | R3_32, MEMRELAX | DISP16LIST, E}}}, \
\
{O (O_MOVAB, SL), AV_H8SX, 0, "mova/b.l", {{INDEXB32, TYPE, R3_32}}, {{PREFIX_017F, OP0, OP1, 0x8, B31 | R3_32, DISP32LIST, E}}}, \
{O (O_MOVAB, SL), AV_H8SX, 0, "mova/b.l", {{INDEXW32, TYPE, R3_32}}, {{PREFIX_015F, OP0, OP1, 0x9, B31 | R3_32, DISP32LIST, E}}}, \
{O (O_MOVAW, SL), AV_H8SX, 0, "mova/w.l", {{INDEXB32, TYPE, R3_32}}, {{PREFIX_017F, OP0, OP1, 0xA, B31 | R3_32, DISP32LIST, E}}}, \
{O (O_MOVAW, SL), AV_H8SX, 0, "mova/w.l", {{INDEXW32, TYPE, R3_32}}, {{PREFIX_015F, OP0, OP1, 0xB, B31 | R3_32, DISP32LIST, E}}}, \
{O (O_MOVAL, SL), AV_H8SX, 0, "mova/l.l", {{INDEXB32, TYPE, R3_32}}, {{PREFIX_017F, OP0, OP1, 0xC, B31 | R3_32, DISP32LIST, E}}}, \
{O (O_MOVAL, SL), AV_H8SX, 0, "mova/l.l", {{INDEXW32, TYPE, R3_32}}, {{PREFIX_015F, OP0, OP1, 0xD, B31 | R3_32, DISP32LIST, E}}}
{O (O_MOVAB, SL), AV_H8SX, 0, "mova/b.l", {{INDEXB32, TYPE, R3_32}}, {{PREFIX_017F, OP0, OP1, 0x8, B31 | R3_32, MEMRELAX | DISP32LIST, E}}}, \
{O (O_MOVAB, SL), AV_H8SX, 0, "mova/b.l", {{INDEXW32, TYPE, R3_32}}, {{PREFIX_015F, OP0, OP1, 0x9, B31 | R3_32, MEMRELAX | DISP32LIST, E}}}, \
{O (O_MOVAW, SL), AV_H8SX, 0, "mova/w.l", {{INDEXB32, TYPE, R3_32}}, {{PREFIX_017F, OP0, OP1, 0xA, B31 | R3_32, MEMRELAX | DISP32LIST, E}}}, \
{O (O_MOVAW, SL), AV_H8SX, 0, "mova/w.l", {{INDEXW32, TYPE, R3_32}}, {{PREFIX_015F, OP0, OP1, 0xB, B31 | R3_32, MEMRELAX | DISP32LIST, E}}}, \
{O (O_MOVAL, SL), AV_H8SX, 0, "mova/l.l", {{INDEXB32, TYPE, R3_32}}, {{PREFIX_017F, OP0, OP1, 0xC, B31 | R3_32, MEMRELAX | DISP32LIST, E}}}, \
{O (O_MOVAL, SL), AV_H8SX, 0, "mova/l.l", {{INDEXW32, TYPE, R3_32}}, {{PREFIX_015F, OP0, OP1, 0xD, B31 | R3_32, MEMRELAX | DISP32LIST, E}}}
 
#define DO_MOVA2(TYPE, OP0, OP1, OP2) \
{O (O_MOVAB, SL), AV_H8SX, 0, "mova/b.l", {{INDEXB16, TYPE, R3_32}}, {{PREFIX_017F, OP0, OP1, 0x8, B30 | R3_32, OP2, DISP16LIST, E}}}, \
{O (O_MOVAB, SL), AV_H8SX, 0, "mova/b.l", {{INDEXW16, TYPE, R3_32}}, {{PREFIX_015F, OP0, OP1, 0x9, B30 | R3_32, OP2, DISP16LIST, E}}}, \
{O (O_MOVAW, SL), AV_H8SX, 0, "mova/w.l", {{INDEXB16, TYPE, R3_32}}, {{PREFIX_017F, OP0, OP1, 0xA, B30 | R3_32, OP2, DISP16LIST, E}}}, \
{O (O_MOVAW, SL), AV_H8SX, 0, "mova/w.l", {{INDEXW16, TYPE, R3_32}}, {{PREFIX_015F, OP0, OP1, 0xB, B30 | R3_32, OP2, DISP16LIST, E}}}, \
{O (O_MOVAL, SL), AV_H8SX, 0, "mova/l.l", {{INDEXB16, TYPE, R3_32}}, {{PREFIX_017F, OP0, OP1, 0xC, B30 | R3_32, OP2, DISP16LIST, E}}}, \
{O (O_MOVAL, SL), AV_H8SX, 0, "mova/l.l", {{INDEXW16, TYPE, R3_32}}, {{PREFIX_015F, OP0, OP1, 0xD, B30 | R3_32, OP2, DISP16LIST, E}}}, \
{O (O_MOVAB, SL), AV_H8SX, 0, "mova/b.l", {{INDEXB16, TYPE, R3_32}}, {{PREFIX_017F, OP0, OP1, 0x8, B30 | R3_32, OP2, MEMRELAX | DISP16LIST, E}}}, \
{O (O_MOVAB, SL), AV_H8SX, 0, "mova/b.l", {{INDEXW16, TYPE, R3_32}}, {{PREFIX_015F, OP0, OP1, 0x9, B30 | R3_32, OP2, MEMRELAX | DISP16LIST, E}}}, \
{O (O_MOVAW, SL), AV_H8SX, 0, "mova/w.l", {{INDEXB16, TYPE, R3_32}}, {{PREFIX_017F, OP0, OP1, 0xA, B30 | R3_32, OP2, MEMRELAX | DISP16LIST, E}}}, \
{O (O_MOVAW, SL), AV_H8SX, 0, "mova/w.l", {{INDEXW16, TYPE, R3_32}}, {{PREFIX_015F, OP0, OP1, 0xB, B30 | R3_32, OP2, MEMRELAX | DISP16LIST, E}}}, \
{O (O_MOVAL, SL), AV_H8SX, 0, "mova/l.l", {{INDEXB16, TYPE, R3_32}}, {{PREFIX_017F, OP0, OP1, 0xC, B30 | R3_32, OP2, MEMRELAX | DISP16LIST, E}}}, \
{O (O_MOVAL, SL), AV_H8SX, 0, "mova/l.l", {{INDEXW16, TYPE, R3_32}}, {{PREFIX_015F, OP0, OP1, 0xD, B30 | R3_32, OP2, MEMRELAX | DISP16LIST, E}}}, \
\
{O (O_MOVAB, SL), AV_H8SX, 0, "mova/b.l", {{INDEXB32, TYPE, R3_32}}, {{PREFIX_017F, OP0, OP1, 0x8, B31 | R3_32, OP2, DISP32LIST, E}}}, \
{O (O_MOVAB, SL), AV_H8SX, 0, "mova/b.l", {{INDEXW32, TYPE, R3_32}}, {{PREFIX_015F, OP0, OP1, 0x9, B31 | R3_32, OP2, DISP32LIST, E}}}, \
{O (O_MOVAW, SL), AV_H8SX, 0, "mova/w.l", {{INDEXB32, TYPE, R3_32}}, {{PREFIX_017F, OP0, OP1, 0xA, B31 | R3_32, OP2, DISP32LIST, E}}}, \
{O (O_MOVAW, SL), AV_H8SX, 0, "mova/w.l", {{INDEXW32, TYPE, R3_32}}, {{PREFIX_015F, OP0, OP1, 0xB, B31 | R3_32, OP2, DISP32LIST, E}}}, \
{O (O_MOVAL, SL), AV_H8SX, 0, "mova/l.l", {{INDEXB32, TYPE, R3_32}}, {{PREFIX_017F, OP0, OP1, 0xC, B31 | R3_32, OP2, DISP32LIST, E}}}, \
{O (O_MOVAL, SL), AV_H8SX, 0, "mova/l.l", {{INDEXW32, TYPE, R3_32}}, {{PREFIX_015F, OP0, OP1, 0xD, B31 | R3_32, OP2, DISP32LIST, E}}}
{O (O_MOVAB, SL), AV_H8SX, 0, "mova/b.l", {{INDEXB32, TYPE, R3_32}}, {{PREFIX_017F, OP0, OP1, 0x8, B31 | R3_32, OP2, MEMRELAX | DISP32LIST, E}}}, \
{O (O_MOVAB, SL), AV_H8SX, 0, "mova/b.l", {{INDEXW32, TYPE, R3_32}}, {{PREFIX_015F, OP0, OP1, 0x9, B31 | R3_32, OP2, MEMRELAX | DISP32LIST, E}}}, \
{O (O_MOVAW, SL), AV_H8SX, 0, "mova/w.l", {{INDEXB32, TYPE, R3_32}}, {{PREFIX_017F, OP0, OP1, 0xA, B31 | R3_32, OP2, MEMRELAX | DISP32LIST, E}}}, \
{O (O_MOVAW, SL), AV_H8SX, 0, "mova/w.l", {{INDEXW32, TYPE, R3_32}}, {{PREFIX_015F, OP0, OP1, 0xB, B31 | R3_32, OP2, MEMRELAX | DISP32LIST, E}}}, \
{O (O_MOVAL, SL), AV_H8SX, 0, "mova/l.l", {{INDEXB32, TYPE, R3_32}}, {{PREFIX_017F, OP0, OP1, 0xC, B31 | R3_32, OP2, MEMRELAX | DISP32LIST, E}}}, \
{O (O_MOVAL, SL), AV_H8SX, 0, "mova/l.l", {{INDEXW32, TYPE, R3_32}}, {{PREFIX_015F, OP0, OP1, 0xD, B31 | R3_32, OP2, MEMRELAX | DISP32LIST, E}}}
 
{O (O_MOVAB, SL), AV_H8SX, 0, "mova/b.l", {{INDEXB16, E}}, {{0x7, 0xA, 0x8, B31 | DISPREG, DISP16LIST, E}}},
{O (O_MOVAB, SL), AV_H8SX, 0, "mova/b.l", {{INDEXW16, E}}, {{0x7, 0xA, 0x9, B31 | DISPREG, DISP16LIST, E}}},
{O (O_MOVAW, SL), AV_H8SX, 0, "mova/w.l", {{INDEXB16, E}}, {{0x7, 0xA, 0xA, B31 | DISPREG, DISP16LIST, E}}},
{O (O_MOVAW, SL), AV_H8SX, 0, "mova/w.l", {{INDEXW16, E}}, {{0x7, 0xA, 0xB, B31 | DISPREG, DISP16LIST, E}}},
{O (O_MOVAL, SL), AV_H8SX, 0, "mova/l.l", {{INDEXB16, E}}, {{0x7, 0xA, 0xC, B31 | DISPREG, DISP16LIST, E}}},
{O (O_MOVAL, SL), AV_H8SX, 0, "mova/l.l", {{INDEXW16, E}}, {{0x7, 0xA, 0xD, B31 | DISPREG, DISP16LIST, E}}},
{O (O_MOVAB, SL), AV_H8SX, 0, "mova/b.l", {{INDEXB16, E}}, {{0x7, 0xA, 0x8, B31 | DISPREG, MEMRELAX | DISP16LIST, E}}},
{O (O_MOVAB, SL), AV_H8SX, 0, "mova/b.l", {{INDEXW16, E}}, {{0x7, 0xA, 0x9, B31 | DISPREG, MEMRELAX | DISP16LIST, E}}},
{O (O_MOVAW, SL), AV_H8SX, 0, "mova/w.l", {{INDEXB16, E}}, {{0x7, 0xA, 0xA, B31 | DISPREG, MEMRELAX | DISP16LIST, E}}},
{O (O_MOVAW, SL), AV_H8SX, 0, "mova/w.l", {{INDEXW16, E}}, {{0x7, 0xA, 0xB, B31 | DISPREG, MEMRELAX | DISP16LIST, E}}},
{O (O_MOVAL, SL), AV_H8SX, 0, "mova/l.l", {{INDEXB16, E}}, {{0x7, 0xA, 0xC, B31 | DISPREG, MEMRELAX | DISP16LIST, E}}},
{O (O_MOVAL, SL), AV_H8SX, 0, "mova/l.l", {{INDEXW16, E}}, {{0x7, 0xA, 0xD, B31 | DISPREG, MEMRELAX | DISP16LIST, E}}},
 
{O (O_MOVAB, SL), AV_H8SX, 0, "mova/b.l", {{INDEXB32, E}}, {{0x7, 0xA, 0x8, B30 | DISPREG, DISP32LIST, E}}},
{O (O_MOVAB, SL), AV_H8SX, 0, "mova/b.l", {{INDEXW32, E}}, {{0x7, 0xA, 0x9, B30 | DISPREG, DISP32LIST, E}}},
{O (O_MOVAW, SL), AV_H8SX, 0, "mova/w.l", {{INDEXB32, E}}, {{0x7, 0xA, 0xA, B30 | DISPREG, DISP32LIST, E}}},
{O (O_MOVAW, SL), AV_H8SX, 0, "mova/w.l", {{INDEXW32, E}}, {{0x7, 0xA, 0xB, B30 | DISPREG, DISP32LIST, E}}},
{O (O_MOVAL, SL), AV_H8SX, 0, "mova/l.l", {{INDEXB32, E}}, {{0x7, 0xA, 0xC, B30 | DISPREG, DISP32LIST, E}}},
{O (O_MOVAL, SL), AV_H8SX, 0, "mova/l.l", {{INDEXW32, E}}, {{0x7, 0xA, 0xD, B30 | DISPREG, DISP32LIST, E}}},
{O (O_MOVAB, SL), AV_H8SX, 0, "mova/b.l", {{INDEXB32, E}}, {{0x7, 0xA, 0x8, B30 | DISPREG, MEMRELAX | DISP32LIST, E}}},
{O (O_MOVAB, SL), AV_H8SX, 0, "mova/b.l", {{INDEXW32, E}}, {{0x7, 0xA, 0x9, B30 | DISPREG, MEMRELAX | DISP32LIST, E}}},
{O (O_MOVAW, SL), AV_H8SX, 0, "mova/w.l", {{INDEXB32, E}}, {{0x7, 0xA, 0xA, B30 | DISPREG, MEMRELAX | DISP32LIST, E}}},
{O (O_MOVAW, SL), AV_H8SX, 0, "mova/w.l", {{INDEXW32, E}}, {{0x7, 0xA, 0xB, B30 | DISPREG, MEMRELAX | DISP32LIST, E}}},
{O (O_MOVAL, SL), AV_H8SX, 0, "mova/l.l", {{INDEXB32, E}}, {{0x7, 0xA, 0xC, B30 | DISPREG, MEMRELAX | DISP32LIST, E}}},
{O (O_MOVAL, SL), AV_H8SX, 0, "mova/l.l", {{INDEXW32, E}}, {{0x7, 0xA, 0xD, B30 | DISPREG, MEMRELAX | DISP32LIST, E}}},
 
{O (O_MOVAB, SL), AV_H8SX, 0, "mova/b.l", {{INDEXB16, RD8, R3_32}}, {{0x7, 0x8, RD8, 0x8, 0x7, 0xA, 0x8, B31 | R3_32, DISP16LIST, E}}},
{O (O_MOVAB, SL), AV_H8SX, 0, "mova/b.l", {{INDEXW16, RD16, R3_32}}, {{0x7, 0x8, RD16, 0x9, 0x7, 0xA, 0x9, B31 | R3_32, DISP16LIST, E}}},
{O (O_MOVAW, SL), AV_H8SX, 0, "mova/w.l", {{INDEXB16, RD8, R3_32}}, {{0x7, 0x8, RD8, 0x8, 0x7, 0xA, 0xA, B31 | R3_32, DISP16LIST, E}}},
{O (O_MOVAW, SL), AV_H8SX, 0, "mova/w.l", {{INDEXW16, RD16, R3_32}}, {{0x7, 0x8, RD16, 0x9, 0x7, 0xA, 0xB, B31 | R3_32, DISP16LIST, E}}},
{O (O_MOVAL, SL), AV_H8SX, 0, "mova/l.l", {{INDEXB16, RD8, R3_32}}, {{0x7, 0x8, RD8, 0x8, 0x7, 0xA, 0xC, B31 | R3_32, DISP16LIST, E}}},
{O (O_MOVAL, SL), AV_H8SX, 0, "mova/l.l", {{INDEXW16, RD16, R3_32}}, {{0x7, 0x8, RD16, 0x9, 0x7, 0xA, 0xD, B31 | R3_32, DISP16LIST, E}}},
{O (O_MOVAB, SL), AV_H8SX, 0, "mova/b.l", {{INDEXB16, RD8, R3_32}}, {{0x7, 0x8, RD8, 0x8, 0x7, 0xA, 0x8, B31 | R3_32, MEMRELAX | DISP16LIST, E}}},
{O (O_MOVAB, SL), AV_H8SX, 0, "mova/b.l", {{INDEXW16, RD16, R3_32}}, {{0x7, 0x8, RD16, 0x9, 0x7, 0xA, 0x9, B31 | R3_32, MEMRELAX | DISP16LIST, E}}},
{O (O_MOVAW, SL), AV_H8SX, 0, "mova/w.l", {{INDEXB16, RD8, R3_32}}, {{0x7, 0x8, RD8, 0x8, 0x7, 0xA, 0xA, B31 | R3_32, MEMRELAX | DISP16LIST, E}}},
{O (O_MOVAW, SL), AV_H8SX, 0, "mova/w.l", {{INDEXW16, RD16, R3_32}}, {{0x7, 0x8, RD16, 0x9, 0x7, 0xA, 0xB, B31 | R3_32, MEMRELAX | DISP16LIST, E}}},
{O (O_MOVAL, SL), AV_H8SX, 0, "mova/l.l", {{INDEXB16, RD8, R3_32}}, {{0x7, 0x8, RD8, 0x8, 0x7, 0xA, 0xC, B31 | R3_32, MEMRELAX | DISP16LIST, E}}},
{O (O_MOVAL, SL), AV_H8SX, 0, "mova/l.l", {{INDEXW16, RD16, R3_32}}, {{0x7, 0x8, RD16, 0x9, 0x7, 0xA, 0xD, B31 | R3_32, MEMRELAX | DISP16LIST, E}}},
 
{O (O_MOVAB, SL), AV_H8SX, 0, "mova/b.l", {{INDEXB32, RD8, R3_32}}, {{0x7, 0x8, RD8, 0x8, 0x7, 0xA, 0x8, B30 | R3_32, DISP32LIST, E}}},
{O (O_MOVAB, SL), AV_H8SX, 0, "mova/b.l", {{INDEXW32, RD16, R3_32}}, {{0x7, 0x8, RD16, 0x9, 0x7, 0xA, 0x9, B30 | R3_32, DISP32LIST, E}}},
{O (O_MOVAW, SL), AV_H8SX, 0, "mova/w.l", {{INDEXB32, RD8, R3_32}}, {{0x7, 0x8, RD8, 0x8, 0x7, 0xA, 0xA, B30 | R3_32, DISP32LIST, E}}},
{O (O_MOVAW, SL), AV_H8SX, 0, "mova/w.l", {{INDEXW32, RD16, R3_32}}, {{0x7, 0x8, RD16, 0x9, 0x7, 0xA, 0xB, B30 | R3_32, DISP32LIST, E}}},
{O (O_MOVAL, SL), AV_H8SX, 0, "mova/l.l", {{INDEXB32, RD8, R3_32}}, {{0x7, 0x8, RD8, 0x8, 0x7, 0xA, 0xC, B30 | R3_32, DISP32LIST, E}}},
{O (O_MOVAL, SL), AV_H8SX, 0, "mova/l.l", {{INDEXW32, RD16, R3_32}}, {{0x7, 0x8, RD16, 0x9, 0x7, 0xA, 0xD, B30 | R3_32, DISP32LIST, E}}},
{O (O_MOVAB, SL), AV_H8SX, 0, "mova/b.l", {{INDEXB32, RD8, R3_32}}, {{0x7, 0x8, RD8, 0x8, 0x7, 0xA, 0x8, B30 | R3_32, MEMRELAX | DISP32LIST, E}}},
{O (O_MOVAB, SL), AV_H8SX, 0, "mova/b.l", {{INDEXW32, RD16, R3_32}}, {{0x7, 0x8, RD16, 0x9, 0x7, 0xA, 0x9, B30 | R3_32, MEMRELAX | DISP32LIST, E}}},
{O (O_MOVAW, SL), AV_H8SX, 0, "mova/w.l", {{INDEXB32, RD8, R3_32}}, {{0x7, 0x8, RD8, 0x8, 0x7, 0xA, 0xA, B30 | R3_32, MEMRELAX | DISP32LIST, E}}},
{O (O_MOVAW, SL), AV_H8SX, 0, "mova/w.l", {{INDEXW32, RD16, R3_32}}, {{0x7, 0x8, RD16, 0x9, 0x7, 0xA, 0xB, B30 | R3_32, MEMRELAX | DISP32LIST, E}}},
{O (O_MOVAL, SL), AV_H8SX, 0, "mova/l.l", {{INDEXB32, RD8, R3_32}}, {{0x7, 0x8, RD8, 0x8, 0x7, 0xA, 0xC, B30 | R3_32, MEMRELAX | DISP32LIST, E}}},
{O (O_MOVAL, SL), AV_H8SX, 0, "mova/l.l", {{INDEXW32, RD16, R3_32}}, {{0x7, 0x8, RD16, 0x9, 0x7, 0xA, 0xD, B30 | R3_32, MEMRELAX | DISP32LIST, E}}},
 
DO_MOVA1 (RDIND, 0x0, B30 | RDIND),
DO_MOVA1 (RDPOSTINC, 0x8, B30 | RDPOSTINC),
1627,16 → 1628,16
DO_MOVA1 (RDPREINC, 0x9, B30 | RDPREINC),
DO_MOVA1 (RDPREDEC, 0xB, B30 | RDPREDEC),
DO_MOVA1 (DISP2DST, B30 | B20 | DISP2DST, B30 | DSTDISPREG),
DO_MOVA2 (DISP16DST, 0xC, B30 | DSTDISPREG, DSTDISP16LIST),
DO_MOVA2 (DISP32DST, 0xC, B31 | DSTDISPREG, DSTDISP32LIST),
DO_MOVA2 (INDEXB16D, 0xD, B30 | DSTDISPREG, DSTDISP16LIST),
DO_MOVA2 (INDEXW16D, 0xE, B30 | DSTDISPREG, DSTDISP16LIST),
DO_MOVA2 (INDEXL16D, 0xF, B30 | DSTDISPREG, DSTDISP16LIST),
DO_MOVA2 (INDEXB32D, 0xD, B31 | DSTDISPREG, DSTDISP32LIST),
DO_MOVA2 (INDEXW32D, 0xE, B31 | DSTDISPREG, DSTDISP32LIST),
DO_MOVA2 (INDEXL32D, 0xF, B31 | DSTDISPREG, DSTDISP32LIST),
DO_MOVA2 (ABS16DST, 0x4, 0x0, DSTABS16LIST),
DO_MOVA2 (ABS32DST, 0x4, 0x8, DSTABS32LIST),
DO_MOVA2 (DISP16DST, 0xC, B30 | DSTDISPREG, MEMRELAX | DSTDISP16LIST),
DO_MOVA2 (DISP32DST, 0xC, B31 | DSTDISPREG, MEMRELAX | DSTDISP32LIST),
DO_MOVA2 (INDEXB16D, 0xD, B30 | DSTDISPREG, MEMRELAX | DSTDISP16LIST),
DO_MOVA2 (INDEXW16D, 0xE, B30 | DSTDISPREG, MEMRELAX | DSTDISP16LIST),
DO_MOVA2 (INDEXL16D, 0xF, B30 | DSTDISPREG, MEMRELAX | DSTDISP16LIST),
DO_MOVA2 (INDEXB32D, 0xD, B31 | DSTDISPREG, MEMRELAX | DSTDISP32LIST),
DO_MOVA2 (INDEXW32D, 0xE, B31 | DSTDISPREG, MEMRELAX | DSTDISP32LIST),
DO_MOVA2 (INDEXL32D, 0xF, B31 | DSTDISPREG, MEMRELAX | DSTDISP32LIST),
DO_MOVA2 (ABS16DST, 0x4, 0x0, MEMRELAX | DSTABS16LIST),
DO_MOVA2 (ABS32DST, 0x4, 0x8, MEMRELAX | DSTABS32LIST),
 
{O (O_MOV, SB), AV_H8, 10, "movfpe", {{ABS16SRC, RD8, E}}, {{0x6, 0xA, 0x4, RD8, ABS16SRC, DATA3, E}}},
{O (O_MOV, SB), AV_H8, 10, "movtpe", {{RS8, ABS16DST, E}}, {{0x6, 0xA, 0xC, RS8, ABS16DST, DATA3, E}}},
/opcode/score-datadep.h
1,6 → 1,7
/* score-datadep.h -- Score Instructions data dependency table
Copyright 2006 Free Software Foundation, Inc.
Copyright 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
Contributed by:
Brain.lin (brain.lin@sunplusct.com)
Mei Ligang (ligang@sunnorth.com.cn)
Pei-Lin Tsai (pltsai@sunplus.com)
 
8,7 → 9,7
 
GAS is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
the Free Software Foundation; either version 3, or (at your option)
any later version.
 
GAS is distributed in the hope that it will be useful,
28,20 → 29,7
 
enum insn_type_for_dependency
{
D_pce,
D_cond_br,
D_cond_mv,
D_cached,
D_cachei,
D_ldst,
D_ldcombine,
D_mtcr,
D_mfcr,
D_mfsr,
D_mftlb,
D_mtptlb,
D_mtrtlb,
D_stlb,
D_all_insn
};
 
58,225 → 46,20
enum insn_type_for_dependency cur_insn_type;
char cur_reg[6];
int bubblenum_7;
int bubblenum_5;
int bubblenum_3;
int warn_or_error; /* warning - 0; error - 1 */
};
 
static const struct insn_to_dependency insn_to_dependency_table[] =
{
/* pce instruction. */
{"pce", D_pce},
/* conditional branch instruction. */
{"bcs", D_cond_br},
{"bcc", D_cond_br},
{"bgtu", D_cond_br},
{"bleu", D_cond_br},
{"beq", D_cond_br},
{"bne", D_cond_br},
{"bgt", D_cond_br},
{"ble", D_cond_br},
{"bge", D_cond_br},
{"blt", D_cond_br},
{"bmi", D_cond_br},
{"bpl", D_cond_br},
{"bvs", D_cond_br},
{"bvc", D_cond_br},
{"bcsl", D_cond_br},
{"bccl", D_cond_br},
{"bgtul", D_cond_br},
{"bleul", D_cond_br},
{"beql", D_cond_br},
{"bnel", D_cond_br},
{"bgtl", D_cond_br},
{"blel", D_cond_br},
{"bgel", D_cond_br},
{"bltl", D_cond_br},
{"bmil", D_cond_br},
{"bpll", D_cond_br},
{"bvsl", D_cond_br},
{"bvcl", D_cond_br},
{"bcs!", D_cond_br},
{"bcc!", D_cond_br},
{"bgtu!", D_cond_br},
{"bleu!", D_cond_br},
{"beq!", D_cond_br},
{"bne!", D_cond_br},
{"bgt!", D_cond_br},
{"ble!", D_cond_br},
{"bge!", D_cond_br},
{"blt!", D_cond_br},
{"bmi!", D_cond_br},
{"bpl!", D_cond_br},
{"bvs!", D_cond_br},
{"bvc!", D_cond_br},
{"brcs", D_cond_br},
{"brcc", D_cond_br},
{"brgtu", D_cond_br},
{"brleu", D_cond_br},
{"breq", D_cond_br},
{"brne", D_cond_br},
{"brgt", D_cond_br},
{"brle", D_cond_br},
{"brge", D_cond_br},
{"brlt", D_cond_br},
{"brmi", D_cond_br},
{"brpl", D_cond_br},
{"brvs", D_cond_br},
{"brvc", D_cond_br},
{"brcsl", D_cond_br},
{"brccl", D_cond_br},
{"brgtul", D_cond_br},
{"brleul", D_cond_br},
{"breql", D_cond_br},
{"brnel", D_cond_br},
{"brgtl", D_cond_br},
{"brlel", D_cond_br},
{"brgel", D_cond_br},
{"brltl", D_cond_br},
{"brmil", D_cond_br},
{"brpll", D_cond_br},
{"brvsl", D_cond_br},
{"brvcl", D_cond_br},
{"brcs!", D_cond_br},
{"brcc!", D_cond_br},
{"brgtu!", D_cond_br},
{"brleu!", D_cond_br},
{"breq!", D_cond_br},
{"brne!", D_cond_br},
{"brgt!", D_cond_br},
{"brle!", D_cond_br},
{"brge!", D_cond_br},
{"brlt!", D_cond_br},
{"brmi!", D_cond_br},
{"brpl!", D_cond_br},
{"brvs!", D_cond_br},
{"brvc!", D_cond_br},
{"brcsl!", D_cond_br},
{"brccl!", D_cond_br},
{"brgtul!", D_cond_br},
{"brleul!", D_cond_br},
{"breql!", D_cond_br},
{"brnel!", D_cond_br},
{"brgtl!", D_cond_br},
{"brlel!", D_cond_br},
{"brgel!", D_cond_br},
{"brltl!", D_cond_br},
{"brmil!", D_cond_br},
{"brpll!", D_cond_br},
{"brvsl!", D_cond_br},
{"brvcl!", D_cond_br},
/* conditional move instruction. */
{"mvcs", D_cond_mv},
{"mvcc", D_cond_mv},
{"mvgtu", D_cond_mv},
{"mvleu", D_cond_mv},
{"mveq", D_cond_mv},
{"mvne", D_cond_mv},
{"mvgt", D_cond_mv},
{"mvle", D_cond_mv},
{"mvge", D_cond_mv},
{"mvlt", D_cond_mv},
{"mvmi", D_cond_mv},
{"mvpl", D_cond_mv},
{"mvvs", D_cond_mv},
{"mvvc", D_cond_mv},
/* move spectial instruction. */
{"mtcr", D_mtcr},
{"mftlb", D_mftlb},
{"mtptlb", D_mtptlb},
{"mtrtlb", D_mtrtlb},
{"stlb", D_stlb},
{"mfcr", D_mfcr},
{"mfsr", D_mfsr},
/* cache instruction. */
{"cache 8", D_cached},
{"cache 9", D_cached},
{"cache 10", D_cached},
{"cache 11", D_cached},
{"cache 12", D_cached},
{"cache 13", D_cached},
{"cache 14", D_cached},
{"cache 24", D_cached},
{"cache 26", D_cached},
{"cache 27", D_cached},
{"cache 29", D_cached},
{"cache 30", D_cached},
{"cache 31", D_cached},
{"cache 0", D_cachei},
{"cache 1", D_cachei},
{"cache 2", D_cachei},
{"cache 3", D_cachei},
{"cache 4", D_cachei},
{"cache 16", D_cachei},
{"cache 17", D_cachei},
/* load/store instruction. */
{"lb", D_ldst},
{"lbu", D_ldst},
{"lbu!", D_ldst},
{"lbup!", D_ldst},
{"lh", D_ldst},
{"lhu", D_ldst},
{"lh!", D_ldst},
{"lhp!", D_ldst},
{"lw", D_ldst},
{"lw!", D_ldst},
{"lwp!", D_ldst},
{"sb", D_ldst},
{"sb!", D_ldst},
{"sbp!", D_ldst},
{"sh", D_ldst},
{"sh!", D_ldst},
{"shp!", D_ldst},
{"sw", D_ldst},
{"sw!", D_ldst},
{"swp!", D_ldst},
{"alw", D_ldst},
{"asw", D_ldst},
{"push!", D_ldst},
{"pushhi!", D_ldst},
{"pop!", D_ldst},
{"pophi!", D_ldst},
{"ldc1", D_ldst},
{"ldc2", D_ldst},
{"ldc3", D_ldst},
{"stc1", D_ldst},
{"stc2", D_ldst},
{"stc3", D_ldst},
{"scb", D_ldst},
{"scw", D_ldst},
{"sce", D_ldst},
/* load combine instruction. */
{"lcb", D_ldcombine},
{"lcw", D_ldcombine},
{"lce", D_ldcombine},
};
 
static const struct data_dependency data_dependency_table[] =
{
/* Condition register. */
{D_mtcr, "cr1", D_pce, "", 2, 1, 1},
{D_mtcr, "cr1", D_cond_br, "", 1, 0, 1},
{D_mtcr, "cr1", D_cond_mv, "", 1, 0, 1},
/* Status regiser. */
{D_mtcr, "cr0", D_all_insn, "", 5, 4, 0},
/* CCR regiser. */
{D_mtcr, "cr4", D_all_insn, "", 6, 5, 0},
/* EntryHi/EntryLo register. */
{D_mftlb, "", D_mtptlb, "", 1, 1, 1},
{D_mftlb, "", D_mtrtlb, "", 1, 1, 1},
{D_mftlb, "", D_stlb, "", 1, 1,1},
{D_mftlb, "", D_mfcr, "cr11", 1, 1, 1},
{D_mftlb, "", D_mfcr, "cr12", 1, 1, 1},
/* Index register. */
{D_stlb, "", D_mtptlb, "", 1, 1, 1},
{D_stlb, "", D_mftlb, "", 1, 1, 1},
{D_stlb, "", D_mfcr, "cr8", 2, 2, 1},
/* Cache. */
{D_cached, "", D_ldst, "", 1, 1, 0},
{D_cached, "", D_ldcombine, "", 1, 1, 0},
{D_cachei, "", D_all_insn, "", 5, 4, 0},
/* Load combine. */
{D_ldcombine, "", D_mfsr, "sr1", 3, 3, 1},
{D_mtcr, "cr0", D_all_insn, "", 5, 1, 0},
};
 
#endif
/opcode/bfin.h
939,7 → 939,7
 
/* PseudoDbg_assert
+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+
| 1 | 1 | 1 | 1 | 0 | - | - | - | - | - |.dbgop.....|.regtest...|
| 1 | 1 | 1 | 1 | 0 | - | - | - | dbgop |.grp.......|.regtest...|
|.expected......................................................|
+---+---+---+---|---+---+---+---|---+---+---+---|---+---+---+---+
*/
951,6 → 951,8
int mask_expected;
int bits_regtest;
int mask_regtest;
int bits_grp;
int mask_grp;
int bits_dbgop;
int mask_dbgop;
int bits_dontcare;
964,10 → 966,12
#define PseudoDbg_Assert_expected_mask 0xffff
#define PseudoDbg_Assert_regtest_bits 16
#define PseudoDbg_Assert_regtest_mask 0x7
#define PseudoDbg_Assert_dbgop_bits 19
#define PseudoDbg_Assert_dbgop_mask 0x7
#define PseudoDbg_Assert_dontcare_bits 22
#define PseudoDbg_Assert_dontcare_mask 0x1f
#define PseudoDbg_Assert_grp_bits 19
#define PseudoDbg_Assert_grp_mask 0x7
#define PseudoDbg_Assert_dbgop_bits 22
#define PseudoDbg_Assert_dbgop_mask 0x3
#define PseudoDbg_Assert_dontcare_bits 24
#define PseudoDbg_Assert_dontcare_mask 0x7
#define PseudoDbg_Assert_code_bits 27
#define PseudoDbg_Assert_code_mask 0x1f
 
976,6 → 980,7
PseudoDbg_Assert_opcode, \
PseudoDbg_Assert_expected_bits, PseudoDbg_Assert_expected_mask, \
PseudoDbg_Assert_regtest_bits, PseudoDbg_Assert_regtest_mask, \
PseudoDbg_Assert_grp_bits, PseudoDbg_Assert_grp_mask, \
PseudoDbg_Assert_dbgop_bits, PseudoDbg_Assert_dbgop_mask, \
PseudoDbg_Assert_dontcare_bits, PseudoDbg_Assert_dontcare_mask, \
PseudoDbg_Assert_code_bits, PseudoDbg_Assert_code_mask \
/opcode/arm.h
44,6 → 44,9
#define ARM_EXT_V7A 0x00100000 /* Arm V7A. */
#define ARM_EXT_V7R 0x00200000 /* Arm V7R. */
#define ARM_EXT_V7M 0x00400000 /* Arm V7M. */
#define ARM_EXT_V6M 0x00800000 /* ARM V6M. */
#define ARM_EXT_BARRIER 0x01000000 /* DSB/DMB/ISB. */
#define ARM_EXT_THUMB_MSR 0x02000000 /* Thumb MSR/MRS. */
 
/* Co-processor space extensions. */
#define ARM_CEXT_XSCALE 0x00000001 /* Allow MIA etc. */
61,6 → 64,8
#define FPU_VFP_EXT_V2 0x02000000 /* ARM10E VFPr1. */
#define FPU_VFP_EXT_V3 0x01000000 /* VFPv3 insns. */
#define FPU_NEON_EXT_V1 0x00800000 /* Neon (SIMD) insns. */
#define FPU_VFP_EXT_D32 0x00400000 /* Registers D16-D31. */
#define FPU_NEON_FP16 0x00200000 /* Half-precision extensions. */
 
/* Architectures are the sum of the base and extensions. The ARM ARM (rev E)
defines the following: ARMv3, ARMv3M, ARMv4xM, ARMv4, ARMv4TxM, ARMv4T,
87,17 → 92,22
#define ARM_AEXT_V6K (ARM_AEXT_V6 | ARM_EXT_V6K)
#define ARM_AEXT_V6Z (ARM_AEXT_V6 | ARM_EXT_V6Z)
#define ARM_AEXT_V6ZK (ARM_AEXT_V6 | ARM_EXT_V6K | ARM_EXT_V6Z)
#define ARM_AEXT_V6T2 (ARM_AEXT_V6 | ARM_EXT_V6T2 | ARM_EXT_V6_NOTM)
#define ARM_AEXT_V6T2 (ARM_AEXT_V6 \
| ARM_EXT_V6T2 | ARM_EXT_V6_NOTM | ARM_EXT_THUMB_MSR)
#define ARM_AEXT_V6KT2 (ARM_AEXT_V6T2 | ARM_EXT_V6K)
#define ARM_AEXT_V6ZT2 (ARM_AEXT_V6T2 | ARM_EXT_V6Z)
#define ARM_AEXT_V6ZKT2 (ARM_AEXT_V6T2 | ARM_EXT_V6K | ARM_EXT_V6Z)
#define ARM_AEXT_V7_ARM (ARM_AEXT_V6ZKT2 | ARM_EXT_V7)
#define ARM_AEXT_V7_ARM (ARM_AEXT_V6ZKT2 | ARM_EXT_V7 | ARM_EXT_BARRIER)
#define ARM_AEXT_V7A (ARM_AEXT_V7_ARM | ARM_EXT_V7A)
#define ARM_AEXT_V7R (ARM_AEXT_V7_ARM | ARM_EXT_V7R | ARM_EXT_DIV)
#define ARM_AEXT_NOTM \
(ARM_AEXT_V4 | ARM_EXT_V5ExP | ARM_EXT_V5J | ARM_EXT_V6_NOTM)
#define ARM_AEXT_V6M \
((ARM_AEXT_V6K | ARM_EXT_BARRIER | ARM_EXT_V6M | ARM_EXT_THUMB_MSR) \
& ~(ARM_AEXT_NOTM))
#define ARM_AEXT_V7M \
((ARM_AEXT_V7_ARM | ARM_EXT_V7M | ARM_EXT_DIV) & ~(ARM_AEXT_NOTM))
((ARM_AEXT_V7_ARM | ARM_EXT_V6M | ARM_EXT_V7M | ARM_EXT_DIV) \
& ~(ARM_AEXT_NOTM))
#define ARM_AEXT_V7 (ARM_AEXT_V7A & ARM_AEXT_V7R & ARM_AEXT_V7M)
 
/* Processors with specific extensions in the co-processor space. */
110,9 → 120,10
#define FPU_VFP_V1xD (FPU_VFP_EXT_V1xD | FPU_ENDIAN_PURE)
#define FPU_VFP_V1 (FPU_VFP_V1xD | FPU_VFP_EXT_V1)
#define FPU_VFP_V2 (FPU_VFP_V1 | FPU_VFP_EXT_V2)
#define FPU_VFP_V3 (FPU_VFP_V2 | FPU_VFP_EXT_V3)
#define FPU_VFP_V3D16 (FPU_VFP_V2 | FPU_VFP_EXT_V3)
#define FPU_VFP_V3 (FPU_VFP_V3D16 | FPU_VFP_EXT_D32)
#define FPU_VFP_HARD (FPU_VFP_EXT_V1xD | FPU_VFP_EXT_V1 | FPU_VFP_EXT_V2 \
| FPU_VFP_EXT_V3 | FPU_NEON_EXT_V1)
| FPU_VFP_EXT_V3 | FPU_NEON_EXT_V1 | FPU_VFP_EXT_D32)
#define FPU_FPA (FPU_FPA_EXT_V1 | FPU_FPA_EXT_V2)
 
/* Deprecated */
124,10 → 135,13
#define FPU_ARCH_VFP_V1xD ARM_FEATURE (0, FPU_VFP_V1xD)
#define FPU_ARCH_VFP_V1 ARM_FEATURE (0, FPU_VFP_V1)
#define FPU_ARCH_VFP_V2 ARM_FEATURE (0, FPU_VFP_V2)
#define FPU_ARCH_VFP_V3D16 ARM_FEATURE (0, FPU_VFP_V3D16)
#define FPU_ARCH_VFP_V3 ARM_FEATURE (0, FPU_VFP_V3)
#define FPU_ARCH_NEON_V1 ARM_FEATURE (0, FPU_NEON_EXT_V1)
#define FPU_ARCH_VFP_V3_PLUS_NEON_V1 \
ARM_FEATURE (0, FPU_VFP_V3 | FPU_NEON_EXT_V1)
#define FPU_ARCH_NEON_FP16 \
ARM_FEATURE (0, FPU_VFP_V3 | FPU_NEON_EXT_V1 | FPU_NEON_FP16)
#define FPU_ARCH_VFP_HARD ARM_FEATURE (0, FPU_VFP_HARD)
 
#define FPU_ARCH_ENDIAN_PURE ARM_FEATURE (0, FPU_ENDIAN_PURE)
158,6 → 172,7
#define ARM_ARCH_V6KT2 ARM_FEATURE (ARM_AEXT_V6KT2, 0)
#define ARM_ARCH_V6ZT2 ARM_FEATURE (ARM_AEXT_V6ZT2, 0)
#define ARM_ARCH_V6ZKT2 ARM_FEATURE (ARM_AEXT_V6ZKT2, 0)
#define ARM_ARCH_V6M ARM_FEATURE (ARM_AEXT_V6M, 0)
#define ARM_ARCH_V7 ARM_FEATURE (ARM_AEXT_V7, 0)
#define ARM_ARCH_V7A ARM_FEATURE (ARM_AEXT_V7A, 0)
#define ARM_ARCH_V7R ARM_FEATURE (ARM_AEXT_V7R, 0)
/opcode/tic54x.h
1,5 → 1,5
/* tic54x.h -- Header file for TI TMS320C54X opcode table
Copyright 1999, 2000, 2001 Free Software Foundation, Inc.
Copyright 1999, 2000, 2001, 2005, 2009 Free Software Foundation, Inc.
Written by Timothy Wall (twall@cygnus.com)
 
This file is part of GDB, GAS, and the GNU binutils.
147,17 → 147,17
const char* parname;
enum optype paroperand_types[MAX_OPERANDS];
 
} template;
} insn_template;
 
extern const template tic54x_unknown_opcode;
extern const template tic54x_optab[];
extern const template tic54x_paroptab[];
extern const insn_template tic54x_unknown_opcode;
extern const insn_template tic54x_optab[];
extern const insn_template tic54x_paroptab[];
extern const symbol mmregs[], regs[];
extern const symbol condition_codes[], cc2_codes[], status_bits[];
extern const symbol cc3_codes[];
extern const char *misc_symbols[];
struct disassemble_info;
extern const template* tic54x_get_insn (struct disassemble_info *,
extern const insn_template* tic54x_get_insn (struct disassemble_info *,
bfd_vma, unsigned short, int *);
 
#endif /* _opcode_tic54x_h_ */
/opcode/ppc.h
1,6 → 1,6
/* ppc.h -- Header file for PowerPC opcode table
Copyright 1994, 1995, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
2007 Free Software Foundation, Inc.
2007, 2008, 2009 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Cygnus Support
 
This file is part of GDB, GAS, and the GNU binutils.
22,6 → 22,10
#ifndef PPC_H
#define PPC_H
 
#include "bfd_stdint.h"
 
typedef uint64_t ppc_cpu_t;
 
/* The opcode table is an array of struct powerpc_opcode. */
 
struct powerpc_opcode
42,8 → 46,13
/* One bit flags for the opcode. These are used to indicate which
specific processors support the instructions. The defined values
are listed below. */
unsigned long flags;
ppc_cpu_t flags;
 
/* One bit flags for the opcode. These are used to indicate which
specific processors no longer support the instructions. The defined
values are listed below. */
ppc_cpu_t deprecated;
 
/* An array of operand codes. Each code is an index into the
operand table. They appear in the order which the operands must
appear in assembly code, and are terminated by a zero. */
107,8 → 116,8
/* Opcode is only supported by Power4 architecture. */
#define PPC_OPCODE_POWER4 0x4000
 
/* Opcode isn't supported by Power4 architecture. */
#define PPC_OPCODE_NOPOWER4 0x8000
/* Opcode is only supported by Power7 architecture. */
#define PPC_OPCODE_POWER7 0x8000
 
/* Opcode is only supported by POWERPC Classic architecture. */
#define PPC_OPCODE_CLASSIC 0x10000
149,6 → 158,21
/* Opcode is supported by CPUs with paired singles support. */
#define PPC_OPCODE_PPCPS 0x10000000
 
/* Opcode is supported by Power E500MC */
#define PPC_OPCODE_E500MC 0x20000000
 
/* Opcode is supported by PowerPC 405 processor. */
#define PPC_OPCODE_405 0x40000000
 
/* Opcode is supported by Vector-Scalar (VSX) Unit */
#define PPC_OPCODE_VSX 0x80000000
 
/* Opcode is supported by A2. */
#define PPC_OPCODE_A2 0x100000000ULL
 
/* Opcode is supported by PowerPC 476 processor. */
#define PPC_OPCODE_476 0x200000000ULL
 
/* A macro to extract the major opcode from an instruction. */
#define PPC_OP(i) (((i) >> 26) & 0x3f)
180,7 → 204,7
operand value is legal, *ERRMSG will be unchanged (most operands
can accept any value). */
unsigned long (*insert)
(unsigned long instruction, long op, int dialect, const char **errmsg);
(unsigned long instruction, long op, ppc_cpu_t dialect, const char **errmsg);
 
/* Extraction function. This is used by the disassembler. To
extract this operand type from an instruction, check this field.
198,7 → 222,7
non-zero if this operand type can not actually be extracted from
this operand (i.e., the instruction does not match). If the
operand is valid, *INVALID will not be changed. */
long (*extract) (unsigned long instruction, int dialect, int *invalid);
long (*extract) (unsigned long instruction, ppc_cpu_t dialect, int *invalid);
 
/* One bit syntax flags. */
unsigned long flags;
299,6 → 323,15
 
/* Valid range of operand is 0..n rather than 0..n-1. */
#define PPC_OPERAND_PLUS1 (0x10000)
 
/* Xilinx APU and FSL related operands */
#define PPC_OPERAND_FSL (0x20000)
#define PPC_OPERAND_FCR (0x40000)
#define PPC_OPERAND_UDI (0x80000)
 
/* This operand names a vector-scalar unit register. The disassembler
prints these with a leading 'vs'. */
#define PPC_OPERAND_VSR (0x100000)
/* The POWER and PowerPC assemblers use a few macros. We keep them
with the operands table for simplicity. The macro table is an
315,7 → 348,7
/* One bit flags for the opcode. These are used to indicate which
specific processors support the instructions. The values are the
same as those for the struct powerpc_opcode flags field. */
unsigned long flags;
ppc_cpu_t flags;
 
/* A format string to turn the macro into a normal instruction.
Each %N in the string is replaced with operand number N (zero
326,4 → 359,6
extern const struct powerpc_macro powerpc_macros[];
extern const int powerpc_num_macros;
 
extern ppc_cpu_t ppc_parse_cpu (ppc_cpu_t, const char *);
 
#endif /* PPC_H */
/opcode/or32.h
28,7 → 28,7
#define NUM_SIGNED (1)
 
#define MAX_GPRS 32
#define PAGE_SIZE 4096
#define PAGE_SIZE 8192
#undef __HALF_WORD_INSN__
 
#define OPERAND_DELIM (',')
37,6 → 37,18
#define OR32_W_FLAG (2)
#define OR32_R_FLAG (4)
 
#if defined(HAS_EXECUTION)
# if SIMPLE_EXECUTION
# include "simpl32_defs.h"
# elif DYNAMIC_EXECUTION
# include "dyn32_defs.h"
# else
extern void l_none (void);
# endif
#else
extern void l_none (void);
#endif
 
struct or32_letter
{
char letter;
44,6 → 56,23
/* int reloc; relocation per letter ?? */
};
 
enum insn_type {
it_unknown,
it_exception,
it_arith,
it_shift,
it_compare,
it_branch,
it_jump,
it_load,
it_store,
it_movimm,
it_move,
it_extend,
it_nop,
it_mac,
it_float };
 
/* Main instruction specification array. */
struct or32_opcode
{
67,8 → 96,21
/* Opcode and operand encoding. */
char *encoding;
void (*exec) (void);
 
#ifdef HAS_EXECUTION
# if COMPLEX_EXECUTION
char *function_name;
# elif SIMPLE_EXECUTION
void (*exec)(struct iqueue_entry *);
# else /* DYNAMIC_EXECUTION */
void (*exec)(struct op_queue *opq, int param_t[3], orreg_t param[3], int);
# endif
#else /* HAS_EXECUTION */
void (*exec)(void);
#endif
 
unsigned int flags;
enum insn_type func_unit;
};
 
#define OPTYPE_LAST (0x80000000)
88,61 → 130,19
unsigned long data;
} **op_start;
 
#ifdef HAS_EXECUTION
extern void l_invalid (void);
extern void l_sfne (void);
extern void l_bf (void);
extern void l_add (void);
extern void l_sw (void);
extern void l_sb (void);
extern void l_sh (void);
extern void l_lwz (void);
extern void l_lbs (void);
extern void l_lbz (void);
extern void l_lhs (void);
extern void l_lhz (void);
extern void l_movhi (void);
extern void l_and (void);
extern void l_or (void);
extern void l_xor (void);
extern void l_sub (void);
extern void l_mul (void);
extern void l_div (void);
extern void l_divu (void);
extern void l_sll (void);
extern void l_sra (void);
extern void l_srl (void);
extern void l_j (void);
extern void l_jal (void);
extern void l_jalr (void);
extern void l_jr (void);
extern void l_rfe (void);
extern void l_nop (void);
extern void l_bnf (void);
extern void l_sfeq (void);
extern void l_sfgts (void);
extern void l_sfges (void);
extern void l_sflts (void);
extern void l_sfles (void);
extern void l_sfgtu (void);
extern void l_sfgeu (void);
extern void l_sfltu (void);
extern void l_sfleu (void);
extern void l_mtspr (void);
extern void l_mfspr (void);
extern void l_sys (void);
extern void l_trap (void); /* CZ 21/06/01. */
extern void l_macrc (void);
extern void l_mac (void);
extern void l_msb (void);
extern void l_invalid (void);
extern void l_cust1 (void);
extern void l_cust2 (void);
extern void l_cust3 (void);
extern void l_cust4 (void);
#endif
extern void l_none (void);
/* Leaf flag used in automata building */
#define LEAF_FLAG (0x80000000)
 
struct temp_insn_struct
{
unsigned long insn;
unsigned long insn_mask;
int in_pass;
};
 
extern unsigned long *automata;
extern struct temp_insn_struct *ti;
 
extern const struct or32_letter or32_letters[];
 
extern const struct or32_opcode or32_opcodes[];
177,4 → 177,17
Return the size of the instruction. */
int disassemble_insn (unsigned long);
 
/* Extract instruction */
extern unsigned long insn_extract(char,char*);
/* Disassemble one instruction from insn index.
Return the size of the instruction. */
int disassemble_index (unsigned long,int);
 
/* FOR INTERNAL USE ONLY */
/* Automatically does zero- or sign- extension and also finds correct
sign bit position if sign extension is correct extension. Which extension
is proper is figured out from letter description. */
unsigned long extend_imm(unsigned long,char);
 
#endif
/opcode/avr.h
32,7 → 32,6
#define AVR_ISA_MOVW 0x1000 /* device has MOVW */
 
#define AVR_ISA_TINY1 (AVR_ISA_1200 | AVR_ISA_LPM)
#define AVR_ISA_PWMx (AVR_ISA_M8 | AVR_ISA_BRK)
#define AVR_ISA_2xxx (AVR_ISA_TINY1 | AVR_ISA_SRAM)
/* For the attiny26 which is missing LPM Rd,Z+. */
#define AVR_ISA_2xxe (AVR_ISA_2xxx | AVR_ISA_LPMX)
39,14 → 38,11
#define AVR_ISA_RF401 (AVR_ISA_2xxx | AVR_ISA_MOVW | AVR_ISA_LPMX)
#define AVR_ISA_TINY2 (AVR_ISA_2xxx | AVR_ISA_MOVW | AVR_ISA_LPMX | \
AVR_ISA_SPM | AVR_ISA_BRK)
#define AVR_ISA_M8 (AVR_ISA_2xxx | AVR_ISA_MUL | AVR_ISA_MOVW | \
AVR_ISA_LPMX | AVR_ISA_SPM)
#define AVR_ISA_M603 (AVR_ISA_2xxx | AVR_ISA_MEGA)
#define AVR_ISA_M103 (AVR_ISA_M603 | AVR_ISA_ELPM)
#define AVR_ISA_USB162 (AVR_ISA_M603 | AVR_ISA_MOVW | \
#define AVR_ISA_M8 (AVR_ISA_2xxx | AVR_ISA_MUL | AVR_ISA_MOVW | \
AVR_ISA_LPMX | AVR_ISA_SPM)
#define AVR_ISA_AVR3 (AVR_ISA_M603 | AVR_ISA_MOVW | \
AVR_ISA_LPMX | AVR_ISA_SPM | AVR_ISA_ELPM)
#define AVR_ISA_PWMx (AVR_ISA_M8 | AVR_ISA_BRK)
#define AVR_ISA_M161 (AVR_ISA_M603 | AVR_ISA_MUL | AVR_ISA_MOVW | \
AVR_ISA_LPMX | AVR_ISA_SPM)
#define AVR_ISA_94K (AVR_ISA_M603 | AVR_ISA_MUL | AVR_ISA_MOVW | AVR_ISA_LPMX)
53,7 → 49,22
#define AVR_ISA_M323 (AVR_ISA_M161 | AVR_ISA_BRK)
#define AVR_ISA_M128 (AVR_ISA_M323 | AVR_ISA_ELPM | AVR_ISA_ELPMX)
 
#define AVR_ISA_ALL 0xFFFF
#define AVR_ISA_AVR1 AVR_ISA_TINY1
#define AVR_ISA_AVR2 AVR_ISA_2xxx
#define AVR_ISA_AVR25 AVR_ISA_TINY2
#define AVR_ISA_AVR3 AVR_ISA_M603
#define AVR_ISA_AVR31 AVR_ISA_M103
#define AVR_ISA_AVR35 (AVR_ISA_AVR3 | AVR_ISA_MOVW | \
AVR_ISA_LPMX | AVR_ISA_SPM | AVR_ISA_BRK)
#define AVR_ISA_AVR3_ALL (AVR_ISA_AVR3 | AVR_ISA_AVR31 | AVR_ISA_AVR35)
#define AVR_ISA_AVR4 AVR_ISA_PWMx
#define AVR_ISA_AVR5 AVR_ISA_M323
#define AVR_ISA_AVR51 AVR_ISA_M128
#define AVR_ISA_AVR6 (AVR_ISA_1200 | AVR_ISA_LPM | AVR_ISA_LPMX | \
AVR_ISA_SRAM | AVR_ISA_MEGA | AVR_ISA_MUL | \
AVR_ISA_ELPM | AVR_ISA_ELPMX | AVR_ISA_SPM | \
AVR_ISA_SPM | AVR_ISA_BRK | AVR_ISA_EIND | \
AVR_ISA_MOVW)
 
#define REGISTER_P(x) ((x) == 'r' \
|| (x) == 'd' \
/opcode/s390.h
37,7 → 37,8
S390_OPCODE_Z900,
S390_OPCODE_Z990,
S390_OPCODE_Z9_109,
S390_OPCODE_Z9_EC
S390_OPCODE_Z9_EC,
S390_OPCODE_Z10
};
 
/* The opcode table is an array of struct s390_opcode. */
/opcode/ChangeLog
1,3 → 1,174
2009-10-02 Peter Bergner <bergner@vnet.ibm.com>
 
* ppc.h (PPC_OPCODE_476): Define.
 
2009-10-01 Peter Bergner <bergner@vnet.ibm.com>
 
* ppc.h (PPC_OPCODE_A2): Rename from PPC_OPCODE_PPCA2.
 
2009-09-22 Peter Bergner <bergner@vnet.ibm.com>
 
* ppc.h (ppc_cpu_t): Typedef to uint64_t.
 
2009-09-21 Ben Elliston <bje@au.ibm.com>
 
* ppc.h (PPC_OPCODE_PPCA2): New.
 
2009-09-05 Martin Thuresson <martin@mtme.org>
 
* ia64.h (struct ia64_operand): Renamed member class to op_class.
 
2009-08-29 Martin Thuresson <martin@mtme.org>
 
* tic30.h (template): Rename type template to
insn_template. Updated code to use new name.
* tic54x.h (template): Rename type template to
insn_template.
 
2009-08-20 Nick Hudson <nick.hudson@gmx.co.uk>
 
* hppa.h (pa_opcodes): Add a pa10 bb without FLAG_STRICT.
 
2009-06-11 Anthony Green <green@moxielogic.com>
 
* moxie.h (MOXIE_F3_PCREL): Define.
(moxie_form3_opc_info): Grow.
 
2009-06-06 Anthony Green <green@moxielogic.com>
 
* moxie.h (MOXIE_F1_M): Define.
 
2009-04-15 Anthony Green <green@moxielogic.com>
 
* moxie.h: Created.
 
2009-04-06 DJ Delorie <dj@redhat.com>
 
* h8300.h: Add relaxation attributes to MOVA opcodes.
 
2009-03-10 Alan Modra <amodra@bigpond.net.au>
 
* ppc.h (ppc_parse_cpu): Declare.
 
2009-03-02 Qinwei <qinwei@sunnorth.com.cn>
 
* score-inst.h (score_insn_type, score_data_type): Add Ra_I9_I5
and _IMM11 for mbitclr and mbitset.
* score-datadep.h: Update dependency information.
 
2009-02-26 Peter Bergner <bergner@vnet.ibm.com>
 
* ppc.h (PPC_OPCODE_POWER7): New.
 
2009-02-06 Doug Evans <dje@google.com>
 
* i386.h: Add comment regarding sse* insns and prefixes.
 
2009-02-03 Sandip Matte <sandip@rmicorp.com>
 
* mips.h (INSN_XLR): Define.
(INSN_CHIP_MASK): Update.
(CPU_XLR): Define.
(OPCODE_IS_MEMBER): Update.
(M_MSGSND, M_MSGLD, M_MSGLD_T, M_MSGWAIT, M_MSGWAIT_T): Define.
 
2009-01-28 Doug Evans <dje@google.com>
 
* opcode/i386.h: Add multiple inclusion protection.
(EAX_REG_NUM,ECX_REG_NUM,EDX_REGNUM,EBX_REG_NUM,ESI_REG_NUM)
(EDI_REG_NUM): New macros.
(MODRM_MOD_FIELD,MODRM_REG_FIELD,MODRM_RM_FIELD): New macros.
(SIB_SCALE_FIELD,SIB_INDEX_FIELD,SIB_BASE_FIELD): New macros.
(REX_PREFIX_P): New macro.
 
2009-01-09 Peter Bergner <bergner@vnet.ibm.com>
 
* ppc.h (struct powerpc_opcode): New field "deprecated".
(PPC_OPCODE_NOPOWER4): Delete.
 
2008-11-28 Joshua Kinard <kumba@gentoo.org>
 
* mips.h: Define CPU_R14000, CPU_R16000.
(OPCODE_IS_MEMBER): Include R14000, R16000 in test.
 
2008-11-18 Catherine Moore <clm@codesourcery.com>
 
* arm.h (FPU_NEON_FP16): New.
(FPU_ARCH_NEON_FP16): New.
 
2008-11-06 Chao-ying Fu <fu@mips.com>
 
* mips.h: Doucument '1' for 5-bit sync type.
 
2008-08-28 H.J. Lu <hongjiu.lu@intel.com>
 
* ia64.h (ia64_resource_specifier): Add IA64_RS_CR_IIB. Update
IA64_RS_CR.
 
2008-08-01 Peter Bergner <bergner@vnet.ibm.com>
 
* ppc.h (PPC_OPCODE_VSX, PPC_OPERAND_VSR): New.
 
2008-07-30 Michael J. Eager <eager@eagercon.com>
 
* ppc.h (PPC_OPCODE_405): Define.
(PPC_OPERAND_FSL, PPC_OPERAND_FCR, PPC_OPERAND_UDI): Define.
 
2008-06-13 Peter Bergner <bergner@vnet.ibm.com>
 
* ppc.h (ppc_cpu_t): New typedef.
(struct powerpc_opcode <flags>): Use it.
(struct powerpc_operand <insert, extract>): Likewise.
(struct powerpc_macro <flags>): Likewise.
 
2008-06-12 Adam Nemet <anemet@caviumnetworks.com>
 
* mips.h: Document new field descriptors +x, +X, +p, +P, +s, +S.
Update comment before MIPS16 field descriptors to mention MIPS16.
(OP_SH_BBITIND, OP_MASK_BBITIND): New bit mask and shift count for
BBIT.
(OP_SH_CINSPOS, OP_MASK_CINSPOS, OP_SH_CINSLM1, OP_MASK_CINSLM1):
New bit masks and shift counts for cins and exts.
 
* mips.h: Document new field descriptors +Q.
(OP_SH_SEQI, OP_MASK_SEQI): New bit mask and shift count for SEQI.
 
2008-04-28 Adam Nemet <anemet@caviumnetworks.com>
 
* mips.h (INSN_MACRO): Move it up to the the pinfo macros.
(INSN2_M_FP_S, INSN2_M_FP_D): New pinfo2 macros.
 
2008-04-14 Edmar Wienskoski <edmar@freescale.com>
 
* ppc.h: (PPC_OPCODE_E500MC): New.
 
2008-04-03 H.J. Lu <hongjiu.lu@intel.com>
 
* i386.h (MAX_OPERANDS): Set to 5.
(MAX_MNEM_SIZE): Changed to 20.
 
2008-03-28 Eric B. Weddington <eric.weddington@atmel.com>
 
* avr.h (AVR_ISA_TINY3): Define new opcode set for attiny167.
 
2008-03-09 Paul Brook <paul@codesourcery.com>
 
* arm.h (FPU_VFP_EXT_D32, FPU_VFP_V3D16, FPU_ARCH_VFP_V3D16): Define.
 
2008-03-04 Paul Brook <paul@codesourcery.com>
 
* arm.h (ARM_EXT_V6M, ARM_EXT_BARRIER, ARM_EXT_THUMB_MSR): Define.
(ARM_AEXT_V6T2, ARM_AEXT_V7_ARM, ARM_AEXT_V7M): Use new flags.
(ARM_AEXT_V6M, ARM_ARCH_V6M): Define.
 
2008-02-27 Denis Vlasenko <vda.linux@googlemail.com>
Nick Clifton <nickc@redhat.com>
 
PR 3134
* h8300.h (h8_opcodes): Add an encoding for a mov.l instruction
with a 32-bit displacement but without the top bit of the 4th byte
set.
 
2008-02-18 M R Swami Reddy <MR.Swami.Reddy@nsc.com>
 
* cr16.h (cr16_num_optab): Declared.
15,6 → 186,15
(CPU_OCTEON): New macro.
(OPCODE_IS_MEMBER): Handle Octeon instructions.
 
2008-01-23 Eric B. Weddington <eric.weddington@atmel.com>
 
* avr.h (AVR_ISA_RF401): Add new opcode set for at86rf401.
 
2008-01-03 Eric B. Weddington <eric.weddington@atmel.com>
 
* avr.h (AVR_ISA_USB162): Add new opcode set.
(AVR_ISA_AVR3): Likewise.
 
2007-11-29 Mark Shinwell <shinwell@codesourcery.com>
 
* mips.h (INSN_LOONGSON_2E): New.
338,6 → 518,10
before corresponding pa11 opcodes. Add strict pa10 register-immediate
entries for "fdc".
 
2005-09-30 Catherine Moore <clm@cm00re.com>
 
* bfin.h: New file.
 
2005-09-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
 
* hppa.h (pa_opcodes): Add new "fdc" and "fic" opcode entries.
/opcode/ia64.h
171,9 → 171,10
IA64_RS_BR,
IA64_RS_CFM,
IA64_RS_CPUID,
IA64_RS_CR_IIB,
IA64_RS_CR_IRR,
IA64_RS_CR_LRR,
IA64_RS_CR, /* 3-7,10-15,18,26-63,75-79,82-127 */
IA64_RS_CR, /* 3-7,10-15,18,28-63,75-79,82-127 */
IA64_RS_DBR,
IA64_RS_FR,
IA64_RS_FRb,
326,7 → 327,7
 
struct ia64_operand
{
enum ia64_operand_class class;
enum ia64_operand_class op_class;
 
/* Set VALUE as the operand bits for the operand of type SELF in the
instruction pointed to by CODE. If an error occurs, *CODE is not
/opcode/mips.h
1,6 → 1,6
/* mips.h. Mips opcode list for GDB, the GNU debugger.
Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
2003, 2004, 2005, 2008
2003, 2004, 2005, 2008, 2009
Free Software Foundation, Inc.
Contributed by Ralph Campbell and OSF
Commented and modified by Ian Lance Taylor, Cygnus Support
215,6 → 215,16
#define OP_SH_UDI4 6
#define OP_MASK_UDI4 0xfffff
 
/* Octeon */
#define OP_SH_BBITIND 16
#define OP_MASK_BBITIND 0x1f
#define OP_SH_CINSPOS 6
#define OP_MASK_CINSPOS 0x1f
#define OP_SH_CINSLM1 11
#define OP_MASK_CINSLM1 0x1f
#define OP_SH_SEQI 6
#define OP_MASK_SEQI 0x3ff
 
/* This structure holds information for a particular instruction. */
 
struct mips_opcode
252,6 → 262,7
 
Each of these characters corresponds to a mask field defined above.
 
"1" 5 bit sync type (OP_*_SHAMT)
"<" 5 bit shift amount (OP_*_SHAMT)
">" shift amount between 32 and 63, stored after subtracting 32 (OP_*_SHAMT)
"a" 26 bit target address (OP_*_TARGET)
370,6 → 381,20
"+3" UDI immediate bits 6-20
"+4" UDI immediate bits 6-25
 
Octeon:
"+x" Bit index field of bbit. Enforces: 0 <= index < 32.
"+X" Bit index field of bbit aliasing bbit32. Matches if 32 <= index < 64,
otherwise skips to next candidate.
"+p" Position field of cins/cins32/exts/exts32. Enforces 0 <= pos < 32.
"+P" Position field of cins/exts aliasing cins32/exts32. Matches if
32 <= pos < 64, otherwise skips to next candidate.
"+Q" Immediate field of seqi/snei. Enforces -512 <= imm < 512.
"+s" Length-minus-one field of cins/exts. Enforces: 0 <= lenm1 < 32.
"+S" Length-minus-one field of cins32/exts32 or cins/exts aliasing
cint32/exts32. Enforces non-negative value and that
pos + lenm1 < 32 or pos + lenm1 < 64 depending whether previous
position field is "+p" or "+P".
 
Other:
"()" parens surrounding optional value
"," separates operands
377,7 → 402,7
"+" Start of extension sequence.
 
Characters used so far, for quick reference when adding more:
"234567890"
"1234567890"
"%[]<>(),+:'@!$*&"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
"abcdefghijklopqrstuvwxz"
385,8 → 410,8
Extension character sequences used so far ("+" followed by the
following), for quick reference when adding more:
"1234"
"ABCDEFGHIT"
"t"
"ABCDEFGHIPQSTX"
"pstx"
*/
 
/* These are the bits which may be set in the pinfo field of an
456,6 → 481,9
#define INSN_MULT 0x40000000
/* Instruction synchronize shared memory. */
#define INSN_SYNC 0x80000000
/* Instruction is actually a macro. It should be ignored by the
disassembler, and requires special treatment by the assembler. */
#define INSN_MACRO 0xffffffff
 
/* These are the bits which may be set in the pinfo2 field of an
instruction. */
466,11 → 494,15
#define INSN2_READ_MDMX_ACC 0x00000002
/* Instruction writes MDMX accumulator. */
#define INSN2_WRITE_MDMX_ACC 0x00000004
/* Macro uses single-precision floating-point instructions. This should
only be set for macros. For instructions, FP_S in pinfo carries the
same information. */
#define INSN2_M_FP_S 0x00000008
/* Macro uses double-precision floating-point instructions. This should
only be set for macros. For instructions, FP_D in pinfo carries the
same information. */
#define INSN2_M_FP_D 0x00000010
 
/* Instruction is actually a macro. It should be ignored by the
disassembler, and requires special treatment by the assembler. */
#define INSN_MACRO 0xffffffff
 
/* Masks used to mark instructions to indicate which MIPS ISA level
they were introduced in. INSN_ISA_MASK masks an enumeration that
specifies the base ISA level(s). The remainder of a 32-bit
511,7 → 543,7
{ 0x0001, 0x0003, 0x0607, 0x1e0f, 0x3e1f, 0x0a23, 0x3e63, 0x3ebf, 0x3fff };
 
/* Masks used for Chip specific instructions. */
#define INSN_CHIP_MASK 0xc3ff0800
#define INSN_CHIP_MASK 0xc3ff0820
 
/* Cavium Networks Octeon instructions. */
#define INSN_OCTEON 0x00000800
560,6 → 592,8
#define INSN_LOONGSON_2E 0x40000000
/* ST Microelectronics Loongson 2F. */
#define INSN_LOONGSON_2F 0x80000000
/* RMI Xlr instruction */
#define INSN_XLR 0x00000020
 
/* MIPS ISA defines, use instead of hardcoding ISA level. */
 
600,6 → 634,8
#define CPU_RM9000 9000
#define CPU_R10000 10000
#define CPU_R12000 12000
#define CPU_R14000 14000
#define CPU_R16000 16000
#define CPU_MIPS16 16
#define CPU_MIPS32 32
#define CPU_MIPS32R2 33
610,6 → 646,7
#define CPU_LOONGSON_2E 3001
#define CPU_LOONGSON_2F 3002
#define CPU_OCTEON 6501
#define CPU_XLR 887682 /* decimal 'XLR' */
 
/* Test for membership in an ISA including chip specific ISAs. INSN
is pointer to an element of the opcode table; ISA is the specified
629,7 → 666,8
|| (cpu == CPU_R4010 && ((insn)->membership & INSN_4010) != 0) \
|| (cpu == CPU_VR4100 && ((insn)->membership & INSN_4100) != 0) \
|| (cpu == CPU_R3900 && ((insn)->membership & INSN_3900) != 0) \
|| ((cpu == CPU_R10000 || cpu == CPU_R12000) \
|| ((cpu == CPU_R10000 || cpu == CPU_R12000 || cpu == CPU_R14000 \
|| cpu == CPU_R16000) \
&& ((insn)->membership & INSN_10000) != 0) \
|| (cpu == CPU_SB1 && ((insn)->membership & INSN_SB1) != 0) \
|| (cpu == CPU_R4111 && ((insn)->membership & INSN_4111) != 0) \
642,6 → 680,7
&& ((insn)->membership & INSN_LOONGSON_2F) != 0) \
|| (cpu == CPU_OCTEON \
&& ((insn)->membership & INSN_OCTEON) != 0) \
|| (cpu == CPU_XLR && ((insn)->membership & INSN_XLR) != 0) \
|| 0) /* Please keep this term for easier source merging. */
 
/* This is a list of macro expanded instructions.
774,6 → 813,11
M_LWR_A,
M_LWR_AB,
M_LWU_AB,
M_MSGSND,
M_MSGLD,
M_MSGLD_T,
M_MSGWAIT,
M_MSGWAIT_T,
M_MOVE,
M_MUL,
M_MUL_I,
955,11 → 999,10
#define MIPS16OP_MASK_IMM6 0x3f
#define MIPS16OP_SH_IMM6 5
 
/* These are the characters which may appears in the args field of an
instruction. They appear in the order in which the fields appear
when the instruction is used. Commas and parentheses in the args
string are ignored when assembling, and written into the output
when disassembling.
/* These are the characters which may appears in the args field of a MIPS16
instruction. They appear in the order in which the fields appear when the
instruction is used. Commas and parentheses in the args string are ignored
when assembling, and written into the output when disassembling.
 
"y" 3 bit register (MIPS16OP_*_RY)
"x" 3 bit register (MIPS16OP_*_RX)
/opcode/tic30.h
1,5 → 1,5
/* tic30.h -- Header file for TI TMS320C30 opcode table
Copyright 1998 Free Software Foundation, Inc.
Copyright 1998, 2005, 2009 Free Software Foundation, Inc.
Contributed by Steven Haworth (steve@pm.cse.rmit.edu.au)
 
This file is part of GDB, GAS, and the GNU binutils.
241,9 → 241,9
#define Imm_SInt 2
#define Imm_UInt 3
}
template;
insn_template;
 
static const template tic30_optab[] = {
static const insn_template tic30_optab[] = {
{ "absf" ,2,0x00000000,AddressMode, { GAddr1, Rn, 0 }, Imm_Float },
{ "absi" ,2,0x00800000,AddressMode, { GAddr2, AllReg, 0 }, Imm_SInt },
{ "addc" ,2,0x01000000,AddressMode, { GAddr2, AllReg, 0 }, Imm_SInt },
604,7 → 604,7
{ "" ,0,0x00000000,0, { 0, 0, 0 }, 0 }
};
 
static const template *const tic30_optab_end =
static const insn_template *const tic30_optab_end =
tic30_optab + sizeof(tic30_optab)/sizeof(tic30_optab[0]);
 
typedef struct {
/opcode/score-inst.h
1,6 → 1,7
/* score-inst.h -- Score Instructions Table
Copyright 2006 Free Software Foundation, Inc.
Copyright 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
Contributed by:
Brain.lin (brain.lin@sunplusct.com)
Mei Ligang (ligang@sunnorth.com.cn)
Pei-Lin Tsai (pltsai@sunplus.com)
 
8,7 → 9,7
 
GAS is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
the Free Software Foundation; either version 3, or (at your option)
any later version.
 
GAS is distributed in the hope that it will be useful,
96,6 → 97,8
Rd_Rs_I14,
I15,
Rd_I16,
Rd_I30,
Rd_I32,
Rd_rvalueRs_SI10,
Rd_lvalueRs_SI10,
Rd_rvalueRs_preSI12,
105,6 → 108,8
Rd_Rs_SI14,
Rd_rvalueRs_SI15,
Rd_lvalueRs_SI15,
Rd_SI5,
Rd_SI6,
Rd_SI16,
PC_DISP8div2,
PC_DISP11div2,
139,6 → 144,8
Insn_GP,
Insn_PIC,
Insn_internal,
Insn_BCMP,
Ra_I9_I5,
};
 
enum score_data_type
178,6 → 185,13
_SIMM16_pic = 42, /* Index in score_df_range. */
_IMM16_LO16_pic = 43,
_IMM16_pic = 44,
 
_SIMM5 = 45,
_SIMM6 = 46,
_IMM32 = 47,
_SIMM32 = 48,
_IMM11 = 49,
_IMM5_MULTI_LOAD = 50,
};
 
#define REG_TMP 1
206,302 → 220,17
#define OP16_SH_DISP8 (OP_IMM_TYPE | 0)
#define OP16_SH_DISP11 (OP_IMM_TYPE | 1)
 
struct datafield_range
{
int data_type;
int bits;
int range[2];
};
 
struct datafield_range score_df_range[] =
{
{_IMM4, 4, {0, (1 << 4) - 1}}, /* ( 0 ~ 15 ) */
{_IMM5, 5, {0, (1 << 5) - 1}}, /* ( 0 ~ 31 ) */
{_IMM8, 8, {0, (1 << 8) - 1}}, /* ( 0 ~ 255 ) */
{_IMM14, 14, {0, (1 << 14) - 1}}, /* ( 0 ~ 16383) */
{_IMM15, 15, {0, (1 << 15) - 1}}, /* ( 0 ~ 32767) */
{_IMM16, 16, {0, (1 << 16) - 1}}, /* ( 0 ~ 65535) */
{_SIMM10, 10, {-(1 << 9), (1 << 9) - 1}}, /* ( -512 ~ 511 ) */
{_SIMM12, 12, {-(1 << 11), (1 << 11) - 1}}, /* ( -2048 ~ 2047 ) */
{_SIMM14, 14, {-(1 << 13), (1 << 13) - 1}}, /* ( -8192 ~ 8191 ) */
{_SIMM15, 15, {-(1 << 14), (1 << 14) - 1}}, /* (-16384 ~ 16383) */
{_SIMM16, 16, {-(1 << 15), (1 << 15) - 1}}, /* (-32768 ~ 32767) */
{_SIMM14_NEG, 14, {-(1 << 13), (1 << 13) - 1}}, /* ( -8191 ~ 8192 ) */
{_IMM16_NEG, 16, {0, (1 << 16) - 1}}, /* (-65535 ~ 0 ) */
{_SIMM16_NEG, 16, {-(1 << 15), (1 << 15) - 1}}, /* (-32768 ~ 32767) */
{_IMM20, 20, {0, (1 << 20) - 1}},
{_IMM25, 25, {0, (1 << 25) - 1}},
{_DISP8div2, 8, {-(1 << 8), (1 << 8) - 1}}, /* ( -256 ~ 255 ) */
{_DISP11div2, 11, {0, 0}},
{_DISP19div2, 19, {-(1 << 19), (1 << 19) - 1}}, /* (-524288 ~ 524287) */
{_DISP24div2, 24, {0, 0}},
{_VALUE, 32, {0, ((unsigned int)1 << 31) - 1}},
{_VALUE_HI16, 16, {0, (1 << 16) - 1}},
{_VALUE_LO16, 16, {0, (1 << 16) - 1}},
{_VALUE_LDST_LO16, 16, {0, (1 << 16) - 1}},
{_SIMM16_LA, 16, {-(1 << 15), (1 << 15) - 1}}, /* (-32768 ~ 32767) */
{_IMM5_RSHIFT_1, 5, {0, (1 << 6) - 1}}, /* ( 0 ~ 63 ) */
{_IMM5_RSHIFT_2, 5, {0, (1 << 7) - 1}}, /* ( 0 ~ 127 ) */
{_SIMM16_LA_POS, 16, {0, (1 << 15) - 1}}, /* ( 0 ~ 32767) */
{_IMM5_RANGE_8_31, 5, {8, 31}}, /* But for cop0 the valid data : (8 ~ 31). */
{_IMM10_RSHIFT_2, 10, {-(1 << 11), (1 << 11) - 1}}, /* For ldc#, stc#. */
{_SIMM10, 10, {0, (1 << 10) - 1}}, /* ( -1024 ~ 1023 ) */
{_SIMM12, 12, {0, (1 << 12) - 1}}, /* ( -2048 ~ 2047 ) */
{_SIMM14, 14, {0, (1 << 14) - 1}}, /* ( -8192 ~ 8191 ) */
{_SIMM15, 15, {0, (1 << 15) - 1}}, /* (-16384 ~ 16383) */
{_SIMM16, 16, {0, (1 << 16) - 1}}, /* (-65536 ~ 65536) */
{_SIMM14_NEG, 14, {0, (1 << 16) - 1}}, /* ( -8191 ~ 8192 ) */
{_IMM16_NEG, 16, {0, (1 << 16) - 1}}, /* ( 65535 ~ 0 ) */
{_SIMM16_NEG, 16, {0, (1 << 16) - 1}}, /* ( 65535 ~ 0 ) */
{_IMM20, 20, {0, (1 << 20) - 1}}, /* (-32768 ~ 32767) */
{_IMM25, 25, {0, (1 << 25) - 1}}, /* (-32768 ~ 32767) */
{_GP_IMM15, 15, {0, (1 << 15) - 1}}, /* ( 0 ~ 65535) */
{_GP_IMM14, 14, {0, (1 << 14) - 1}}, /* ( 0 ~ 65535) */
{_SIMM16_pic, 16, {-(1 << 15), (1 << 15) - 1}}, /* (-32768 ~ 32767) */
{_IMM16_LO16_pic, 16, {0, (1 << 16) - 1}}, /* ( 65535 ~ 0 ) */
{_IMM16_pic, 16, {0, (1 << 16) - 1}}, /* ( 0 ~ 65535) */
};
 
struct shift_bitmask
{
int opd_type;
int opd_num;
struct datafield_range *df_range;
int sh[4];
long fieldbits[4];
};
 
struct shift_bitmask score_sh_bits_map[] =
{
{
Rd_I4, 2, &score_df_range[_IMM4],
{OP16_SH_REGD, OP16_SH_I45, 0, 0},
{0xf, 0xf, 0, 0},
},
{
Rd_I5, 2, &score_df_range[_IMM5],
{OP16_SH_REGD, OP16_SH_I45, 0, 0},
{0xf, 0x1f, 0, 0},
},
{
Rd_rvalueBP_I5, 2, &score_df_range[_IMM5],
{OP16_SH_REGD, OP16_SH_I45, 0, 0},
{0xf, 0x1f, 0, 0},
},
{
Rd_lvalueBP_I5, 2, &score_df_range[_IMM5],
{OP16_SH_REGD, OP16_SH_I45, 0, 0},
{0xf, 0x1f, 0, 0},
},
{
Rd_Rs_I5, 3, &score_df_range[_IMM5],
{OP_SH_REGD, OP_SH_REGS1, OP_SH_I5, 0},
{0x1f, 0x1f, 0x1f, 0},
},
{
x_Rs_I5, 2, &score_df_range[_IMM5],
{OP_SH_REGS1, OP_SH_I5, 0, 0},
{0x1f, 0x1f, 0, 0},
},
{
x_I5_x, 1, &score_df_range[_IMM5],
{OP_SH_TRAPI5, 0, 0, 0},
{0x1f, 0, 0, 0},
},
{
Rd_I8, 2, &score_df_range[_IMM8],
{OP16_SH_REGD, OP16_SH_I8, 0, 0},
{0xf, 0xff, 0, 0},
},
{
Rd_Rs_I14, 3, &score_df_range[_IMM14],
{OP_SH_REGD, OP_SH_REGS1, OP_SH_I, 0},
{0x1f, 0x1f, 0x3fff, 0},
},
{
I15, 1, &score_df_range[_IMM15],
{OP_SH_I15, 0, 0, 0},
{0x7fff, 0, 0, 0},
},
{
Rd_I16, 2, &score_df_range[_IMM16],
{OP_SH_REGD, OP_SH_I, 0, 0},
{0x1f, 0xffff, 0, 0},
},
{
Rd_rvalueRs_SI10, 3, &score_df_range[_SIMM10],
{OP_SH_REGD, OP_SH_REGS1, OP_SH_I10, 0},
{0x1f, 0x1f, 0x3ff, 0},
},
{
Rd_lvalueRs_SI10, 3, &score_df_range[_SIMM10],
{OP_SH_REGD, OP_SH_REGS1, OP_SH_I10, 0},
{0x1f, 0x1f, 0x3ff, 0},
},
{
Rd_rvalueRs_preSI12, 3, &score_df_range[_SIMM12],
{OP_SH_REGD, OP_SH_REGS1, OP_SH_I12, 0},
{0xf, 0xf, 0xfff, 0},
},
{
Rd_rvalueRs_postSI12, 3, &score_df_range[_SIMM12],
{OP_SH_REGD, OP_SH_REGS1, OP_SH_I12, 0},
{0xf, 0xf, 0xfff, 0},
},
{
Rd_lvalueRs_preSI12, 3, &score_df_range[_SIMM12],
{OP_SH_REGD, OP_SH_REGS1, OP_SH_I12, 0},
{0xf, 0xf, 0xfff, 0},
},
{
Rd_lvalueRs_postSI12, 3, &score_df_range[_SIMM12],
{OP_SH_REGD, OP_SH_REGS1, OP_SH_I12, 0},
{0xf, 0xf, 0xfff, 0},
},
{
Rd_Rs_SI14, 3, &score_df_range[_SIMM14],
{OP_SH_REGD, OP_SH_REGS1, OP_SH_I, 0},
{0x1f, 0x1f, 0x3fff, 0},
},
{
Rd_rvalueRs_SI15, 3, &score_df_range[_SIMM15],
{OP_SH_REGD, OP_SH_REGS1, OP_SH_RI15, 0},
{0x1f, 0x1f, 0x7fff, 0},
},
{
Rd_lvalueRs_SI15, 3, &score_df_range[_SIMM15],
{OP_SH_REGD, OP_SH_REGS1, OP_SH_RI15, 0},
{0x1f, 0x1f, 0x7fff, 0},
},
{
Rd_SI16, 2, &score_df_range[_SIMM16],
{OP_SH_REGD, OP_SH_I, 0, 0},
{0x1f, 0xffff, 0, 0},
},
{
PC_DISP8div2, 1, &score_df_range[_DISP8div2],
{OP16_SH_DISP8, 0, 0, 0},
{0xff, 0, 0, 0},
},
{
PC_DISP11div2, 1, &score_df_range[_DISP11div2],
{OP16_SH_DISP11, 0, 0, 0},
{0x7ff, 0, 0, 0},
},
{
PC_DISP19div2, 2, &score_df_range[_DISP19div2],
{OP_SH_DISP19_p1, OP_SH_DISP19_p2, 0, 0},
{0x3ff, 0x1ff, 0, 0},
},
{
PC_DISP24div2, 1, &score_df_range[_DISP24div2],
{OP_SH_DISP24, 0, 0, 0},
{0xffffff, 0, 0, 0},
},
{
Rd_Rs_Rs, 3, NULL,
{OP_SH_REGD, OP_SH_REGS1, OP_SH_REGS2, 0},
{0x1f, 0x1f, 0x1f, 0}
},
{
Rd_Rs_x, 2, NULL,
{OP_SH_REGD, OP_SH_REGS1, 0, 0},
{0x1f, 0x1f, 0, 0},
},
{
Rd_x_Rs, 2, NULL,
{OP_SH_REGD, OP_SH_REGS2, 0, 0},
{0x1f, 0x1f, 0, 0},
},
{
Rd_x_x, 1, NULL,
{OP_SH_REGD, 0, 0, 0},
{0x1f, 0, 0, 0},
},
{
x_Rs_Rs, 2, NULL,
{OP_SH_REGS1, OP_SH_REGS2, 0, 0},
{0x1f, 0x1f, 0, 0},
},
{
x_Rs_x, 1, NULL,
{OP_SH_REGS1, 0, 0, 0},
{0x1f, 0, 0, 0},
},
{
Rd_Rs, 2, NULL,
{OP16_SH_REGD, OP16_SH_REGS1, 0, 0},
{0xf, 0xf, 0, 0},
},
{
Rd_HighRs, 2, NULL,
{OP16_SH_REGD, OP16_SH_REGS1, 0, 0},
{0xf, 0xf, 0x1f, 0},
},
{
Rd_rvalueRs, 2, NULL,
{OP16_SH_REGD, OP16_SH_REGS1, 0, 0},
{0xf, 0xf, 0, 0},
},
{
Rd_lvalueRs, 2, NULL,
{OP16_SH_REGD, OP16_SH_REGS1, 0, 0},
{0xf, 0xf, 0, 0}
},
{
Rd_lvalue32Rs, 2, NULL,
{OP_SH_REGD, OP_SH_REGS1, 0, 0},
{0x1f, 0x1f, 0, 0},
},
{
Rd_rvalue32Rs, 2, NULL,
{OP_SH_REGD, OP_SH_REGS1, 0, 0},
{0x1f, 0x1f, 0, 0},
},
{
x_Rs, 1, NULL,
{OP16_SH_REGS1, 0, 0, 0},
{0xf, 0, 0, 0},
},
{
NO_OPD, 0, NULL,
{0, 0, 0, 0},
{0, 0, 0, 0},
},
{
NO16_OPD, 0, NULL,
{0, 0, 0, 0},
{0, 0, 0, 0},
},
};
 
struct asm_opcode
{
/* Instruction name. */
const char *template;
 
/* Instruction Opcode. */
unsigned long value;
 
/* Instruction bit mask. */
unsigned long bitmask;
 
/* Relax instruction opcode. 0x8000 imply no relaxation. */
unsigned long relax_value;
 
/* Instruction type. */
enum score_insn_type type;
 
/* Function to call to parse args. */
void (*parms) (char *);
};
 
enum insn_class
{
INSN_CLASS_16,
INSN_CLASS_32,
INSN_CLASS_48,
INSN_CLASS_PCE,
INSN_CLASS_SYN
};
 
/* s3_s7: Globals for both tc-score.c and elf32-score.c. */
extern int score3;
extern int score7;
 
#endif
/opcode/hppa.h
1,6 → 1,6
/* Table of opcodes for the PA-RISC.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000,
2001, 2002, 2003, 2004, 2005
2001, 2002, 2003, 2004, 2005, 2006, 2009
Free Software Foundation, Inc.
 
Contributed by the Center for Software Science at the
597,6 → 597,7
{ "bb", 0xc0006000, 0xffe06000, "?Bnx,!,w", pa20, FLAG_STRICT},
{ "bb", 0xc4004000, 0xfc006000, "?bnx,Q,w", pa10, FLAG_STRICT},
{ "bb", 0xc4004000, 0xfc004000, "?Bnx,B,w", pa20, FLAG_STRICT},
{ "bb", 0xc4004000, 0xfc006000, "?bnx,Q,w", pa10, 0},
{ "bvb", 0xc0004000, 0xffe04000, "?bnx,w", pa10, 0},
{ "clrbts", 0xe8004005, 0xffffffff, "", pa20, FLAG_STRICT},
{ "popbts", 0xe8004005, 0xfffff007, "$", pa20, FLAG_STRICT},
/libiberty.h
1,6 → 1,7
/* Function declarations for libiberty.
 
Copyright 2001, 2002, 2005, 2007 Free Software Foundation, Inc.
Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
2006, 2007, 2008, 2009 Free Software Foundation, Inc.
Note - certain prototypes declared in this header file are for
functions whoes implementation copyright does not belong to the
311,6 → 312,8
extern double physmem_total (void);
extern double physmem_available (void);
 
/* Compute the 32-bit CRC of a block of memory. */
extern unsigned int xcrc32 (const unsigned char *, int, unsigned int);
 
/* These macros provide a K&R/C89/C++-friendly way of allocating structures
with nice encapsulation. The XDELETE*() macros are technically
320,26 → 323,34
 
/* Scalar allocators. */
 
#define XALLOCA(T) ((T *) alloca (sizeof (T)))
#define XNEW(T) ((T *) xmalloc (sizeof (T)))
#define XCNEW(T) ((T *) xcalloc (1, sizeof (T)))
#define XDUP(T, P) ((T *) xmemdup ((P), sizeof (T), sizeof (T)))
#define XDELETE(P) free ((void*) (P))
 
/* Array allocators. */
 
#define XALLOCAVEC(T, N) ((T *) alloca (sizeof (T) * (N)))
#define XNEWVEC(T, N) ((T *) xmalloc (sizeof (T) * (N)))
#define XCNEWVEC(T, N) ((T *) xcalloc ((N), sizeof (T)))
#define XDUPVEC(T, P, N) ((T *) xmemdup ((P), sizeof (T) * (N), sizeof (T) * (N)))
#define XRESIZEVEC(T, P, N) ((T *) xrealloc ((void *) (P), sizeof (T) * (N)))
#define XDELETEVEC(P) free ((void*) (P))
 
/* Allocators for variable-sized structures and raw buffers. */
 
#define XALLOCAVAR(T, S) ((T *) alloca ((S)))
#define XNEWVAR(T, S) ((T *) xmalloc ((S)))
#define XCNEWVAR(T, S) ((T *) xcalloc (1, (S)))
#define XDUPVAR(T, P, S1, S2) ((T *) xmemdup ((P), (S1), (S2)))
#define XRESIZEVAR(T, P, S) ((T *) xrealloc ((P), (S)))
 
/* Type-safe obstack allocator. */
 
#define XOBNEW(O, T) ((T *) obstack_alloc ((O), sizeof (T)))
#define XOBNEWVEC(O, T, N) ((T *) obstack_alloc ((O), sizeof (T) * (N)))
#define XOBNEWVAR(O, T, S) ((T *) obstack_alloc ((O), (S)))
#define XOBFINISH(O, T) ((T) obstack_finish ((O)))
 
/* hex character manipulation routines */
/splay-tree.h
1,5 → 1,6
/* A splay-tree datatype.
Copyright 1998, 1999, 2000, 2002, 2007 Free Software Foundation, Inc.
Copyright 1998, 1999, 2000, 2002, 2005, 2007, 2009
Free Software Foundation, Inc.
Contributed by Mark Mitchell (mark@markmitchell.com).
 
This file is part of GCC.
86,8 → 87,7
typedef void (*splay_tree_deallocate_fn) (void *, void *);
 
/* The nodes in the splay tree. */
struct splay_tree_node_s GTY(())
{
struct GTY(()) splay_tree_node_s {
/* The key. */
splay_tree_key GTY ((use_param1)) key;
 
100,8 → 100,7
};
 
/* The splay tree itself. */
struct splay_tree_s GTY(())
{
struct GTY(()) splay_tree_s {
/* The root of the tree. */
splay_tree_node GTY ((use_params)) root;
 
/xtensa-isa-internal.h
1,5 → 1,5
/* Internal definitions for configurable Xtensa ISA support.
Copyright 2003, 2004, 2005 Free Software Foundation, Inc.
Copyright 2003, 2004, 2005, 2008 Free Software Foundation, Inc.
 
This file is part of BFD, the Binary File Descriptor library.
 
15,7 → 15,8
 
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301,
USA. */
 
#ifndef XTENSA_ISA_INTERNAL_H
#define XTENSA_ISA_INTERNAL_H
33,6 → 34,7
#define XTENSA_OPCODE_IS_CALL 0x00000008
 
#define XTENSA_STATE_IS_EXPORTED 0x00000001
#define XTENSA_STATE_IS_SHARED_OR 0x00000002
 
#define XTENSA_INTERFACE_HAS_SIDE_EFFECT 0x00000001
 
/coff/xcoff.h
1,7 → 1,7
/* Internal format of XCOFF object file data structures for BFD.
 
Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005
Free Software Foundation, Inc.
Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005,
2009 Free Software Foundation, Inc.
Written by Ian Lance Taylor <ian@cygnus.com>, Cygnus Support.
 
This file is part of BFD, the Binary File Descriptor library.
214,6 → 214,8
#define L_ENTRY (0x20)
/* Exported symbol. */
#define L_EXPORT (0x10)
/* Weak symbol. */
#define L_WEAK (0x08)
 
/* The ldrel structure. This is used to represent a reloc in the
.loader section. */
291,11 → 293,12
#define XCOFF_LDREL 0x00000008
/* Symbol is the entry point. */
#define XCOFF_ENTRY 0x00000010
/* Symbol is called; this is, it appears in a R_BR reloc. */
/* Symbol is for a function and is the target of a relocation.
The relocation may or may not be a branch-type relocation. */
#define XCOFF_CALLED 0x00000020
/* Symbol needs the TOC entry filled in. */
#define XCOFF_SET_TOC 0x00000040
/* Symbol is explicitly imported. */
/* Symbol is implicitly or explicitly imported. */
#define XCOFF_IMPORT 0x00000080
/* Symbol is explicitly exported. */
#define XCOFF_EXPORT 0x00000100
315,6 → 318,10
#define XCOFF_SYSCALL32 0x00008000
/* Symbol is an imported 64 bit syscall. */
#define XCOFF_SYSCALL64 0x00010000
/* Symbol was not explicitly defined by the time it was marked. */
#define XCOFF_WAS_UNDEFINED 0x00020000
/* We have assigned an output XCOFF entry to this symbol. */
#define XCOFF_ALLOCATED 0x00040000
 
/* The XCOFF linker hash table. */
 
326,65 → 333,10
#define XCOFF_SPECIAL_SECTION_END 4
#define XCOFF_SPECIAL_SECTION_END2 5
 
struct xcoff_link_hash_table
{
struct bfd_link_hash_table root;
/* These flags indicate which of -bexpall and -bexpfull are in effect. */
#define XCOFF_EXPALL 1
#define XCOFF_EXPFULL 2
 
/* The .debug string hash table. We need to compute this while
reading the input files, so that we know how large the .debug
section will be before we assign section positions. */
struct bfd_strtab_hash *debug_strtab;
 
/* The .debug section we will use for the final output. */
asection *debug_section;
 
/* The .loader section we will use for the final output. */
asection *loader_section;
 
/* A count of non TOC relative relocs which will need to be
allocated in the .loader section. */
size_t ldrel_count;
 
/* The .loader section header. */
struct internal_ldhdr ldhdr;
 
/* The .gl section we use to hold global linkage code. */
asection *linkage_section;
 
/* The .tc section we use to hold toc entries we build for global
linkage code. */
asection *toc_section;
 
/* The .ds section we use to hold function descriptors which we
create for exported symbols. */
asection *descriptor_section;
 
/* The list of import files. */
struct xcoff_import_file *imports;
 
/* Required alignment of sections within the output file. */
unsigned long file_align;
 
/* Whether the .text section must be read-only. */
bfd_boolean textro;
 
/* Whether garbage collection was done. */
bfd_boolean gc;
 
/* A linked list of symbols for which we have size information. */
struct xcoff_link_size_list
{
struct xcoff_link_size_list *next;
struct xcoff_link_hash_entry *h;
bfd_size_type size;
}
*size_list;
 
/* Magic sections: _text, _etext, _data, _edata, _end, end. */
asection *special_sections[XCOFF_NUMBER_OF_SPECIAL_SECTIONS];
};
 
 
/* This structure is used to pass information through
xcoff_link_hash_traverse. */
 
399,8 → 351,8
/* Link information structure. */
struct bfd_link_info *info;
 
/* Whether all defined symbols should be exported. */
bfd_boolean export_defineds;
/* A mask of XCOFF_EXPALL and XCOFF_EXPFULL flags. */
unsigned int auto_export_flags;
 
/* Number of ldsym structures. */
size_t ldsym_count;
636,4 → 588,8
#define arch_xhdr_big(bfd) \
((struct xcoff_ar_hdr_big *) arch_eltdata (bfd)->arch_header)
 
/* True if symbols of class CLASS are external. */
#define EXTERN_SYM_P(CLASS) \
((CLASS) == C_EXT || (CLASS) == C_AIX_WEAKEXT)
 
#endif /* _INTERNAL_XCOFF_H */
/coff/symconst.h
163,6 → 163,13
#define btVoid 26 /* void */
#define btLongLong 27 /* long long */
#define btULongLong 28 /* unsigned long long */
#define btLong64 30 /* long (64-bit) */
#define btULong64 31 /* unsigned long (64-bit) */
#define btLongLong64 32 /* long long (64-bit) */
#define btULongLong64 33 /* unsigned long long (64-bit) */
#define btAdr64 34 /* address (64-bit) */
#define btInt64 35 /* int (64-bit) */
#define btUInt64 36 /* unsigned int (64-bit) */
#define btMax 64
 
#if (_MFG == _MIPS)
/coff/ChangeLog
1,3 → 1,125
2009-09-05 Martin Thuresson <martin@mtme.org>
 
* ti.h (GET_LNSZ_SIZE, PUT_LNSZ_SIZE): Updated name of class
variable to in_class to match changes in function that use this
macro.
 
2009-08-10 Jan Kratochvil <jan.kratochvil@redhat.com>
 
Fix references past allocated memory for i386-*-go32.
* ti.h (COFF_ADJUST_FILEHDR_IN_POST, COFF_ADJUST_FILEHDR_OUT_POST):
Reference F_TARGET_ID only when !COFF0_P.
 
2009-08-10 Jan Kratochvil <jan.kratochvil@redhat.com>
 
Stop using bfd_usrdata in libbfd.
* go32exe.h (struct external_filehdr_go32_exe <stub>, FILHSZ): Replace
STUBSIZE by GO32_STUBSIZE.
(STUBSIZE): Move the definition ...
* internal.h (GO32_STUBSIZE): ... here and rename it.
(struct internal_filehdr <go32stub>, F_GO32STUB): New.
 
2009-06-03 Ulrich Weigand <uweigand@de.ibm.com>
 
* symconst.h (btLong64, btULong64, btLongLong64, btULongLong64,
btAdr64, btInt64, btUInt64): New defines.
 
2009-04-21 Kai Tietz <kai.tietz@onevision.com>
 
* pe.h (pex64_runtime_function): New structure.
(external_pex64_runtime_function): Likewise.
(pex64_unwind_code): Likewise.
(external_pex64_unwind_code): Likewise.
(pex64_unwind_info): Likewise.
(external_pex64_unwind_info): Likewise.
(external_pex64_scope): Likewise.
(pex64_scope): Likewise.
(pex64_scope_entry): Likewise.
(external_pex64_scope_entry): Likewise.
(PEX64_IS_RUNTIME_FUNCTION_CHAINED): New macro.
(PEX64_GET_UNWINDDATA_UNIFIED_RVA): Likewise.
(PEX64_UNWCODE_CODE): Likewise.
(PEX64_UNWCODE_INFO): Likewise.
(UWOP_...): Add defines for unwind code.
(UNW_FLAG_...): Add defined for unwind info flags.
(PEX64_SCOPE_ENTRY_SIZE): New macro.
(PEX64_UWI_VERSION): Likewise.
(PEX64_UWI_FLAGS): Likewise.
(PEX64_UWI_FRAMEREG): Likewise.
(PEX64_UWI_FRAMEOFF): Likewise.
(PEX64_UWI_SIZEOF_UWCODE_ARRAY): Likewise.
(PEX64_OFFSET_TO_UNWIND_CODE): Likewise.
(PEX64_OFFSET_TO_HANDLER_RVA): Likewise.
(PEX64_OFFSET_TO_SCOPE_COUNT): Likewise.
(PEX64_SCOPE_ENTRY): Likewise.
 
2009-04-17 H.J. Lu <hongjiu.lu@intel.com>
 
* pe.h (IMAGE_SUBSYSTEM_EFI_ROM): Renamed to ...
(IMAGE_SUBSYSTEM_SAL_RUNTIME_DRIVER): This.
 
2009-04-01 Richard Sandiford <r.sandiford@uk.ibm.com>
 
* xcoff.h (xcoff_link_hash_table): Move to bfd/xcofflink.c.
 
2009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
 
* xcoff.h (XCOFF_EXPALL, XCOFF_EXPFULL): New flags.
(xcoff_loader_info): Add auto_export_flags.
 
2009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
 
* internal.h (C_AIX_WEAKEXT): New macro.
(C_WEAKEXT): Use the GNU definition in the generic part of the file,
and conditionally reset it to C_AIX_WEAKEXT in the XCOFF part of
the file.
(CSECT_SYM_P): New macro.
* xcoff.h (L_WEAK): Define.
(EXTERN_SYM_P): New macro.
 
2009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
 
* xcoff.h (XCOFF_ALLOCATED): New flag.
 
2009-03-14 Richard Sandiford <r.sandiford@uk.ibm.com>
 
* xcoff.h (XCOFF_CALLED, XCOFF_IMPORT): Update comments.
(XCOFF_WAS_UNDEFINED): New flag.
(xcoff_link_hash_table): Add an "rtld" field.
 
2009-03-14 Dave Korn <dave.korn.cygwin@gmail.com>
 
* internal.h (struct internal_extra_pe_aouthdr): Correct type
of DllCharacteristics flags field to unsigned.
* pe.h (IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE,
IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE,
IMAGE_DLL_CHARACTERISTICS_NX_COMPAT,
IMAGE_DLLCHARACTERISTICS_NO_ISOLATION,
IMAGE_DLLCHARACTERISTICS_NO_SEH,
IMAGE_DLLCHARACTERISTICS_NO_BIND,
IMAGE_DLLCHARACTERISTICS_WDM_DRIVER,
IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE): New macros to
define flag bit values for DllCharacteristics field of PEAOUTHDR,
PEPAOUTHDR.
 
2008-12-23 Johan Olmutz Nielsen <jnielsen@ddci.com>
 
* ti.h (COFF_ADJUST_SCNHDR_OUT_PRE): Define.
 
2008-06-17 Nick Clifton <nickc@redhat.com>
 
* ti.h (GET_SCNHDR_NLNNO): Provide an alternative version of this
macro which does not trigger an array bounds warning in gcc.
(PUT_SCNHDR_NLNNO): Likewise.
(GET_SCNHDR_FLAGS): Likewise.
(PUT_SCNHDR_FLAGS): Likewise.
(GET_SCNHDR_PAGE): Likewise.
(PUT_SCNHDR_PAGE): Likewise.
 
2007-11-05 Danny Smith <dannysmith@users.sourceforge.net>
 
* pe.h (COFF_ENCODE_ALIGNMENT) Define.
 
2007-08-02 H.J. Lu <hongjiu.lu@intel.com>
 
* pe.h (IMAGE_SCN_ALIGN_POWER_BIT_POS): New.
/coff/pe.h
1,6 → 1,7
/* pe.h - PE COFF header information
 
Copyright 1999, 2000, 2001, 2003, 2004, 2006 Free Software Foundation, Inc.
Copyright 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007, 2009
Free Software Foundation, Inc.
 
This file is part of BFD, the Binary File Descriptor library.
 
38,6 → 39,17
#define IMAGE_FILE_UP_SYSTEM_ONLY 0x4000
#define IMAGE_FILE_BYTES_REVERSED_HI 0x8000
 
/* DllCharacteristics flag bits. The inconsistent naming may seem
odd, but that is how they are defined in the PE specification. */
#define IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE 0x0040
#define IMAGE_DLL_CHARACTERISTICS_FORCE_INTEGRITY 0x0080
#define IMAGE_DLL_CHARACTERISTICS_NX_COMPAT 0x0100
#define IMAGE_DLLCHARACTERISTICS_NO_ISOLATION 0x0200
#define IMAGE_DLLCHARACTERISTICS_NO_SEH 0x0400
#define IMAGE_DLLCHARACTERISTICS_NO_BIND 0x0800
#define IMAGE_DLLCHARACTERISTICS_WDM_DRIVER 0x2000
#define IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE 0x8000
 
/* Additional flags to be set for section headers to allow the NT loader to
read and write to the section data (to replace the addresses of data in
dlls for one thing); also to execute the section in .text's case. */
150,7 → 162,7
#define IMAGE_SUBSYSTEM_EFI_APPLICATION 10
#define IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER 11
#define IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER 12
#define IMAGE_SUBSYSTEM_EFI_ROM 13
#define IMAGE_SUBSYSTEM_SAL_RUNTIME_DRIVER 13
#define IMAGE_SUBSYSTEM_XBOX 14
/* Magic values that are true for all dos/nt implementations. */
347,4 → 359,154
#define IMAGE_WEAK_EXTERN_SEARCH_LIBRARY 2
#define IMAGE_WEAK_EXTERN_SEARCH_ALIAS 3
 
/* .pdata/.xdata defines and structures for x64 PE+ for exception handling. */
 
/* .pdata in exception directory. */
 
struct pex64_runtime_function
{
bfd_vma rva_BeginAddress;
bfd_vma rva_EndAddress;
bfd_vma rva_UnwindData;
unsigned int isChained : 1;
};
 
struct external_pex64_runtime_function
{
bfd_byte rva_BeginAddress[4];
bfd_byte rva_EndAddress[4];
bfd_byte rva_UnwindData[4];
};
 
/* If the lowest significant bit is set for rva_UnwindData RVA, it
means that the unified RVA points to another pex64_runtime_function
that this entry shares the unwind_info block with. */
#define PEX64_IS_RUNTIME_FUNCTION_CHAINED(PTR_RTF) \
(((PTR_RTF)->rva_UnwindData & 1) != 0)
#define PEX64_GET_UNWINDDATA_UNIFIED_RVA(PTR_RTF) \
((PTR_RTF)->rva_UnwindData & ~1)
 
/* The unwind codes. */
#define UWOP_PUSH_NONVOL 0
#define UWOP_ALLOC_LARGE 1
#define UWOP_ALLOC_SMALL 2
#define UWOP_SET_FPREG 3
#define UWOP_SAVE_NONVOL 4
#define UWOP_SAVE_NONVOL_FAR 5
#define UWOP_SAVE_XMM 6
#define UWOP_SAVE_XMM_FAR 7
#define UWOP_SAVE_XMM128 8
#define UWOP_SAVE_XMM128_FAR 9
#define UWOP_PUSH_MACHFRAME 10
 
struct pex64_unwind_code
{
bfd_vma prologue_offset;
/* Contains Frame offset, or frame allocation size. */
bfd_vma frame_addr;
unsigned int uwop_code : 4;
/* xmm, mm, or standard register from 0 - 15. */
unsigned int reg : 4;
/* Used for UWOP_PUSH_MACHFRAME to indicate optional errorcode stack
argument. */
unsigned int has_errorcode : 1;
};
 
struct external_pex64_unwind_code
{
bfd_byte dta[2];
};
 
#define PEX64_UNWCODE_CODE(VAL) ((VAL) & 0xf)
#define PEX64_UNWCODE_INFO(VAL) (((VAL) >> 4) & 0xf)
 
/* The unwind info. */
#define UNW_FLAG_NHANDLER 0
#define UNW_FLAG_EHANDLER 1
#define UNW_FLAG_UHANDLER 2
#define UNW_FLAG_FHANDLER 3
#define UNW_FLAG_CHAININFO 4
 
#define UNW_FLAG_MASK 0x1f
 
struct pex64_unwind_info
{
bfd_vma SizeOfBlock;
bfd_byte Version; /* Values from 0 up to 7 are possible. */
bfd_byte Flags; /* Values from 0 up to 31 are possible. */
bfd_vma SizeOfPrologue;
bfd_vma CountOfCodes; /* Amount of pex64_unwind_code elements. */
/* 0 = CFA, 1..15 are index of integer registers. */
unsigned int FrameRegister : 4;
bfd_vma FrameOffset;
bfd_vma sizeofUnwindCodes;
bfd_byte *rawUnwindCodes;
/* Valid for UNW_FLAG_EHANDLER and UNW_FLAG_UHANDLER. */
bfd_vma CountOfScopes;
bfd_byte *rawScopeEntries;
bfd_vma rva_ExceptionHandler; /* UNW_EHANDLER. */
bfd_vma rva_TerminationHandler; /* UNW_FLAG_UHANDLER. */
bfd_vma rva_FrameHandler; /* UNW_FLAG_FHANDLER. */
bfd_vma FrameHandlerArgument; /* UNW_FLAG_FHANDLER. */
bfd_vma rva_FunctionEntry; /* UNW_FLAG_CHAININFO. */
};
 
struct external_pex64_unwind_info
{
bfd_byte Version_Flags;
bfd_byte SizeOfPrologue;
bfd_byte CountOfCodes;
bfd_byte FrameRegisterOffset;
/* external_pex64_unwind_code array. */
/* bfd_byte handler[4]; */
/* Optional language specific data. */
};
 
struct external_pex64_scope
{
bfd_vma Count;
};
 
struct pex64_scope
{
bfd_byte Count[4];
};
 
struct pex64_scope_entry
{
bfd_vma rva_BeginAddress;
bfd_vma rva_EndAddress;
bfd_vma rva_HandlerAddress;
bfd_vma rva_JumpAddress;
};
#define PEX64_SCOPE_ENTRY_SIZE 16
 
struct external_pex64_scope_entry
{
bfd_byte rva_BeginAddress[4];
bfd_byte rva_EndAddress[4];
bfd_byte rva_HandlerAddress[4];
bfd_byte rva_JumpAddress[4];
};
 
#define PEX64_UWI_VERSION(VAL) ((VAL) & 7)
#define PEX64_UWI_FLAGS(VAL) (((VAL) >> 3) & 0x1f)
#define PEX64_UWI_FRAMEREG(VAL) ((VAL) & 0xf)
#define PEX64_UWI_FRAMEOFF(VAL) (((VAL) >> 4) & 0xf)
#define PEX64_UWI_SIZEOF_UWCODE_ARRAY(VAL) \
((((VAL) + 1) & ~1) * 2)
 
#define PEX64_OFFSET_TO_UNWIND_CODE 0x4
 
#define PEX64_OFFSET_TO_HANDLER_RVA (COUNTOFUNWINDCODES) \
(PEX64_OFFSET_TO_UNWIND_CODE + \
PEX64_UWI_SIZEOF_UWCODE_ARRAY(COUNTOFUNWINDCODES))
 
#define PEX64_OFFSET_TO_SCOPE_COUNT(COUNTOFUNWINDCODES) \
(PEX64_OFFSET_TO_HANDLER_RVA(COUNTOFUNWINDCODES) + 4)
 
#define PEX64_SCOPE_ENTRY(COUNTOFUNWINDCODES, IDX) \
(PEX64_OFFSET_TO_SCOPE_COUNT(COUNTOFUNWINDCODES) + \
PEX64_SCOPE_ENTRY_SIZE * (IDX))
 
#endif /* _PE_H */
/coff/internal.h
1,7 → 1,7
/* Internal format of COFF object file data structures, for GNU BFD.
This file is part of BFD, the Binary File Descriptor library.
Copyright 1999, 2000, 2001, 2002, 2003, 2004. 2005, 2006, 2007
Copyright 1999, 2000, 2001, 2002, 2003, 2004. 2005, 2006, 2007, 2009
Free Software Foundation, Inc.
 
This program is free software; you can redistribute it and/or modify
58,10 → 58,19
bfd_vma nt_signature; /* required NT signature, 0x4550 */
};
 
#define GO32_STUBSIZE 2048
 
struct internal_filehdr
{
struct internal_extra_pe_filehdr pe;
 
/* coff-stgo32 EXE stub header before BFD tdata has been allocated.
Its data is kept in INTERNAL_FILEHDR.GO32STUB afterwards.
F_GO32STUB is set iff go32stub contains a valid data. Artifical headers
created in BFD have no pre-set go32stub. */
char go32stub[GO32_STUBSIZE];
 
/* Standard coff internal info. */
unsigned short f_magic; /* magic number */
unsigned short f_nscns; /* number of sections */
84,7 → 93,8
F_AR32W file is 32-bit big-endian
F_DYNLOAD rs/6000 aix: dynamically loadable w/imports & exports
F_SHROBJ rs/6000 aix: file is a shared object
F_DLL PE format DLL. */
F_DLL PE format DLL
F_GO32STUB Field go32stub contains valid data. */
 
#define F_RELFLG (0x0001)
#define F_EXEC (0x0002)
96,6 → 106,7
#define F_DYNLOAD (0x1000)
#define F_SHROBJ (0x2000)
#define F_DLL (0x2000)
#define F_GO32STUB (0x4000)
 
/* Extra structure which is used in the optional header. */
typedef struct _IMAGE_DATA_DIRECTORY
185,7 → 196,7
3 - WINDOWS_CUI runs in Windows char sub. (console app)
5 - OS2_CUI runs in OS/2 character subsystem
7 - POSIX_CUI runs in Posix character subsystem */
short DllCharacteristics; /* flags for DLL init, use 0 */
unsigned short DllCharacteristics; /* flags for DLL init */
bfd_vma SizeOfStackReserve; /* amount of memory to reserve */
bfd_vma SizeOfStackCommit; /* amount of memory initially committed for
initial thread's stack, default is 0x1000 */
273,12 → 284,7
#define C_LINE 104 /* line # reformatted as symbol table entry */
#define C_ALIAS 105 /* duplicate tag */
#define C_HIDDEN 106 /* ext symbol in dmert public lib */
 
#if defined _AIX52 || defined AIX_WEAK_SUPPORT
#define C_WEAKEXT 111 /* weak symbol -- AIX standard. */
#else
#define C_WEAKEXT 127 /* weak symbol -- GNU extension. */
#endif
 
/* New storage classes for TI COFF */
#define C_UEXT 19 /* Tentative external definition */
311,7 → 317,13
#define C_HIDEXT 107 /* Un-named external symbol */
#define C_BINCL 108 /* Marks beginning of include file */
#define C_EINCL 109 /* Marks ending of include file */
#define C_AIX_WEAKEXT 111 /* AIX definition of C_WEAKEXT. */
 
#if defined _AIX52 || defined AIX_WEAK_SUPPORT
#undef C_WEAKEXT
#define C_WEAKEXT C_AIX_WEAKEXT
#endif
 
/* storage classes for stab symbols for RS/6000 */
#define C_GSYM (0x80)
#define C_LSYM (0x81)
336,6 → 348,10
#define C_THUMBEXTFUNC (C_THUMBEXT + 20) /* 150 */
#define C_THUMBSTATFUNC (C_THUMBSTAT + 20) /* 151 */
 
/* True if XCOFF symbols of class CLASS have auxillary csect information. */
#define CSECT_SYM_P(CLASS) \
((CLASS) == C_EXT || (CLASS) == C_AIX_WEAKEXT || (CLASS) == C_HIDEXT)
 
/********************** SECTION HEADER **********************/
 
#define SCNNMLEN (8)
/coff/go32exe.h
1,6 → 1,6
/* COFF information for PC running go32.
 
Copyright 2001 Free Software Foundation, Inc.
Copyright 2001, 2005, 2009 Free Software Foundation, Inc.
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
16,11 → 16,9
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
 
#define STUBSIZE 2048
 
struct external_filehdr_go32_exe
{
char stub[STUBSIZE];/* the stub to load the image */
char stub[GO32_STUBSIZE]; /* the stub to load the image */
/* the standard COFF header */
char f_magic[2]; /* magic number */
char f_nscns[2]; /* number of sections */
34,4 → 32,4
#undef FILHDR
#define FILHDR struct external_filehdr_go32_exe
#undef FILHSZ
#define FILHSZ STUBSIZE+20
#define FILHSZ GO32_STUBSIZE+20
/coff/ti.h
2,7 → 2,8
customized in a target-specific file, and then this file included (see
tic54x.h for an example).
Copyright 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
Copyright 2000, 2001, 2002, 2003, 2005, 2008, 2009
Free Software Foundation, Inc.
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
102,8 → 103,9
#define COFF_ADJUST_FILEHDR_IN_POST(abfd, src, dst) \
do \
{ \
((struct internal_filehdr *)(dst))->f_target_id = \
H_GET_16 (abfd, ((FILHDR *)(src))->f_target_id); \
if (!COFF0_P (abfd)) \
((struct internal_filehdr *)(dst))->f_target_id = \
H_GET_16 (abfd, ((FILHDR *)(src))->f_target_id); \
} \
while (0)
#endif
110,11 → 112,12
 
#ifndef COFF_ADJUST_FILEHDR_OUT_POST
#define COFF_ADJUST_FILEHDR_OUT_POST(abfd, src, dst) \
do \
{ \
H_PUT_16 (abfd, ((struct internal_filehdr *)(src))->f_target_id, \
((FILHDR *)(dst))->f_target_id); \
} \
do \
{ \
if (!COFF0_P (abfd)) \
H_PUT_16 (abfd, ((struct internal_filehdr *)(src))->f_target_id, \
((FILHDR *)(dst))->f_target_id); \
} \
while (0)
#endif
 
213,13 → 216,82
 
/* COFF2 changes the offsets and sizes of these fields
Assume we're dealing with the COFF2 scnhdr structure, and adjust
accordingly
*/
accordingly. Note: The GNU C versions of some of these macros
are necessary in order to avoid compile time warnings triggered
gcc's array bounds checking. The PUT_SCNHDR_PAGE macro also has
the advantage on not evaluating LOC twice. */
 
#define GET_SCNHDR_NRELOC(ABFD, LOC) \
(COFF2_P (ABFD) ? H_GET_32 (ABFD, LOC) : H_GET_16 (ABFD, LOC))
#define PUT_SCNHDR_NRELOC(ABFD, VAL, LOC) \
(COFF2_P (ABFD) ? H_PUT_32 (ABFD, VAL, LOC) : H_PUT_16 (ABFD, VAL, LOC))
#ifdef __GNUC__
#define GET_SCNHDR_NLNNO(ABFD, LOC) \
({ \
int nlnno; \
char * ptr = (LOC); \
if (COFF2_P (ABFD)) \
nlnno = H_GET_32 (ABFD, ptr); \
else \
nlnno = H_GET_16 (ABFD, ptr - 2); \
nlnno; \
})
#define PUT_SCNHDR_NLNNO(ABFD, VAL, LOC) \
do \
{ \
char * ptr = (LOC); \
if (COFF2_P (ABFD)) \
H_PUT_32 (ABFD, VAL, ptr); \
else \
H_PUT_16 (ABFD, VAL, ptr - 2); \
} \
while (0)
#define GET_SCNHDR_FLAGS(ABFD, LOC) \
({ \
int flags; \
char * ptr = (LOC); \
if (COFF2_P (ABFD)) \
flags = H_GET_32 (ABFD, ptr); \
else \
flags = H_GET_16 (ABFD, ptr - 4); \
flags; \
})
#define PUT_SCNHDR_FLAGS(ABFD, VAL, LOC) \
do \
{ \
char * ptr = (LOC); \
if (COFF2_P (ABFD)) \
H_PUT_32 (ABFD, VAL, ptr); \
else \
H_PUT_16 (ABFD, VAL, ptr - 4); \
} \
while (0)
#define GET_SCNHDR_PAGE(ABFD, LOC) \
({ \
unsigned page; \
char * ptr = (LOC); \
if (COFF2_P (ABFD)) \
page = H_GET_16 (ABFD, ptr); \
else \
page = (unsigned) H_GET_8 (ABFD, ptr - 7); \
page; \
})
/* On output, make sure that the "reserved" field is zero. */
#define PUT_SCNHDR_PAGE(ABFD, VAL, LOC) \
do \
{ \
char * ptr = (LOC); \
if (COFF2_P (ABFD)) \
H_PUT_16 (ABFD, VAL, ptr); \
else \
{ \
H_PUT_8 (ABFD, VAL, ptr - 7); \
H_PUT_8 (ABFD, 0, ptr - 8); \
} \
} \
while (0)
#else
#define GET_SCNHDR_NLNNO(ABFD, LOC) \
(COFF2_P (ABFD) ? H_GET_32 (ABFD, LOC) : H_GET_16 (ABFD, (LOC) - 2))
#define PUT_SCNHDR_NLNNO(ABFD, VAL, LOC) \
(COFF2_P (ABFD) ? H_PUT_32 (ABFD, VAL, LOC) : H_PUT_16 (ABFD, VAL, (LOC) - 2))
229,12 → 301,14
(COFF2_P (ABFD) ? H_PUT_32 (ABFD, VAL, LOC) : H_PUT_16 (ABFD, VAL, (LOC) - 4))
#define GET_SCNHDR_PAGE(ABFD, LOC) \
(COFF2_P (ABFD) ? H_GET_16 (ABFD, LOC) : (unsigned) H_GET_8 (ABFD, (LOC) - 7))
/* on output, make sure that the "reserved" field is zero */
/* On output, make sure that the "reserved" field is zero. */
#define PUT_SCNHDR_PAGE(ABFD, VAL, LOC) \
(COFF2_P (ABFD) \
? H_PUT_16 (ABFD, VAL, LOC) \
: H_PUT_8 (ABFD, VAL, (LOC) - 7), H_PUT_8 (ABFD, 0, (LOC) - 8))
#endif
 
 
/* TI COFF stores section size as number of bytes (address units, not octets),
so adjust to be number of octets, which is what BFD expects */
#define GET_SCNHDR_SIZE(ABFD, SZP) \
250,6 → 324,15
} \
while (0)
 
/* The entire scnhdr may not be assigned.
Ensure that everything is initialized. */
#define COFF_ADJUST_SCNHDR_OUT_PRE(ABFD, INT, EXT) \
do \
{ \
memset((EXT), 0, sizeof (SCNHDR)); \
} \
while (0)
 
/* The line number and reloc overflow checking in coff_swap_scnhdr_out in
coffswap.h doesn't use PUT_X for s_nlnno and s_nreloc.
Due to different sized v0/v1/v2 section headers, we have to re-write these
393,10 → 476,10
 
/* lnsz size is in bits in COFF file, in bytes in BFD */
#define GET_LNSZ_SIZE(abfd, ext) \
(H_GET_16 (abfd, ext->x_sym.x_misc.x_lnsz.x_size) / (class != C_FIELD ? 8 : 1))
(H_GET_16 (abfd, ext->x_sym.x_misc.x_lnsz.x_size) / (in_class != C_FIELD ? 8 : 1))
 
#define PUT_LNSZ_SIZE(abfd, in, ext) \
H_PUT_16 (abfd, ((class != C_FIELD) ? (in) * 8 : (in)), \
H_PUT_16 (abfd, ((in_class != C_FIELD) ? (in) * 8 : (in)), \
ext->x_sym.x_misc.x_lnsz.x_size)
/* TI COFF stores offsets for MOS and MOU in bits; BFD expects bytes

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.