Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/ChangeLog118
-rw-r--r--include/bfdlink.h7
-rw-r--r--include/dis-asm.h8
-rw-r--r--include/dwarf2.def685
-rw-r--r--include/dwarf2.h720
-rw-r--r--include/elf/ChangeLog125
-rw-r--r--include/elf/avr.h26
-rw-r--r--include/elf/common.h14
-rw-r--r--include/elf/m68hc11.h18
-rw-r--r--include/elf/mn10300.h9
-rw-r--r--include/elf/ppc.h27
-rw-r--r--include/elf/s390.h1
-rw-r--r--include/elf/sparc.h15
-rw-r--r--include/elf/tilegx.h48
-rw-r--r--include/elf/tilepro.h18
-rw-r--r--include/elf/xgate.h77
-rw-r--r--include/filenames.h6
-rw-r--r--include/gdb/ChangeLog20
-rw-r--r--include/gdb/callback.h7
-rw-r--r--include/gdb/gdb-index.h99
-rw-r--r--include/gdb/signals.def300
-rw-r--r--include/gdb/signals.h4
-rw-r--r--include/leb128.h136
-rw-r--r--include/mach-o/ChangeLog51
-rw-r--r--include/mach-o/codesign.h85
-rw-r--r--include/mach-o/external.h326
-rw-r--r--include/mach-o/loader.h360
-rw-r--r--include/mach-o/reloc.h33
-rw-r--r--include/mach-o/x86-64.h37
-rw-r--r--include/opcode/ChangeLog81
-rw-r--r--include/opcode/avr.h12
-rw-r--r--include/opcode/crx.h4
-rw-r--r--include/opcode/m68hc11.h50
-rw-r--r--include/opcode/mips.h52
-rw-r--r--include/opcode/ppc.h54
-rw-r--r--include/opcode/sparc.h57
-rw-r--r--include/opcode/tilegx.h2
-rw-r--r--include/opcode/tilepro.h2
-rw-r--r--include/opcode/xgate.h120
-rw-r--r--include/plugin-api.h3
-rw-r--r--include/splay-tree.h19
-rw-r--r--include/vms/ChangeLog4
-rw-r--r--include/vms/lbr.h3
43 files changed, 1794 insertions, 2049 deletions
diff --git a/include/ChangeLog b/include/ChangeLog
index 4ad0de858..da939f1e2 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,121 +1,3 @@
-2012-08-02 Sean Keys <skeys@ipdatasys.com>
-
- * elf/m68hc11.h: #define E_M68HC11_NO_BANK_WARNING
- 0x000000200
-
-2012-07-24 Stephan McCamant <smcc@cs.berkeley.edu>
- Dr David Alan Gilbert <dave@treblig.org>
-
- PR binutils/13135
- * dis-asm.h (fprintf_ftype): Add ATTRIBUTE_FPTR_PRINTF_2.
-
-2012-07-13 Doug Evans <dje@google.com>
-
- * filenames.h: #include "hashtab.h".
- (filename_hash, filename_eq): Declare.
-
-2012-07-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * elf/s390.h (START_RELOC_NUMBERS): Define R_390_IRELATIVE reloc.
-
-2012-07-05 Sean Keys <skeys@ipdatasys.com>
-
- * opcode/xgate.h: Changed the format string for mode
- XGATE_OP_DYA_MON.
-
-2012-06-18 Doug Evans <dje@google.com>
-
- * dwarf2.def (DW_OP): Add DW_OP_GNU_const_index.
-
-2012-06-12 Rafael Ávila de Espíndola <respindola@mozilla.com>
-
- * plugin-api.h (ld_plugin_output_file_type): Add LDPO_PIE.
-
-2012-06-08 Jakub Jelinek <jakub@redhat.com>
-
- * dwarf2.def (DW_FORM_GNU_ref_alt, DW_FORM_GNU_strp_alt): New
- forms.
- * dwarf2.h (enum dwarf_macro_record_type): Add
- DW_MACRO_GNU_define_indirect_alt, DW_MACRO_GNU_undef_indirect_alt
- and DW_MACRO_GNU_transparent_include_alt.
-
-2012-05-23 Doug Evans <dje@google.com>
-
- * leb128.h: #include stdint.h, inttypes.h.
- (read_uleb128_to_uint64): Renamed from read_uleb128_to_ull.
- Change to take a uint64_t * argument instead of unsigned long long.
- (read_sleb128_to_uint64): Renamed from read_sleb128_to_ll.
- Change to take an int64_t * argument instead of long long.
-
-2012-05-22 Doug Evans <dje@google.com>
-
- * leb128.h: New file.
-
-2012-05-19 Gary Funck <gary@intrepid.com>
-
- * dwarf2.def: Update comment re: UPC extensions to reference
- DWARF4 specification.
-
-2012-05-15 James Murray <jsm@jsm-net.demon.co.uk>
-
- * dis-asm.h (print_insn_m9s12x): Prototype.
- (print_insn_m9s12xg): Prototype.
-
-2012-05-03 Sean Keys <skeys@ipdatasys.com>
-
- * dis-asm.h (print_insn_xgate): Define.
- (print_insn_xgate): Ditto.
- Added new files for XGATE port.
-
-2012-05-02 Cary Coutant <ccoutant@google.com>
-
- * dwarf2.def: Remove DW_FORM_GNU_ref_index,
- replace DW_AT_GNU_ref_base with DW_AT_GNU_ranges_base.
-
-2012-04-28 Doug Evans <dje@google.com>
-
- * dwarf2.def (DW_OP): Add DW_OP_GNU_addr_index.
-
-2012-04-27 Tom Tromey <tromey@redhat.com>
-
- * dwarf2.h: Wrap function declarations in extern "C".
-
-2012-04-27 Tom Tromey <tromey@redhat.com>
-
- * dwarf2.h (enum dwarf_tag, enum dwarf_form, enum dwarf_attribute)
- (enum dwarf_location_atom, enum dwarf_type, enum
- dwarf_call_frame_info): Remove.
- (DW_TAG, DW_TAG_DUP, DW_FORM, DW_AT, DW_AT_DUP, DW_OP)
- (DW_OP_DUP, DW_ATE, DW_ATE_DUP, DW_CFA): New macros.
- Include dwarf2.def.
- (get_DW_TAG_name, get_DW_AT_name, get_DW_FORM_name)
- (get_DW_OP_name, get_DW_ATE_name): Declare.
- * dwarf2.def: New file, from dwarf2.h.
-
-2012-04-12 David S. Miller <davem@davemloft.net>
-
- * elf/sparc.h (R_SPARC_WDISP10): New reloc.
- * opcode/sparc.h: Define '=' as generating R_SPARC_WDISP10.
-
-2012-04-10 Tristan Gingold <gingold@adacore.com>
-
- * splay-tree.h: Conditionnaly includes stdint.h and inttypes.h
- (libi_uhostptr_t, libi_shostptr_t): Remove, replaced by uintptr_t.
-
-2012-04-09 Roland McGrath <mcgrathr@google.com>
-
- * bfdlink.h (struct bfd_link_info): Add new member user_phdrs.
-
-2012-03-15 Alan Modra <amodra@gmail.com>
-
- * dis-asm.h (disassemble_init_powerpc): Declare.
-
-2009-11-06 Jonas Maebe <jonas.maebe@elis.ugent.be>
-
- Add DWARF attribute value for the "Borland fastcall" calling
- convention.
- * elf/dwarf2.h: Add DW_CC_GNU_borland_fastcall_i386 constant.
-
2012-01-31 H.J. Lu <hongjiu.lu@intel.com>
PR ld/13616
diff --git a/include/bfdlink.h b/include/bfdlink.h
index d900b4783..c79d8f055 100644
--- a/include/bfdlink.h
+++ b/include/bfdlink.h
@@ -229,7 +229,7 @@ typedef enum {with_flags, without_flags} flag_type;
/* A section flag list. */
struct flag_info_list
{
- flag_type with;
+ flag_type with;
const char *name;
bfd_boolean valid;
struct flag_info_list *next;
@@ -405,9 +405,6 @@ struct bfd_link_info
/* TRUE if we should warn alternate ELF machine code. */
unsigned int warn_alternate_em: 1;
- /* TRUE if the linker script contained an explicit PHDRS command. */
- unsigned int user_phdrs: 1;
-
/* Char that may appear as the first char of a symbol, but should be
skipped (like symbol_leading_char) when looking up symbols in
wrap_hash. Used by PowerPC Linux for 'dot' symbols. */
@@ -677,7 +674,7 @@ struct bfd_link_order
} indirect;
struct
{
- /* Size of contents, or zero when contents should be filled by
+ /* Size of contents, or zero when contents should be filled by
the architecture-dependent fill function.
A non-zero value allows filling of the output section
with an arbitrary repeated pattern. */
diff --git a/include/dis-asm.h b/include/dis-asm.h
index 661e7cf58..d2334c63c 100644
--- a/include/dis-asm.h
+++ b/include/dis-asm.h
@@ -1,7 +1,7 @@
/* Interface between the opcode library and its callers.
Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009, 2010,
- 2011, 2012 Free Software Foundation, Inc.
+ 2011 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
@@ -35,7 +35,7 @@ extern "C" {
#include <stdio.h>
#include "bfd.h"
- typedef int (*fprintf_ftype) (void *, const char*, ...) ATTRIBUTE_FPTR_PRINTF_2;
+ typedef int (*fprintf_ftype) (void *, const char*, ...) /*ATTRIBUTE_FPTR_PRINTF_2*/;
enum dis_insn_type
{
@@ -260,8 +260,6 @@ 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 *);
extern int print_insn_m68hc12 (bfd_vma, disassemble_info *);
-extern int print_insn_m9s12x (bfd_vma, disassemble_info *);
-extern int print_insn_m9s12xg (bfd_vma, disassemble_info *);
extern int print_insn_m68k (bfd_vma, disassemble_info *);
extern int print_insn_m88k (bfd_vma, disassemble_info *);
extern int print_insn_mcore (bfd_vma, disassemble_info *);
@@ -295,7 +293,6 @@ extern int print_insn_v850 (bfd_vma, disassemble_info *);
extern int print_insn_vax (bfd_vma, disassemble_info *);
extern int print_insn_w65 (bfd_vma, disassemble_info *);
extern int print_insn_xc16x (bfd_vma, disassemble_info *);
-extern int print_insn_xgate (bfd_vma, disassemble_info *);
extern int print_insn_xstormy16 (bfd_vma, disassemble_info *);
extern int print_insn_xtensa (bfd_vma, disassemble_info *);
extern int print_insn_z80 (bfd_vma, disassemble_info *);
@@ -317,7 +314,6 @@ 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 **);
extern bfd_boolean arm_symbol_is_valid (asymbol *, struct disassemble_info *);
-extern void disassemble_init_powerpc (struct disassemble_info *);
/* Fetch the disassembler for a given BFD, if that support is available. */
extern disassembler_ftype disassembler (bfd *);
diff --git a/include/dwarf2.def b/include/dwarf2.def
deleted file mode 100644
index 3c3dfccf3..000000000
--- a/include/dwarf2.def
+++ /dev/null
@@ -1,685 +0,0 @@
-/* -*- c -*-
- Declarations and definitions of codes relating to the DWARF2 and
- DWARF3 symbolic debugging information formats.
- Copyright (C) 1992, 1993, 1995, 1996, 1997, 1999, 2000, 2001, 2002,
- 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
- Free Software Foundation, Inc.
-
- Written by Gary Funck (gary@intrepid.com) The Ada Joint Program
- Office (AJPO), Florida State University and Silicon Graphics Inc.
- provided support for this effort -- June 21, 1995.
-
- Derived from the DWARF 1 implementation written by Ron Guilmette
- (rfg@netcom.com), November 1990.
-
- This file is part of GCC.
-
- GCC 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 3, or (at your option) any later
- version.
-
- GCC is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
- License for more details.
-
- Under Section 7 of GPL version 3, you are granted additional
- permissions described in the GCC Runtime Library Exception, version
- 3.1, as published by the Free Software Foundation.
-
- You should have received a copy of the GNU General Public License and
- a copy of the GCC Runtime Library Exception along with this program;
- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This file is derived from the DWARF specification (a public document)
- Revision 2.0.0 (July 27, 1993) developed by the UNIX International
- Programming Languages Special Interest Group (UI/PLSIG) and distributed
- by UNIX International. Copies of this specification are available from
- UNIX International, 20 Waterview Boulevard, Parsippany, NJ, 07054.
-
- This file also now contains definitions from the DWARF 3 specification
- published Dec 20, 2005, available from: http://dwarf.freestandards.org.
-
- This file also now contains definitions from the DWARF 4
- specification, available from: http://dwarfstd.org/ */
-
-/* This file declares various DWARF-related constants using a set of
- macros which can be redefined by the including file.
-
- The macros are in sections. Each section corresponds to a single
- set of DWARF constants and has a corresponding key. The key is
- used in all the macro names.
-
- The sections are TAG (for DW_TAG_ constants), FORM (DW_FORM_), AT
- (DW_AT_), OP (DW_OP_), ATE (DW_ATE_), and CFA (DW_CFA_).
-
- Using TAG as an example, the following macros may be used for each
- key:
-
- DW_FIRST_TAG(name, value) - Introduce the first DW_TAG constant.
-
- DW_TAG(name, value) - Define a subsequent constant.
-
- DW_TAG_DUP(name, value) - Define a subsequent constant whose value
- is a duplicate of some other constant. Not all keys use the _DUP
- macro form. If more than one name shares a value, then the base
- (DW_TAG) form will be the preferred name and DW_TAG_DUP will hold
- any alternate names.
-
- DW_END_TAG - Invoked at the end of the DW_TAG constants. */
-
-DW_FIRST_TAG (DW_TAG_padding, 0x00)
-DW_TAG (DW_TAG_array_type, 0x01)
-DW_TAG (DW_TAG_class_type, 0x02)
-DW_TAG (DW_TAG_entry_point, 0x03)
-DW_TAG (DW_TAG_enumeration_type, 0x04)
-DW_TAG (DW_TAG_formal_parameter, 0x05)
-DW_TAG (DW_TAG_imported_declaration, 0x08)
-DW_TAG (DW_TAG_label, 0x0a)
-DW_TAG (DW_TAG_lexical_block, 0x0b)
-DW_TAG (DW_TAG_member, 0x0d)
-DW_TAG (DW_TAG_pointer_type, 0x0f)
-DW_TAG (DW_TAG_reference_type, 0x10)
-DW_TAG (DW_TAG_compile_unit, 0x11)
-DW_TAG (DW_TAG_string_type, 0x12)
-DW_TAG (DW_TAG_structure_type, 0x13)
-DW_TAG (DW_TAG_subroutine_type, 0x15)
-DW_TAG (DW_TAG_typedef, 0x16)
-DW_TAG (DW_TAG_union_type, 0x17)
-DW_TAG (DW_TAG_unspecified_parameters, 0x18)
-DW_TAG (DW_TAG_variant, 0x19)
-DW_TAG (DW_TAG_common_block, 0x1a)
-DW_TAG (DW_TAG_common_inclusion, 0x1b)
-DW_TAG (DW_TAG_inheritance, 0x1c)
-DW_TAG (DW_TAG_inlined_subroutine, 0x1d)
-DW_TAG (DW_TAG_module, 0x1e)
-DW_TAG (DW_TAG_ptr_to_member_type, 0x1f)
-DW_TAG (DW_TAG_set_type, 0x20)
-DW_TAG (DW_TAG_subrange_type, 0x21)
-DW_TAG (DW_TAG_with_stmt, 0x22)
-DW_TAG (DW_TAG_access_declaration, 0x23)
-DW_TAG (DW_TAG_base_type, 0x24)
-DW_TAG (DW_TAG_catch_block, 0x25)
-DW_TAG (DW_TAG_const_type, 0x26)
-DW_TAG (DW_TAG_constant, 0x27)
-DW_TAG (DW_TAG_enumerator, 0x28)
-DW_TAG (DW_TAG_file_type, 0x29)
-DW_TAG (DW_TAG_friend, 0x2a)
-DW_TAG (DW_TAG_namelist, 0x2b)
-DW_TAG (DW_TAG_namelist_item, 0x2c)
-DW_TAG (DW_TAG_packed_type, 0x2d)
-DW_TAG (DW_TAG_subprogram, 0x2e)
-DW_TAG (DW_TAG_template_type_param, 0x2f)
-DW_TAG (DW_TAG_template_value_param, 0x30)
-DW_TAG (DW_TAG_thrown_type, 0x31)
-DW_TAG (DW_TAG_try_block, 0x32)
-DW_TAG (DW_TAG_variant_part, 0x33)
-DW_TAG (DW_TAG_variable, 0x34)
-DW_TAG (DW_TAG_volatile_type, 0x35)
-/* DWARF 3. */
-DW_TAG (DW_TAG_dwarf_procedure, 0x36)
-DW_TAG (DW_TAG_restrict_type, 0x37)
-DW_TAG (DW_TAG_interface_type, 0x38)
-DW_TAG (DW_TAG_namespace, 0x39)
-DW_TAG (DW_TAG_imported_module, 0x3a)
-DW_TAG (DW_TAG_unspecified_type, 0x3b)
-DW_TAG (DW_TAG_partial_unit, 0x3c)
-DW_TAG (DW_TAG_imported_unit, 0x3d)
-DW_TAG (DW_TAG_condition, 0x3f)
-DW_TAG (DW_TAG_shared_type, 0x40)
-/* DWARF 4. */
-DW_TAG (DW_TAG_type_unit, 0x41)
-DW_TAG (DW_TAG_rvalue_reference_type, 0x42)
-DW_TAG (DW_TAG_template_alias, 0x43)
-
-DW_TAG_DUP (DW_TAG_lo_user, 0x4080)
-DW_TAG_DUP (DW_TAG_hi_user, 0xffff)
-
-/* SGI/MIPS Extensions. */
-DW_TAG (DW_TAG_MIPS_loop, 0x4081)
-
-/* HP extensions. See: ftp://ftp.hp.com/pub/lang/tools/WDB/wdb-4.0.tar.gz . */
-DW_TAG (DW_TAG_HP_array_descriptor, 0x4090)
-DW_TAG (DW_TAG_HP_Bliss_field, 0x4091)
-DW_TAG (DW_TAG_HP_Bliss_field_set, 0x4092)
-
-/* GNU extensions. */
-DW_TAG (DW_TAG_format_label, 0x4101) /* For FORTRAN 77 and Fortran 90. */
-DW_TAG (DW_TAG_function_template, 0x4102) /* For C++. */
-DW_TAG (DW_TAG_class_template, 0x4103) /* For C++. */
-DW_TAG (DW_TAG_GNU_BINCL, 0x4104)
-DW_TAG (DW_TAG_GNU_EINCL, 0x4105)
-/* Template template parameter.
- See http://gcc.gnu.org/wiki/TemplateParmsDwarf . */
-DW_TAG (DW_TAG_GNU_template_template_param, 0x4106)
-
-/* Template parameter pack extension, specified at
- http://wiki.dwarfstd.org/index.php?title=C%2B%2B0x:_Variadic_templates
- The values of these two TAGS are in the DW_TAG_GNU_* space until the tags
- are properly part of DWARF 5. */
-DW_TAG (DW_TAG_GNU_template_parameter_pack, 0x4107)
-DW_TAG (DW_TAG_GNU_formal_parameter_pack, 0x4108)
-/* The GNU call site extension, specified at
- http://www.dwarfstd.org/ShowIssue.php?issue=100909.2&type=open .
- The values of these two TAGS are in the DW_TAG_GNU_* space until the tags
- are properly part of DWARF 5. */
-DW_TAG (DW_TAG_GNU_call_site, 0x4109)
-DW_TAG (DW_TAG_GNU_call_site_parameter, 0x410a)
-/* Extensions for UPC. See: http://dwarfstd.org/doc/DWARF4.pdf. */
-DW_TAG (DW_TAG_upc_shared_type, 0x8765)
-DW_TAG (DW_TAG_upc_strict_type, 0x8766)
-DW_TAG (DW_TAG_upc_relaxed_type, 0x8767)
-/* PGI (STMicroelectronics) extensions. No documentation available. */
-DW_TAG (DW_TAG_PGI_kanji_type, 0xA000)
-DW_TAG (DW_TAG_PGI_interface_block, 0xA020)
-DW_END_TAG
-
-DW_FIRST_FORM (DW_FORM_addr, 0x01)
-DW_FORM (DW_FORM_block2, 0x03)
-DW_FORM (DW_FORM_block4, 0x04)
-DW_FORM (DW_FORM_data2, 0x05)
-DW_FORM (DW_FORM_data4, 0x06)
-DW_FORM (DW_FORM_data8, 0x07)
-DW_FORM (DW_FORM_string, 0x08)
-DW_FORM (DW_FORM_block, 0x09)
-DW_FORM (DW_FORM_block1, 0x0a)
-DW_FORM (DW_FORM_data1, 0x0b)
-DW_FORM (DW_FORM_flag, 0x0c)
-DW_FORM (DW_FORM_sdata, 0x0d)
-DW_FORM (DW_FORM_strp, 0x0e)
-DW_FORM (DW_FORM_udata, 0x0f)
-DW_FORM (DW_FORM_ref_addr, 0x10)
-DW_FORM (DW_FORM_ref1, 0x11)
-DW_FORM (DW_FORM_ref2, 0x12)
-DW_FORM (DW_FORM_ref4, 0x13)
-DW_FORM (DW_FORM_ref8, 0x14)
-DW_FORM (DW_FORM_ref_udata, 0x15)
-DW_FORM (DW_FORM_indirect, 0x16)
-/* DWARF 4. */
-DW_FORM (DW_FORM_sec_offset, 0x17)
-DW_FORM (DW_FORM_exprloc, 0x18)
-DW_FORM (DW_FORM_flag_present, 0x19)
-DW_FORM (DW_FORM_ref_sig8, 0x20)
-/* Extensions for Fission. See http://gcc.gnu.org/wiki/DebugFission. */
-DW_FORM (DW_FORM_GNU_addr_index, 0x1f01)
-DW_FORM (DW_FORM_GNU_str_index, 0x1f02)
-/* Extensions for DWZ multifile.
- See http://www.dwarfstd.org/ShowIssue.php?issue=120604.1&type=open . */
-DW_FORM (DW_FORM_GNU_ref_alt, 0x1f20)
-DW_FORM (DW_FORM_GNU_strp_alt, 0x1f21)
-DW_END_FORM
-
-DW_FIRST_AT (DW_AT_sibling, 0x01)
-DW_AT (DW_AT_location, 0x02)
-DW_AT (DW_AT_name, 0x03)
-DW_AT (DW_AT_ordering, 0x09)
-DW_AT (DW_AT_subscr_data, 0x0a)
-DW_AT (DW_AT_byte_size, 0x0b)
-DW_AT (DW_AT_bit_offset, 0x0c)
-DW_AT (DW_AT_bit_size, 0x0d)
-DW_AT (DW_AT_element_list, 0x0f)
-DW_AT (DW_AT_stmt_list, 0x10)
-DW_AT (DW_AT_low_pc, 0x11)
-DW_AT (DW_AT_high_pc, 0x12)
-DW_AT (DW_AT_language, 0x13)
-DW_AT (DW_AT_member, 0x14)
-DW_AT (DW_AT_discr, 0x15)
-DW_AT (DW_AT_discr_value, 0x16)
-DW_AT (DW_AT_visibility, 0x17)
-DW_AT (DW_AT_import, 0x18)
-DW_AT (DW_AT_string_length, 0x19)
-DW_AT (DW_AT_common_reference, 0x1a)
-DW_AT (DW_AT_comp_dir, 0x1b)
-DW_AT (DW_AT_const_value, 0x1c)
-DW_AT (DW_AT_containing_type, 0x1d)
-DW_AT (DW_AT_default_value, 0x1e)
-DW_AT (DW_AT_inline, 0x20)
-DW_AT (DW_AT_is_optional, 0x21)
-DW_AT (DW_AT_lower_bound, 0x22)
-DW_AT (DW_AT_producer, 0x25)
-DW_AT (DW_AT_prototyped, 0x27)
-DW_AT (DW_AT_return_addr, 0x2a)
-DW_AT (DW_AT_start_scope, 0x2c)
-DW_AT (DW_AT_bit_stride, 0x2e)
-DW_AT (DW_AT_upper_bound, 0x2f)
-DW_AT (DW_AT_abstract_origin, 0x31)
-DW_AT (DW_AT_accessibility, 0x32)
-DW_AT (DW_AT_address_class, 0x33)
-DW_AT (DW_AT_artificial, 0x34)
-DW_AT (DW_AT_base_types, 0x35)
-DW_AT (DW_AT_calling_convention, 0x36)
-DW_AT (DW_AT_count, 0x37)
-DW_AT (DW_AT_data_member_location, 0x38)
-DW_AT (DW_AT_decl_column, 0x39)
-DW_AT (DW_AT_decl_file, 0x3a)
-DW_AT (DW_AT_decl_line, 0x3b)
-DW_AT (DW_AT_declaration, 0x3c)
-DW_AT (DW_AT_discr_list, 0x3d)
-DW_AT (DW_AT_encoding, 0x3e)
-DW_AT (DW_AT_external, 0x3f)
-DW_AT (DW_AT_frame_base, 0x40)
-DW_AT (DW_AT_friend, 0x41)
-DW_AT (DW_AT_identifier_case, 0x42)
-DW_AT (DW_AT_macro_info, 0x43)
-DW_AT (DW_AT_namelist_items, 0x44)
-DW_AT (DW_AT_priority, 0x45)
-DW_AT (DW_AT_segment, 0x46)
-DW_AT (DW_AT_specification, 0x47)
-DW_AT (DW_AT_static_link, 0x48)
-DW_AT (DW_AT_type, 0x49)
-DW_AT (DW_AT_use_location, 0x4a)
-DW_AT (DW_AT_variable_parameter, 0x4b)
-DW_AT (DW_AT_virtuality, 0x4c)
-DW_AT (DW_AT_vtable_elem_location, 0x4d)
-/* DWARF 3 values. */
-DW_AT (DW_AT_allocated, 0x4e)
-DW_AT (DW_AT_associated, 0x4f)
-DW_AT (DW_AT_data_location, 0x50)
-DW_AT (DW_AT_byte_stride, 0x51)
-DW_AT (DW_AT_entry_pc, 0x52)
-DW_AT (DW_AT_use_UTF8, 0x53)
-DW_AT (DW_AT_extension, 0x54)
-DW_AT (DW_AT_ranges, 0x55)
-DW_AT (DW_AT_trampoline, 0x56)
-DW_AT (DW_AT_call_column, 0x57)
-DW_AT (DW_AT_call_file, 0x58)
-DW_AT (DW_AT_call_line, 0x59)
-DW_AT (DW_AT_description, 0x5a)
-DW_AT (DW_AT_binary_scale, 0x5b)
-DW_AT (DW_AT_decimal_scale, 0x5c)
-DW_AT (DW_AT_small, 0x5d)
-DW_AT (DW_AT_decimal_sign, 0x5e)
-DW_AT (DW_AT_digit_count, 0x5f)
-DW_AT (DW_AT_picture_string, 0x60)
-DW_AT (DW_AT_mutable, 0x61)
-DW_AT (DW_AT_threads_scaled, 0x62)
-DW_AT (DW_AT_explicit, 0x63)
-DW_AT (DW_AT_object_pointer, 0x64)
-DW_AT (DW_AT_endianity, 0x65)
-DW_AT (DW_AT_elemental, 0x66)
-DW_AT (DW_AT_pure, 0x67)
-DW_AT (DW_AT_recursive, 0x68)
-/* DWARF 4. */
-DW_AT (DW_AT_signature, 0x69)
-DW_AT (DW_AT_main_subprogram, 0x6a)
-DW_AT (DW_AT_data_bit_offset, 0x6b)
-DW_AT (DW_AT_const_expr, 0x6c)
-DW_AT (DW_AT_enum_class, 0x6d)
-DW_AT (DW_AT_linkage_name, 0x6e)
-
-DW_AT_DUP (DW_AT_lo_user, 0x2000) /* Implementation-defined range start. */
-DW_AT_DUP (DW_AT_hi_user, 0x3fff) /* Implementation-defined range end. */
-
-/* SGI/MIPS extensions. */
-DW_AT (DW_AT_MIPS_fde, 0x2001)
-DW_AT (DW_AT_MIPS_loop_begin, 0x2002)
-DW_AT (DW_AT_MIPS_tail_loop_begin, 0x2003)
-DW_AT (DW_AT_MIPS_epilog_begin, 0x2004)
-DW_AT (DW_AT_MIPS_loop_unroll_factor, 0x2005)
-DW_AT (DW_AT_MIPS_software_pipeline_depth, 0x2006)
-DW_AT (DW_AT_MIPS_linkage_name, 0x2007)
-DW_AT (DW_AT_MIPS_stride, 0x2008)
-DW_AT (DW_AT_MIPS_abstract_name, 0x2009)
-DW_AT (DW_AT_MIPS_clone_origin, 0x200a)
-DW_AT (DW_AT_MIPS_has_inlines, 0x200b)
-/* HP extensions. */
-DW_AT (DW_AT_HP_block_index, 0x2000)
-DW_AT_DUP (DW_AT_HP_unmodifiable, 0x2001) /* Same as DW_AT_MIPS_fde. */
-DW_AT_DUP (DW_AT_HP_prologue, 0x2005) /* Same as DW_AT_MIPS_loop_unroll. */
-DW_AT_DUP (DW_AT_HP_epilogue, 0x2008) /* Same as DW_AT_MIPS_stride. */
-DW_AT (DW_AT_HP_actuals_stmt_list, 0x2010)
-DW_AT (DW_AT_HP_proc_per_section, 0x2011)
-DW_AT (DW_AT_HP_raw_data_ptr, 0x2012)
-DW_AT (DW_AT_HP_pass_by_reference, 0x2013)
-DW_AT (DW_AT_HP_opt_level, 0x2014)
-DW_AT (DW_AT_HP_prof_version_id, 0x2015)
-DW_AT (DW_AT_HP_opt_flags, 0x2016)
-DW_AT (DW_AT_HP_cold_region_low_pc, 0x2017)
-DW_AT (DW_AT_HP_cold_region_high_pc, 0x2018)
-DW_AT (DW_AT_HP_all_variables_modifiable, 0x2019)
-DW_AT (DW_AT_HP_linkage_name, 0x201a)
-DW_AT (DW_AT_HP_prof_flags, 0x201b) /* In comp unit of procs_info for -g. */
-DW_AT (DW_AT_HP_unit_name, 0x201f)
-DW_AT (DW_AT_HP_unit_size, 0x2020)
-DW_AT (DW_AT_HP_widened_byte_size, 0x2021)
-DW_AT (DW_AT_HP_definition_points, 0x2022)
-DW_AT (DW_AT_HP_default_location, 0x2023)
-DW_AT (DW_AT_HP_is_result_param, 0x2029)
-
-/* GNU extensions. */
-DW_AT (DW_AT_sf_names, 0x2101)
-DW_AT (DW_AT_src_info, 0x2102)
-DW_AT (DW_AT_mac_info, 0x2103)
-DW_AT (DW_AT_src_coords, 0x2104)
-DW_AT (DW_AT_body_begin, 0x2105)
-DW_AT (DW_AT_body_end, 0x2106)
-DW_AT (DW_AT_GNU_vector, 0x2107)
-/* Thread-safety annotations.
- See http://gcc.gnu.org/wiki/ThreadSafetyAnnotation . */
-DW_AT (DW_AT_GNU_guarded_by, 0x2108)
-DW_AT (DW_AT_GNU_pt_guarded_by, 0x2109)
-DW_AT (DW_AT_GNU_guarded, 0x210a)
-DW_AT (DW_AT_GNU_pt_guarded, 0x210b)
-DW_AT (DW_AT_GNU_locks_excluded, 0x210c)
-DW_AT (DW_AT_GNU_exclusive_locks_required, 0x210d)
-DW_AT (DW_AT_GNU_shared_locks_required, 0x210e)
-/* One-definition rule violation detection.
- See http://gcc.gnu.org/wiki/DwarfSeparateTypeInfo . */
-DW_AT (DW_AT_GNU_odr_signature, 0x210f)
-/* Template template argument name.
- See http://gcc.gnu.org/wiki/TemplateParmsDwarf . */
-DW_AT (DW_AT_GNU_template_name, 0x2110)
-/* The GNU call site extension.
- See http://www.dwarfstd.org/ShowIssue.php?issue=100909.2&type=open . */
-DW_AT (DW_AT_GNU_call_site_value, 0x2111)
-DW_AT (DW_AT_GNU_call_site_data_value, 0x2112)
-DW_AT (DW_AT_GNU_call_site_target, 0x2113)
-DW_AT (DW_AT_GNU_call_site_target_clobbered, 0x2114)
-DW_AT (DW_AT_GNU_tail_call, 0x2115)
-DW_AT (DW_AT_GNU_all_tail_call_sites, 0x2116)
-DW_AT (DW_AT_GNU_all_call_sites, 0x2117)
-DW_AT (DW_AT_GNU_all_source_call_sites, 0x2118)
-/* Section offset into .debug_macro section. */
-DW_AT (DW_AT_GNU_macros, 0x2119)
-/* Extensions for Fission. See http://gcc.gnu.org/wiki/DebugFission. */
-DW_AT (DW_AT_GNU_dwo_name, 0x2130)
-DW_AT (DW_AT_GNU_dwo_id, 0x2131)
-DW_AT (DW_AT_GNU_ranges_base, 0x2132)
-DW_AT (DW_AT_GNU_addr_base, 0x2133)
-DW_AT (DW_AT_GNU_pubnames, 0x2134)
-DW_AT (DW_AT_GNU_pubtypes, 0x2135)
-/* VMS extensions. */
-DW_AT (DW_AT_VMS_rtnbeg_pd_address, 0x2201)
-/* GNAT extensions. */
-/* GNAT descriptive type.
- See http://gcc.gnu.org/wiki/DW_AT_GNAT_descriptive_type . */
-DW_AT (DW_AT_use_GNAT_descriptive_type, 0x2301)
-DW_AT (DW_AT_GNAT_descriptive_type, 0x2302)
-/* UPC extension. */
-DW_AT (DW_AT_upc_threads_scaled, 0x3210)
-/* PGI (STMicroelectronics) extensions. */
-DW_AT (DW_AT_PGI_lbase, 0x3a00)
-DW_AT (DW_AT_PGI_soffset, 0x3a01)
-DW_AT (DW_AT_PGI_lstride, 0x3a02)
-DW_END_AT
-
-DW_FIRST_OP (DW_OP_addr, 0x03)
-DW_OP (DW_OP_deref, 0x06)
-DW_OP (DW_OP_const1u, 0x08)
-DW_OP (DW_OP_const1s, 0x09)
-DW_OP (DW_OP_const2u, 0x0a)
-DW_OP (DW_OP_const2s, 0x0b)
-DW_OP (DW_OP_const4u, 0x0c)
-DW_OP (DW_OP_const4s, 0x0d)
-DW_OP (DW_OP_const8u, 0x0e)
-DW_OP (DW_OP_const8s, 0x0f)
-DW_OP (DW_OP_constu, 0x10)
-DW_OP (DW_OP_consts, 0x11)
-DW_OP (DW_OP_dup, 0x12)
-DW_OP (DW_OP_drop, 0x13)
-DW_OP (DW_OP_over, 0x14)
-DW_OP (DW_OP_pick, 0x15)
-DW_OP (DW_OP_swap, 0x16)
-DW_OP (DW_OP_rot, 0x17)
-DW_OP (DW_OP_xderef, 0x18)
-DW_OP (DW_OP_abs, 0x19)
-DW_OP (DW_OP_and, 0x1a)
-DW_OP (DW_OP_div, 0x1b)
-DW_OP (DW_OP_minus, 0x1c)
-DW_OP (DW_OP_mod, 0x1d)
-DW_OP (DW_OP_mul, 0x1e)
-DW_OP (DW_OP_neg, 0x1f)
-DW_OP (DW_OP_not, 0x20)
-DW_OP (DW_OP_or, 0x21)
-DW_OP (DW_OP_plus, 0x22)
-DW_OP (DW_OP_plus_uconst, 0x23)
-DW_OP (DW_OP_shl, 0x24)
-DW_OP (DW_OP_shr, 0x25)
-DW_OP (DW_OP_shra, 0x26)
-DW_OP (DW_OP_xor, 0x27)
-DW_OP (DW_OP_bra, 0x28)
-DW_OP (DW_OP_eq, 0x29)
-DW_OP (DW_OP_ge, 0x2a)
-DW_OP (DW_OP_gt, 0x2b)
-DW_OP (DW_OP_le, 0x2c)
-DW_OP (DW_OP_lt, 0x2d)
-DW_OP (DW_OP_ne, 0x2e)
-DW_OP (DW_OP_skip, 0x2f)
-DW_OP (DW_OP_lit0, 0x30)
-DW_OP (DW_OP_lit1, 0x31)
-DW_OP (DW_OP_lit2, 0x32)
-DW_OP (DW_OP_lit3, 0x33)
-DW_OP (DW_OP_lit4, 0x34)
-DW_OP (DW_OP_lit5, 0x35)
-DW_OP (DW_OP_lit6, 0x36)
-DW_OP (DW_OP_lit7, 0x37)
-DW_OP (DW_OP_lit8, 0x38)
-DW_OP (DW_OP_lit9, 0x39)
-DW_OP (DW_OP_lit10, 0x3a)
-DW_OP (DW_OP_lit11, 0x3b)
-DW_OP (DW_OP_lit12, 0x3c)
-DW_OP (DW_OP_lit13, 0x3d)
-DW_OP (DW_OP_lit14, 0x3e)
-DW_OP (DW_OP_lit15, 0x3f)
-DW_OP (DW_OP_lit16, 0x40)
-DW_OP (DW_OP_lit17, 0x41)
-DW_OP (DW_OP_lit18, 0x42)
-DW_OP (DW_OP_lit19, 0x43)
-DW_OP (DW_OP_lit20, 0x44)
-DW_OP (DW_OP_lit21, 0x45)
-DW_OP (DW_OP_lit22, 0x46)
-DW_OP (DW_OP_lit23, 0x47)
-DW_OP (DW_OP_lit24, 0x48)
-DW_OP (DW_OP_lit25, 0x49)
-DW_OP (DW_OP_lit26, 0x4a)
-DW_OP (DW_OP_lit27, 0x4b)
-DW_OP (DW_OP_lit28, 0x4c)
-DW_OP (DW_OP_lit29, 0x4d)
-DW_OP (DW_OP_lit30, 0x4e)
-DW_OP (DW_OP_lit31, 0x4f)
-DW_OP (DW_OP_reg0, 0x50)
-DW_OP (DW_OP_reg1, 0x51)
-DW_OP (DW_OP_reg2, 0x52)
-DW_OP (DW_OP_reg3, 0x53)
-DW_OP (DW_OP_reg4, 0x54)
-DW_OP (DW_OP_reg5, 0x55)
-DW_OP (DW_OP_reg6, 0x56)
-DW_OP (DW_OP_reg7, 0x57)
-DW_OP (DW_OP_reg8, 0x58)
-DW_OP (DW_OP_reg9, 0x59)
-DW_OP (DW_OP_reg10, 0x5a)
-DW_OP (DW_OP_reg11, 0x5b)
-DW_OP (DW_OP_reg12, 0x5c)
-DW_OP (DW_OP_reg13, 0x5d)
-DW_OP (DW_OP_reg14, 0x5e)
-DW_OP (DW_OP_reg15, 0x5f)
-DW_OP (DW_OP_reg16, 0x60)
-DW_OP (DW_OP_reg17, 0x61)
-DW_OP (DW_OP_reg18, 0x62)
-DW_OP (DW_OP_reg19, 0x63)
-DW_OP (DW_OP_reg20, 0x64)
-DW_OP (DW_OP_reg21, 0x65)
-DW_OP (DW_OP_reg22, 0x66)
-DW_OP (DW_OP_reg23, 0x67)
-DW_OP (DW_OP_reg24, 0x68)
-DW_OP (DW_OP_reg25, 0x69)
-DW_OP (DW_OP_reg26, 0x6a)
-DW_OP (DW_OP_reg27, 0x6b)
-DW_OP (DW_OP_reg28, 0x6c)
-DW_OP (DW_OP_reg29, 0x6d)
-DW_OP (DW_OP_reg30, 0x6e)
-DW_OP (DW_OP_reg31, 0x6f)
-DW_OP (DW_OP_breg0, 0x70)
-DW_OP (DW_OP_breg1, 0x71)
-DW_OP (DW_OP_breg2, 0x72)
-DW_OP (DW_OP_breg3, 0x73)
-DW_OP (DW_OP_breg4, 0x74)
-DW_OP (DW_OP_breg5, 0x75)
-DW_OP (DW_OP_breg6, 0x76)
-DW_OP (DW_OP_breg7, 0x77)
-DW_OP (DW_OP_breg8, 0x78)
-DW_OP (DW_OP_breg9, 0x79)
-DW_OP (DW_OP_breg10, 0x7a)
-DW_OP (DW_OP_breg11, 0x7b)
-DW_OP (DW_OP_breg12, 0x7c)
-DW_OP (DW_OP_breg13, 0x7d)
-DW_OP (DW_OP_breg14, 0x7e)
-DW_OP (DW_OP_breg15, 0x7f)
-DW_OP (DW_OP_breg16, 0x80)
-DW_OP (DW_OP_breg17, 0x81)
-DW_OP (DW_OP_breg18, 0x82)
-DW_OP (DW_OP_breg19, 0x83)
-DW_OP (DW_OP_breg20, 0x84)
-DW_OP (DW_OP_breg21, 0x85)
-DW_OP (DW_OP_breg22, 0x86)
-DW_OP (DW_OP_breg23, 0x87)
-DW_OP (DW_OP_breg24, 0x88)
-DW_OP (DW_OP_breg25, 0x89)
-DW_OP (DW_OP_breg26, 0x8a)
-DW_OP (DW_OP_breg27, 0x8b)
-DW_OP (DW_OP_breg28, 0x8c)
-DW_OP (DW_OP_breg29, 0x8d)
-DW_OP (DW_OP_breg30, 0x8e)
-DW_OP (DW_OP_breg31, 0x8f)
-DW_OP (DW_OP_regx, 0x90)
-DW_OP (DW_OP_fbreg, 0x91)
-DW_OP (DW_OP_bregx, 0x92)
-DW_OP (DW_OP_piece, 0x93)
-DW_OP (DW_OP_deref_size, 0x94)
-DW_OP (DW_OP_xderef_size, 0x95)
-DW_OP (DW_OP_nop, 0x96)
-/* DWARF 3 extensions. */
-DW_OP (DW_OP_push_object_address, 0x97)
-DW_OP (DW_OP_call2, 0x98)
-DW_OP (DW_OP_call4, 0x99)
-DW_OP (DW_OP_call_ref, 0x9a)
-DW_OP (DW_OP_form_tls_address, 0x9b)
-DW_OP (DW_OP_call_frame_cfa, 0x9c)
-DW_OP (DW_OP_bit_piece, 0x9d)
-
-/* DWARF 4 extensions. */
-DW_OP (DW_OP_implicit_value, 0x9e)
-DW_OP (DW_OP_stack_value, 0x9f)
-
-DW_OP_DUP (DW_OP_lo_user, 0xe0) /* Implementation-defined range start. */
-DW_OP_DUP (DW_OP_hi_user, 0xff) /* Implementation-defined range end. */
-
-/* GNU extensions. */
-DW_OP (DW_OP_GNU_push_tls_address, 0xe0)
-/* The following is for marking variables that are uninitialized. */
-DW_OP (DW_OP_GNU_uninit, 0xf0)
-DW_OP (DW_OP_GNU_encoded_addr, 0xf1)
-/* The GNU implicit pointer extension.
- See http://www.dwarfstd.org/ShowIssue.php?issue=100831.1&type=open . */
-DW_OP (DW_OP_GNU_implicit_pointer, 0xf2)
-/* The GNU entry value extension.
- See http://www.dwarfstd.org/ShowIssue.php?issue=100909.1&type=open . */
-DW_OP (DW_OP_GNU_entry_value, 0xf3)
-/* The GNU typed stack extension.
- See http://www.dwarfstd.org/doc/040408.1.html . */
-DW_OP (DW_OP_GNU_const_type, 0xf4)
-DW_OP (DW_OP_GNU_regval_type, 0xf5)
-DW_OP (DW_OP_GNU_deref_type, 0xf6)
-DW_OP (DW_OP_GNU_convert, 0xf7)
-DW_OP (DW_OP_GNU_reinterpret, 0xf9)
-/* The GNU parameter ref extension. */
-DW_OP (DW_OP_GNU_parameter_ref, 0xfa)
-/* Extension for Fission. See http://gcc.gnu.org/wiki/DebugFission. */
-DW_OP (DW_OP_GNU_addr_index, 0xfb)
-DW_OP (DW_OP_GNU_const_index, 0xfc)
-/* HP extensions. */
-DW_OP_DUP (DW_OP_HP_unknown, 0xe0) /* Ouch, the same as GNU_push_tls_address. */
-DW_OP (DW_OP_HP_is_value, 0xe1)
-DW_OP (DW_OP_HP_fltconst4, 0xe2)
-DW_OP (DW_OP_HP_fltconst8, 0xe3)
-DW_OP (DW_OP_HP_mod_range, 0xe4)
-DW_OP (DW_OP_HP_unmod_range, 0xe5)
-DW_OP (DW_OP_HP_tls, 0xe6)
-/* PGI (STMicroelectronics) extensions. */
-DW_OP (DW_OP_PGI_omp_thread_num, 0xf8)
-DW_END_OP
-
-DW_FIRST_ATE (DW_ATE_void, 0x0)
-DW_ATE (DW_ATE_address, 0x1)
-DW_ATE (DW_ATE_boolean, 0x2)
-DW_ATE (DW_ATE_complex_float, 0x3)
-DW_ATE (DW_ATE_float, 0x4)
-DW_ATE (DW_ATE_signed, 0x5)
-DW_ATE (DW_ATE_signed_char, 0x6)
-DW_ATE (DW_ATE_unsigned, 0x7)
-DW_ATE (DW_ATE_unsigned_char, 0x8)
-/* DWARF 3. */
-DW_ATE (DW_ATE_imaginary_float, 0x9)
-DW_ATE (DW_ATE_packed_decimal, 0xa)
-DW_ATE (DW_ATE_numeric_string, 0xb)
-DW_ATE (DW_ATE_edited, 0xc)
-DW_ATE (DW_ATE_signed_fixed, 0xd)
-DW_ATE (DW_ATE_unsigned_fixed, 0xe)
-DW_ATE (DW_ATE_decimal_float, 0xf)
-/* DWARF 4. */
-DW_ATE (DW_ATE_UTF, 0x10)
-
-DW_ATE_DUP (DW_ATE_lo_user, 0x80)
-DW_ATE_DUP (DW_ATE_hi_user, 0xff)
-
-/* HP extensions. */
-DW_ATE (DW_ATE_HP_float80, 0x80) /* Floating-point (80 bit). */
-DW_ATE (DW_ATE_HP_complex_float80, 0x81) /* Complex floating-point (80 bit). */
-DW_ATE (DW_ATE_HP_float128, 0x82) /* Floating-point (128 bit). */
-DW_ATE (DW_ATE_HP_complex_float128, 0x83) /* Complex fp (128 bit). */
-DW_ATE (DW_ATE_HP_floathpintel, 0x84) /* Floating-point (82 bit IA64). */
-DW_ATE (DW_ATE_HP_imaginary_float80, 0x85)
-DW_ATE (DW_ATE_HP_imaginary_float128, 0x86)
-DW_ATE (DW_ATE_HP_VAX_float, 0x88) /* F or G floating. */
-DW_ATE (DW_ATE_HP_VAX_float_d, 0x89) /* D floating. */
-DW_ATE (DW_ATE_HP_packed_decimal, 0x8a) /* Cobol. */
-DW_ATE (DW_ATE_HP_zoned_decimal, 0x8b) /* Cobol. */
-DW_ATE (DW_ATE_HP_edited, 0x8c) /* Cobol. */
-DW_ATE (DW_ATE_HP_signed_fixed, 0x8d) /* Cobol. */
-DW_ATE (DW_ATE_HP_unsigned_fixed, 0x8e) /* Cobol. */
-DW_ATE (DW_ATE_HP_VAX_complex_float, 0x8f) /* F or G floating complex. */
-DW_ATE (DW_ATE_HP_VAX_complex_float_d, 0x90) /* D floating complex. */
-
-DW_END_ATE
-
-DW_FIRST_CFA (DW_CFA_advance_loc, 0x40)
-DW_CFA (DW_CFA_offset, 0x80)
-DW_CFA (DW_CFA_restore, 0xc0)
-DW_CFA (DW_CFA_nop, 0x00)
-DW_CFA (DW_CFA_set_loc, 0x01)
-DW_CFA (DW_CFA_advance_loc1, 0x02)
-DW_CFA (DW_CFA_advance_loc2, 0x03)
-DW_CFA (DW_CFA_advance_loc4, 0x04)
-DW_CFA (DW_CFA_offset_extended, 0x05)
-DW_CFA (DW_CFA_restore_extended, 0x06)
-DW_CFA (DW_CFA_undefined, 0x07)
-DW_CFA (DW_CFA_same_value, 0x08)
-DW_CFA (DW_CFA_register, 0x09)
-DW_CFA (DW_CFA_remember_state, 0x0a)
-DW_CFA (DW_CFA_restore_state, 0x0b)
-DW_CFA (DW_CFA_def_cfa, 0x0c)
-DW_CFA (DW_CFA_def_cfa_register, 0x0d)
-DW_CFA (DW_CFA_def_cfa_offset, 0x0e)
-/* DWARF 3. */
-DW_CFA (DW_CFA_def_cfa_expression, 0x0f)
-DW_CFA (DW_CFA_expression, 0x10)
-DW_CFA (DW_CFA_offset_extended_sf, 0x11)
-DW_CFA (DW_CFA_def_cfa_sf, 0x12)
-DW_CFA (DW_CFA_def_cfa_offset_sf, 0x13)
-DW_CFA (DW_CFA_val_offset, 0x14)
-DW_CFA (DW_CFA_val_offset_sf, 0x15)
-DW_CFA (DW_CFA_val_expression, 0x16)
-
-DW_CFA (DW_CFA_lo_user, 0x1c)
-DW_CFA (DW_CFA_hi_user, 0x3f)
-
-/* SGI/MIPS specific. */
-DW_CFA (DW_CFA_MIPS_advance_loc8, 0x1d)
-/* GNU extensions. */
-DW_CFA (DW_CFA_GNU_window_save, 0x2d)
-DW_CFA (DW_CFA_GNU_args_size, 0x2e)
-DW_CFA (DW_CFA_GNU_negative_offset_extended, 0x2f)
-
-DW_END_CFA
diff --git a/include/dwarf2.h b/include/dwarf2.h
index 2c1aeb6b9..8c0c9ed6d 100644
--- a/include/dwarf2.h
+++ b/include/dwarf2.h
@@ -1,7 +1,7 @@
/* Declarations and definitions of codes relating to the DWARF2 and
DWARF3 symbolic debugging information formats.
Copyright (C) 1992, 1993, 1995, 1996, 1997, 1999, 2000, 2001, 2002,
- 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
+ 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
Free Software Foundation, Inc.
Written by Gary Funck (gary@intrepid.com) The Ada Joint Program
@@ -41,71 +41,599 @@
This file also now contains definitions from the DWARF 3 specification
published Dec 20, 2005, available from: http://dwarf.freestandards.org. */
+/* This file is shared between GCC and GDB, and should not contain
+ prototypes. */
+
#ifndef _DWARF2_H
#define _DWARF2_H
-#define DW_TAG(name, value) , name = value
-#define DW_TAG_DUP(name, value) , name = value
-#define DW_FORM(name, value) , name = value
-#define DW_AT(name, value) , name = value
-#define DW_AT_DUP(name, value) , name = value
-#define DW_OP(name, value) , name = value
-#define DW_OP_DUP(name, value) , name = value
-#define DW_ATE(name, value) , name = value
-#define DW_ATE_DUP(name, value) , name = value
-#define DW_CFA(name, value) , name = value
-
-#define DW_FIRST_TAG(name, value) enum dwarf_tag { \
- name = value
-#define DW_END_TAG };
-#define DW_FIRST_FORM(name, value) enum dwarf_form { \
- name = value
-#define DW_END_FORM };
-#define DW_FIRST_AT(name, value) enum dwarf_attribute { \
- name = value
-#define DW_END_AT };
-#define DW_FIRST_OP(name, value) enum dwarf_location_atom { \
- name = value
-#define DW_END_OP };
-#define DW_FIRST_ATE(name, value) enum dwarf_type { \
- name = value
-#define DW_END_ATE };
-#define DW_FIRST_CFA(name, value) enum dwarf_call_frame_info { \
- name = value
-#define DW_END_CFA };
-
-#include "dwarf2.def"
-
-#undef DW_FIRST_TAG
-#undef DW_END_TAG
-#undef DW_FIRST_FORM
-#undef DW_END_FORM
-#undef DW_FIRST_AT
-#undef DW_END_AT
-#undef DW_FIRST_OP
-#undef DW_END_OP
-#undef DW_FIRST_ATE
-#undef DW_END_ATE
-#undef DW_FIRST_CFA
-#undef DW_END_CFA
-
-#undef DW_TAG
-#undef DW_TAG_DUP
-#undef DW_FORM
-#undef DW_AT
-#undef DW_AT_DUP
-#undef DW_OP
-#undef DW_OP_DUP
-#undef DW_ATE
-#undef DW_ATE_DUP
-#undef DW_CFA
+/* Tag names and codes. */
+enum dwarf_tag
+ {
+ DW_TAG_padding = 0x00,
+ DW_TAG_array_type = 0x01,
+ DW_TAG_class_type = 0x02,
+ DW_TAG_entry_point = 0x03,
+ DW_TAG_enumeration_type = 0x04,
+ DW_TAG_formal_parameter = 0x05,
+ DW_TAG_imported_declaration = 0x08,
+ DW_TAG_label = 0x0a,
+ DW_TAG_lexical_block = 0x0b,
+ DW_TAG_member = 0x0d,
+ DW_TAG_pointer_type = 0x0f,
+ DW_TAG_reference_type = 0x10,
+ DW_TAG_compile_unit = 0x11,
+ DW_TAG_string_type = 0x12,
+ DW_TAG_structure_type = 0x13,
+ DW_TAG_subroutine_type = 0x15,
+ DW_TAG_typedef = 0x16,
+ DW_TAG_union_type = 0x17,
+ DW_TAG_unspecified_parameters = 0x18,
+ DW_TAG_variant = 0x19,
+ DW_TAG_common_block = 0x1a,
+ DW_TAG_common_inclusion = 0x1b,
+ DW_TAG_inheritance = 0x1c,
+ DW_TAG_inlined_subroutine = 0x1d,
+ DW_TAG_module = 0x1e,
+ DW_TAG_ptr_to_member_type = 0x1f,
+ DW_TAG_set_type = 0x20,
+ DW_TAG_subrange_type = 0x21,
+ DW_TAG_with_stmt = 0x22,
+ DW_TAG_access_declaration = 0x23,
+ DW_TAG_base_type = 0x24,
+ DW_TAG_catch_block = 0x25,
+ DW_TAG_const_type = 0x26,
+ DW_TAG_constant = 0x27,
+ DW_TAG_enumerator = 0x28,
+ DW_TAG_file_type = 0x29,
+ DW_TAG_friend = 0x2a,
+ DW_TAG_namelist = 0x2b,
+ DW_TAG_namelist_item = 0x2c,
+ DW_TAG_packed_type = 0x2d,
+ DW_TAG_subprogram = 0x2e,
+ DW_TAG_template_type_param = 0x2f,
+ DW_TAG_template_value_param = 0x30,
+ DW_TAG_thrown_type = 0x31,
+ DW_TAG_try_block = 0x32,
+ DW_TAG_variant_part = 0x33,
+ DW_TAG_variable = 0x34,
+ DW_TAG_volatile_type = 0x35,
+ /* DWARF 3. */
+ DW_TAG_dwarf_procedure = 0x36,
+ DW_TAG_restrict_type = 0x37,
+ DW_TAG_interface_type = 0x38,
+ DW_TAG_namespace = 0x39,
+ DW_TAG_imported_module = 0x3a,
+ DW_TAG_unspecified_type = 0x3b,
+ DW_TAG_partial_unit = 0x3c,
+ DW_TAG_imported_unit = 0x3d,
+ DW_TAG_condition = 0x3f,
+ DW_TAG_shared_type = 0x40,
+ /* DWARF 4. */
+ DW_TAG_type_unit = 0x41,
+ DW_TAG_rvalue_reference_type = 0x42,
+ DW_TAG_template_alias = 0x43,
+
+ DW_TAG_lo_user = 0x4080,
+ DW_TAG_hi_user = 0xffff,
+
+ /* SGI/MIPS Extensions. */
+ DW_TAG_MIPS_loop = 0x4081,
+
+ /* HP extensions. See: ftp://ftp.hp.com/pub/lang/tools/WDB/wdb-4.0.tar.gz . */
+ DW_TAG_HP_array_descriptor = 0x4090,
+ DW_TAG_HP_Bliss_field = 0x4091,
+ DW_TAG_HP_Bliss_field_set = 0x4092,
+
+ /* GNU extensions. */
+ DW_TAG_format_label = 0x4101, /* For FORTRAN 77 and Fortran 90. */
+ DW_TAG_function_template = 0x4102, /* For C++. */
+ DW_TAG_class_template = 0x4103, /* For C++. */
+ DW_TAG_GNU_BINCL = 0x4104,
+ DW_TAG_GNU_EINCL = 0x4105,
+ /* Template template parameter.
+ See http://gcc.gnu.org/wiki/TemplateParmsDwarf . */
+ DW_TAG_GNU_template_template_param = 0x4106,
+
+ /* Template parameter pack extension, specified at
+ http://wiki.dwarfstd.org/index.php?title=C%2B%2B0x:_Variadic_templates
+ The values of these two TAGS are in the DW_TAG_GNU_* space until the tags
+ are properly part of DWARF 5. */
+ DW_TAG_GNU_template_parameter_pack = 0x4107,
+ DW_TAG_GNU_formal_parameter_pack = 0x4108,
+ /* The GNU call site extension, specified at
+ http://www.dwarfstd.org/ShowIssue.php?issue=100909.2&type=open .
+ The values of these two TAGS are in the DW_TAG_GNU_* space until the tags
+ are properly part of DWARF 5. */
+ DW_TAG_GNU_call_site = 0x4109,
+ DW_TAG_GNU_call_site_parameter = 0x410a,
+ /* Extensions for UPC. See: http://upc.gwu.edu/~upc. */
+ DW_TAG_upc_shared_type = 0x8765,
+ DW_TAG_upc_strict_type = 0x8766,
+ DW_TAG_upc_relaxed_type = 0x8767,
+ /* PGI (STMicroelectronics) extensions. No documentation available. */
+ DW_TAG_PGI_kanji_type = 0xA000,
+ DW_TAG_PGI_interface_block = 0xA020
+ };
/* Flag that tells whether entry has a child or not. */
#define DW_children_no 0
#define DW_children_yes 1
+/* Form names and codes. */
+enum dwarf_form
+ {
+ DW_FORM_addr = 0x01,
+ DW_FORM_block2 = 0x03,
+ DW_FORM_block4 = 0x04,
+ DW_FORM_data2 = 0x05,
+ DW_FORM_data4 = 0x06,
+ DW_FORM_data8 = 0x07,
+ DW_FORM_string = 0x08,
+ DW_FORM_block = 0x09,
+ DW_FORM_block1 = 0x0a,
+ DW_FORM_data1 = 0x0b,
+ DW_FORM_flag = 0x0c,
+ DW_FORM_sdata = 0x0d,
+ DW_FORM_strp = 0x0e,
+ DW_FORM_udata = 0x0f,
+ DW_FORM_ref_addr = 0x10,
+ DW_FORM_ref1 = 0x11,
+ DW_FORM_ref2 = 0x12,
+ DW_FORM_ref4 = 0x13,
+ DW_FORM_ref8 = 0x14,
+ DW_FORM_ref_udata = 0x15,
+ DW_FORM_indirect = 0x16,
+ /* DWARF 4. */
+ DW_FORM_sec_offset = 0x17,
+ DW_FORM_exprloc = 0x18,
+ DW_FORM_flag_present = 0x19,
+ DW_FORM_ref_sig8 = 0x20,
+ /* Extensions for Fission. See http://gcc.gnu.org/wiki/DebugFission. */
+ DW_FORM_GNU_ref_index = 0x1f00,
+ DW_FORM_GNU_addr_index = 0x1f01,
+ DW_FORM_GNU_str_index = 0x1f02
+ };
+
+/* Attribute names and codes. */
+enum dwarf_attribute
+ {
+ DW_AT_sibling = 0x01,
+ DW_AT_location = 0x02,
+ DW_AT_name = 0x03,
+ DW_AT_ordering = 0x09,
+ DW_AT_subscr_data = 0x0a,
+ DW_AT_byte_size = 0x0b,
+ DW_AT_bit_offset = 0x0c,
+ DW_AT_bit_size = 0x0d,
+ DW_AT_element_list = 0x0f,
+ DW_AT_stmt_list = 0x10,
+ DW_AT_low_pc = 0x11,
+ DW_AT_high_pc = 0x12,
+ DW_AT_language = 0x13,
+ DW_AT_member = 0x14,
+ DW_AT_discr = 0x15,
+ DW_AT_discr_value = 0x16,
+ DW_AT_visibility = 0x17,
+ DW_AT_import = 0x18,
+ DW_AT_string_length = 0x19,
+ DW_AT_common_reference = 0x1a,
+ DW_AT_comp_dir = 0x1b,
+ DW_AT_const_value = 0x1c,
+ DW_AT_containing_type = 0x1d,
+ DW_AT_default_value = 0x1e,
+ DW_AT_inline = 0x20,
+ DW_AT_is_optional = 0x21,
+ DW_AT_lower_bound = 0x22,
+ DW_AT_producer = 0x25,
+ DW_AT_prototyped = 0x27,
+ DW_AT_return_addr = 0x2a,
+ DW_AT_start_scope = 0x2c,
+ DW_AT_bit_stride = 0x2e,
#define DW_AT_stride_size DW_AT_bit_stride /* Note: The use of DW_AT_stride_size is deprecated. */
+ DW_AT_upper_bound = 0x2f,
+ DW_AT_abstract_origin = 0x31,
+ DW_AT_accessibility = 0x32,
+ DW_AT_address_class = 0x33,
+ DW_AT_artificial = 0x34,
+ DW_AT_base_types = 0x35,
+ DW_AT_calling_convention = 0x36,
+ DW_AT_count = 0x37,
+ DW_AT_data_member_location = 0x38,
+ DW_AT_decl_column = 0x39,
+ DW_AT_decl_file = 0x3a,
+ DW_AT_decl_line = 0x3b,
+ DW_AT_declaration = 0x3c,
+ DW_AT_discr_list = 0x3d,
+ DW_AT_encoding = 0x3e,
+ DW_AT_external = 0x3f,
+ DW_AT_frame_base = 0x40,
+ DW_AT_friend = 0x41,
+ DW_AT_identifier_case = 0x42,
+ DW_AT_macro_info = 0x43,
+ DW_AT_namelist_items = 0x44,
+ DW_AT_priority = 0x45,
+ DW_AT_segment = 0x46,
+ DW_AT_specification = 0x47,
+ DW_AT_static_link = 0x48,
+ DW_AT_type = 0x49,
+ DW_AT_use_location = 0x4a,
+ DW_AT_variable_parameter = 0x4b,
+ DW_AT_virtuality = 0x4c,
+ DW_AT_vtable_elem_location = 0x4d,
+ /* DWARF 3 values. */
+ DW_AT_allocated = 0x4e,
+ DW_AT_associated = 0x4f,
+ DW_AT_data_location = 0x50,
+ DW_AT_byte_stride = 0x51,
#define DW_AT_stride DW_AT_byte_stride /* Note: The use of DW_AT_stride is deprecated. */
+ DW_AT_entry_pc = 0x52,
+ DW_AT_use_UTF8 = 0x53,
+ DW_AT_extension = 0x54,
+ DW_AT_ranges = 0x55,
+ DW_AT_trampoline = 0x56,
+ DW_AT_call_column = 0x57,
+ DW_AT_call_file = 0x58,
+ DW_AT_call_line = 0x59,
+ DW_AT_description = 0x5a,
+ DW_AT_binary_scale = 0x5b,
+ DW_AT_decimal_scale = 0x5c,
+ DW_AT_small = 0x5d,
+ DW_AT_decimal_sign = 0x5e,
+ DW_AT_digit_count = 0x5f,
+ DW_AT_picture_string = 0x60,
+ DW_AT_mutable = 0x61,
+ DW_AT_threads_scaled = 0x62,
+ DW_AT_explicit = 0x63,
+ DW_AT_object_pointer = 0x64,
+ DW_AT_endianity = 0x65,
+ DW_AT_elemental = 0x66,
+ DW_AT_pure = 0x67,
+ DW_AT_recursive = 0x68,
+ /* DWARF 4. */
+ DW_AT_signature = 0x69,
+ DW_AT_main_subprogram = 0x6a,
+ DW_AT_data_bit_offset = 0x6b,
+ DW_AT_const_expr = 0x6c,
+ DW_AT_enum_class = 0x6d,
+ DW_AT_linkage_name = 0x6e,
+
+ DW_AT_lo_user = 0x2000, /* Implementation-defined range start. */
+ DW_AT_hi_user = 0x3fff, /* Implementation-defined range end. */
+
+ /* SGI/MIPS extensions. */
+ DW_AT_MIPS_fde = 0x2001,
+ DW_AT_MIPS_loop_begin = 0x2002,
+ DW_AT_MIPS_tail_loop_begin = 0x2003,
+ DW_AT_MIPS_epilog_begin = 0x2004,
+ DW_AT_MIPS_loop_unroll_factor = 0x2005,
+ DW_AT_MIPS_software_pipeline_depth = 0x2006,
+ DW_AT_MIPS_linkage_name = 0x2007,
+ DW_AT_MIPS_stride = 0x2008,
+ DW_AT_MIPS_abstract_name = 0x2009,
+ DW_AT_MIPS_clone_origin = 0x200a,
+ DW_AT_MIPS_has_inlines = 0x200b,
+ /* HP extensions. */
+ DW_AT_HP_block_index = 0x2000,
+ DW_AT_HP_unmodifiable = 0x2001, /* Same as DW_AT_MIPS_fde. */
+ DW_AT_HP_prologue = 0x2005, /* Same as DW_AT_MIPS_loop_unroll. */
+ DW_AT_HP_epilogue = 0x2008, /* Same as DW_AT_MIPS_stride. */
+ DW_AT_HP_actuals_stmt_list = 0x2010,
+ DW_AT_HP_proc_per_section = 0x2011,
+ DW_AT_HP_raw_data_ptr = 0x2012,
+ DW_AT_HP_pass_by_reference = 0x2013,
+ DW_AT_HP_opt_level = 0x2014,
+ DW_AT_HP_prof_version_id = 0x2015,
+ DW_AT_HP_opt_flags = 0x2016,
+ DW_AT_HP_cold_region_low_pc = 0x2017,
+ DW_AT_HP_cold_region_high_pc = 0x2018,
+ DW_AT_HP_all_variables_modifiable = 0x2019,
+ DW_AT_HP_linkage_name = 0x201a,
+ DW_AT_HP_prof_flags = 0x201b, /* In comp unit of procs_info for -g. */
+ DW_AT_HP_unit_name = 0x201f,
+ DW_AT_HP_unit_size = 0x2020,
+ DW_AT_HP_widened_byte_size = 0x2021,
+ DW_AT_HP_definition_points = 0x2022,
+ DW_AT_HP_default_location = 0x2023,
+ DW_AT_HP_is_result_param = 0x2029,
+
+ /* GNU extensions. */
+ DW_AT_sf_names = 0x2101,
+ DW_AT_src_info = 0x2102,
+ DW_AT_mac_info = 0x2103,
+ DW_AT_src_coords = 0x2104,
+ DW_AT_body_begin = 0x2105,
+ DW_AT_body_end = 0x2106,
+ DW_AT_GNU_vector = 0x2107,
+ /* Thread-safety annotations.
+ See http://gcc.gnu.org/wiki/ThreadSafetyAnnotation . */
+ DW_AT_GNU_guarded_by = 0x2108,
+ DW_AT_GNU_pt_guarded_by = 0x2109,
+ DW_AT_GNU_guarded = 0x210a,
+ DW_AT_GNU_pt_guarded = 0x210b,
+ DW_AT_GNU_locks_excluded = 0x210c,
+ DW_AT_GNU_exclusive_locks_required = 0x210d,
+ DW_AT_GNU_shared_locks_required = 0x210e,
+ /* One-definition rule violation detection.
+ See http://gcc.gnu.org/wiki/DwarfSeparateTypeInfo . */
+ DW_AT_GNU_odr_signature = 0x210f,
+ /* Template template argument name.
+ See http://gcc.gnu.org/wiki/TemplateParmsDwarf . */
+ DW_AT_GNU_template_name = 0x2110,
+ /* The GNU call site extension.
+ See http://www.dwarfstd.org/ShowIssue.php?issue=100909.2&type=open . */
+ DW_AT_GNU_call_site_value = 0x2111,
+ DW_AT_GNU_call_site_data_value = 0x2112,
+ DW_AT_GNU_call_site_target = 0x2113,
+ DW_AT_GNU_call_site_target_clobbered = 0x2114,
+ DW_AT_GNU_tail_call = 0x2115,
+ DW_AT_GNU_all_tail_call_sites = 0x2116,
+ DW_AT_GNU_all_call_sites = 0x2117,
+ DW_AT_GNU_all_source_call_sites = 0x2118,
+ /* Section offset into .debug_macro section. */
+ DW_AT_GNU_macros = 0x2119,
+ /* Extensions for Fission. See http://gcc.gnu.org/wiki/DebugFission. */
+ DW_AT_GNU_dwo_name = 0x2130,
+ DW_AT_GNU_dwo_id = 0x2131,
+ DW_AT_GNU_ref_base = 0x2132,
+ DW_AT_GNU_addr_base = 0x2133,
+ DW_AT_GNU_pubnames = 0x2134,
+ DW_AT_GNU_pubtypes = 0x2135,
+ /* VMS extensions. */
+ DW_AT_VMS_rtnbeg_pd_address = 0x2201,
+ /* GNAT extensions. */
+ /* GNAT descriptive type.
+ See http://gcc.gnu.org/wiki/DW_AT_GNAT_descriptive_type . */
+ DW_AT_use_GNAT_descriptive_type = 0x2301,
+ DW_AT_GNAT_descriptive_type = 0x2302,
+ /* UPC extension. */
+ DW_AT_upc_threads_scaled = 0x3210,
+ /* PGI (STMicroelectronics) extensions. */
+ DW_AT_PGI_lbase = 0x3a00,
+ DW_AT_PGI_soffset = 0x3a01,
+ DW_AT_PGI_lstride = 0x3a02
+ };
+
+/* Location atom names and codes. */
+enum dwarf_location_atom
+ {
+ DW_OP_addr = 0x03,
+ DW_OP_deref = 0x06,
+ DW_OP_const1u = 0x08,
+ DW_OP_const1s = 0x09,
+ DW_OP_const2u = 0x0a,
+ DW_OP_const2s = 0x0b,
+ DW_OP_const4u = 0x0c,
+ DW_OP_const4s = 0x0d,
+ DW_OP_const8u = 0x0e,
+ DW_OP_const8s = 0x0f,
+ DW_OP_constu = 0x10,
+ DW_OP_consts = 0x11,
+ DW_OP_dup = 0x12,
+ DW_OP_drop = 0x13,
+ DW_OP_over = 0x14,
+ DW_OP_pick = 0x15,
+ DW_OP_swap = 0x16,
+ DW_OP_rot = 0x17,
+ DW_OP_xderef = 0x18,
+ DW_OP_abs = 0x19,
+ DW_OP_and = 0x1a,
+ DW_OP_div = 0x1b,
+ DW_OP_minus = 0x1c,
+ DW_OP_mod = 0x1d,
+ DW_OP_mul = 0x1e,
+ DW_OP_neg = 0x1f,
+ DW_OP_not = 0x20,
+ DW_OP_or = 0x21,
+ DW_OP_plus = 0x22,
+ DW_OP_plus_uconst = 0x23,
+ DW_OP_shl = 0x24,
+ DW_OP_shr = 0x25,
+ DW_OP_shra = 0x26,
+ DW_OP_xor = 0x27,
+ DW_OP_bra = 0x28,
+ DW_OP_eq = 0x29,
+ DW_OP_ge = 0x2a,
+ DW_OP_gt = 0x2b,
+ DW_OP_le = 0x2c,
+ DW_OP_lt = 0x2d,
+ DW_OP_ne = 0x2e,
+ DW_OP_skip = 0x2f,
+ DW_OP_lit0 = 0x30,
+ DW_OP_lit1 = 0x31,
+ DW_OP_lit2 = 0x32,
+ DW_OP_lit3 = 0x33,
+ DW_OP_lit4 = 0x34,
+ DW_OP_lit5 = 0x35,
+ DW_OP_lit6 = 0x36,
+ DW_OP_lit7 = 0x37,
+ DW_OP_lit8 = 0x38,
+ DW_OP_lit9 = 0x39,
+ DW_OP_lit10 = 0x3a,
+ DW_OP_lit11 = 0x3b,
+ DW_OP_lit12 = 0x3c,
+ DW_OP_lit13 = 0x3d,
+ DW_OP_lit14 = 0x3e,
+ DW_OP_lit15 = 0x3f,
+ DW_OP_lit16 = 0x40,
+ DW_OP_lit17 = 0x41,
+ DW_OP_lit18 = 0x42,
+ DW_OP_lit19 = 0x43,
+ DW_OP_lit20 = 0x44,
+ DW_OP_lit21 = 0x45,
+ DW_OP_lit22 = 0x46,
+ DW_OP_lit23 = 0x47,
+ DW_OP_lit24 = 0x48,
+ DW_OP_lit25 = 0x49,
+ DW_OP_lit26 = 0x4a,
+ DW_OP_lit27 = 0x4b,
+ DW_OP_lit28 = 0x4c,
+ DW_OP_lit29 = 0x4d,
+ DW_OP_lit30 = 0x4e,
+ DW_OP_lit31 = 0x4f,
+ DW_OP_reg0 = 0x50,
+ DW_OP_reg1 = 0x51,
+ DW_OP_reg2 = 0x52,
+ DW_OP_reg3 = 0x53,
+ DW_OP_reg4 = 0x54,
+ DW_OP_reg5 = 0x55,
+ DW_OP_reg6 = 0x56,
+ DW_OP_reg7 = 0x57,
+ DW_OP_reg8 = 0x58,
+ DW_OP_reg9 = 0x59,
+ DW_OP_reg10 = 0x5a,
+ DW_OP_reg11 = 0x5b,
+ DW_OP_reg12 = 0x5c,
+ DW_OP_reg13 = 0x5d,
+ DW_OP_reg14 = 0x5e,
+ DW_OP_reg15 = 0x5f,
+ DW_OP_reg16 = 0x60,
+ DW_OP_reg17 = 0x61,
+ DW_OP_reg18 = 0x62,
+ DW_OP_reg19 = 0x63,
+ DW_OP_reg20 = 0x64,
+ DW_OP_reg21 = 0x65,
+ DW_OP_reg22 = 0x66,
+ DW_OP_reg23 = 0x67,
+ DW_OP_reg24 = 0x68,
+ DW_OP_reg25 = 0x69,
+ DW_OP_reg26 = 0x6a,
+ DW_OP_reg27 = 0x6b,
+ DW_OP_reg28 = 0x6c,
+ DW_OP_reg29 = 0x6d,
+ DW_OP_reg30 = 0x6e,
+ DW_OP_reg31 = 0x6f,
+ DW_OP_breg0 = 0x70,
+ DW_OP_breg1 = 0x71,
+ DW_OP_breg2 = 0x72,
+ DW_OP_breg3 = 0x73,
+ DW_OP_breg4 = 0x74,
+ DW_OP_breg5 = 0x75,
+ DW_OP_breg6 = 0x76,
+ DW_OP_breg7 = 0x77,
+ DW_OP_breg8 = 0x78,
+ DW_OP_breg9 = 0x79,
+ DW_OP_breg10 = 0x7a,
+ DW_OP_breg11 = 0x7b,
+ DW_OP_breg12 = 0x7c,
+ DW_OP_breg13 = 0x7d,
+ DW_OP_breg14 = 0x7e,
+ DW_OP_breg15 = 0x7f,
+ DW_OP_breg16 = 0x80,
+ DW_OP_breg17 = 0x81,
+ DW_OP_breg18 = 0x82,
+ DW_OP_breg19 = 0x83,
+ DW_OP_breg20 = 0x84,
+ DW_OP_breg21 = 0x85,
+ DW_OP_breg22 = 0x86,
+ DW_OP_breg23 = 0x87,
+ DW_OP_breg24 = 0x88,
+ DW_OP_breg25 = 0x89,
+ DW_OP_breg26 = 0x8a,
+ DW_OP_breg27 = 0x8b,
+ DW_OP_breg28 = 0x8c,
+ DW_OP_breg29 = 0x8d,
+ DW_OP_breg30 = 0x8e,
+ DW_OP_breg31 = 0x8f,
+ DW_OP_regx = 0x90,
+ DW_OP_fbreg = 0x91,
+ DW_OP_bregx = 0x92,
+ DW_OP_piece = 0x93,
+ DW_OP_deref_size = 0x94,
+ DW_OP_xderef_size = 0x95,
+ DW_OP_nop = 0x96,
+ /* DWARF 3 extensions. */
+ DW_OP_push_object_address = 0x97,
+ DW_OP_call2 = 0x98,
+ DW_OP_call4 = 0x99,
+ DW_OP_call_ref = 0x9a,
+ DW_OP_form_tls_address = 0x9b,
+ DW_OP_call_frame_cfa = 0x9c,
+ DW_OP_bit_piece = 0x9d,
+
+ /* DWARF 4 extensions. */
+ DW_OP_implicit_value = 0x9e,
+ DW_OP_stack_value = 0x9f,
+
+ DW_OP_lo_user = 0xe0, /* Implementation-defined range start. */
+ DW_OP_hi_user = 0xff, /* Implementation-defined range end. */
+
+ /* GNU extensions. */
+ DW_OP_GNU_push_tls_address = 0xe0,
+ /* The following is for marking variables that are uninitialized. */
+ DW_OP_GNU_uninit = 0xf0,
+ DW_OP_GNU_encoded_addr = 0xf1,
+ /* The GNU implicit pointer extension.
+ See http://www.dwarfstd.org/ShowIssue.php?issue=100831.1&type=open . */
+ DW_OP_GNU_implicit_pointer = 0xf2,
+ /* The GNU entry value extension.
+ See http://www.dwarfstd.org/ShowIssue.php?issue=100909.1&type=open . */
+ DW_OP_GNU_entry_value = 0xf3,
+ /* The GNU typed stack extension.
+ See http://www.dwarfstd.org/doc/040408.1.html . */
+ DW_OP_GNU_const_type = 0xf4,
+ DW_OP_GNU_regval_type = 0xf5,
+ DW_OP_GNU_deref_type = 0xf6,
+ DW_OP_GNU_convert = 0xf7,
+ DW_OP_GNU_reinterpret = 0xf9,
+ /* The GNU parameter ref extension. */
+ DW_OP_GNU_parameter_ref = 0xfa,
+ /* HP extensions. */
+ DW_OP_HP_unknown = 0xe0, /* Ouch, the same as GNU_push_tls_address. */
+ DW_OP_HP_is_value = 0xe1,
+ DW_OP_HP_fltconst4 = 0xe2,
+ DW_OP_HP_fltconst8 = 0xe3,
+ DW_OP_HP_mod_range = 0xe4,
+ DW_OP_HP_unmod_range = 0xe5,
+ DW_OP_HP_tls = 0xe6,
+ /* PGI (STMicroelectronics) extensions. */
+ DW_OP_PGI_omp_thread_num = 0xf8
+ };
+
+/* Type encodings. */
+enum dwarf_type
+ {
+ DW_ATE_void = 0x0,
+ DW_ATE_address = 0x1,
+ DW_ATE_boolean = 0x2,
+ DW_ATE_complex_float = 0x3,
+ DW_ATE_float = 0x4,
+ DW_ATE_signed = 0x5,
+ DW_ATE_signed_char = 0x6,
+ DW_ATE_unsigned = 0x7,
+ DW_ATE_unsigned_char = 0x8,
+ /* DWARF 3. */
+ DW_ATE_imaginary_float = 0x9,
+ DW_ATE_packed_decimal = 0xa,
+ DW_ATE_numeric_string = 0xb,
+ DW_ATE_edited = 0xc,
+ DW_ATE_signed_fixed = 0xd,
+ DW_ATE_unsigned_fixed = 0xe,
+ DW_ATE_decimal_float = 0xf,
+ /* DWARF 4. */
+ DW_ATE_UTF = 0x10,
+
+ DW_ATE_lo_user = 0x80,
+ DW_ATE_hi_user = 0xff,
+
+ /* HP extensions. */
+ DW_ATE_HP_float80 = 0x80, /* Floating-point (80 bit). */
+ DW_ATE_HP_complex_float80 = 0x81, /* Complex floating-point (80 bit). */
+ DW_ATE_HP_float128 = 0x82, /* Floating-point (128 bit). */
+ DW_ATE_HP_complex_float128 = 0x83, /* Complex fp (128 bit). */
+ DW_ATE_HP_floathpintel = 0x84, /* Floating-point (82 bit IA64). */
+ DW_ATE_HP_imaginary_float80 = 0x85,
+ DW_ATE_HP_imaginary_float128 = 0x86,
+ DW_ATE_HP_VAX_float = 0x88, /* F or G floating. */
+ DW_ATE_HP_VAX_float_d = 0x89, /* D floating. */
+ DW_ATE_HP_packed_decimal = 0x8a, /* Cobol. */
+ DW_ATE_HP_zoned_decimal = 0x8b, /* Cobol. */
+ DW_ATE_HP_edited = 0x8c, /* Cobol. */
+ DW_ATE_HP_signed_fixed = 0x8d, /* Cobol. */
+ DW_ATE_HP_unsigned_fixed = 0x8e, /* Cobol. */
+ DW_ATE_HP_VAX_complex_float = 0x8f, /* F or G floating complex. */
+ DW_ATE_HP_VAX_complex_float_d = 0x90 /* D floating complex. */
+ };
/* Decimal sign encodings. */
enum dwarf_decimal_sign_encoding
@@ -259,6 +787,48 @@ enum dwarf_line_number_hp_sfc_ops
DW_LNE_HP_SFC_associate = 3
};
+/* Call frame information. */
+enum dwarf_call_frame_info
+ {
+ DW_CFA_advance_loc = 0x40,
+ DW_CFA_offset = 0x80,
+ DW_CFA_restore = 0xc0,
+ DW_CFA_nop = 0x00,
+ DW_CFA_set_loc = 0x01,
+ DW_CFA_advance_loc1 = 0x02,
+ DW_CFA_advance_loc2 = 0x03,
+ DW_CFA_advance_loc4 = 0x04,
+ DW_CFA_offset_extended = 0x05,
+ DW_CFA_restore_extended = 0x06,
+ DW_CFA_undefined = 0x07,
+ DW_CFA_same_value = 0x08,
+ DW_CFA_register = 0x09,
+ DW_CFA_remember_state = 0x0a,
+ DW_CFA_restore_state = 0x0b,
+ DW_CFA_def_cfa = 0x0c,
+ DW_CFA_def_cfa_register = 0x0d,
+ DW_CFA_def_cfa_offset = 0x0e,
+ /* DWARF 3. */
+ DW_CFA_def_cfa_expression = 0x0f,
+ DW_CFA_expression = 0x10,
+ DW_CFA_offset_extended_sf = 0x11,
+ DW_CFA_def_cfa_sf = 0x12,
+ DW_CFA_def_cfa_offset_sf = 0x13,
+ DW_CFA_val_offset = 0x14,
+ DW_CFA_val_offset_sf = 0x15,
+ DW_CFA_val_expression = 0x16,
+
+ DW_CFA_lo_user = 0x1c,
+ DW_CFA_hi_user = 0x3f,
+
+ /* SGI/MIPS specific. */
+ DW_CFA_MIPS_advance_loc8 = 0x1d,
+ /* GNU extensions. */
+ DW_CFA_GNU_window_save = 0x2d,
+ DW_CFA_GNU_args_size = 0x2e,
+ DW_CFA_GNU_negative_offset_extended = 0x2f
+ };
+
#define DW_CIE_ID 0xffffffff
#define DW64_CIE_ID 0xffffffffffffffffULL
#define DW_CIE_VERSION 1
@@ -333,11 +903,6 @@ enum dwarf_macro_record_type
DW_MACRO_GNU_define_indirect = 5,
DW_MACRO_GNU_undef_indirect = 6,
DW_MACRO_GNU_transparent_include = 7,
- /* Extensions for DWZ multifile.
- See http://www.dwarfstd.org/ShowIssue.php?issue=120604.1&type=open . */
- DW_MACRO_GNU_define_indirect_alt = 8,
- DW_MACRO_GNU_undef_indirect_alt = 9,
- DW_MACRO_GNU_transparent_include_alt = 10,
DW_MACRO_GNU_lo_user = 0xe0,
DW_MACRO_GNU_hi_user = 0xff
};
@@ -365,37 +930,4 @@ enum dwarf_macro_record_type
#define DW_EH_PE_indirect 0x80
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/* Return the name of a DW_TAG_ constant, or NULL if the value is not
- recognized. */
-extern const char *get_DW_TAG_name (unsigned int tag);
-
-/* Return the name of a DW_AT_ constant, or NULL if the value is not
- recognized. */
-extern const char *get_DW_AT_name (unsigned int attr);
-
-/* Return the name of a DW_FORM_ constant, or NULL if the value is not
- recognized. */
-extern const char *get_DW_FORM_name (unsigned int form);
-
-/* Return the name of a DW_OP_ constant, or NULL if the value is not
- recognized. */
-extern const char *get_DW_OP_name (unsigned int op);
-
-/* Return the name of a DW_ATE_ constant, or NULL if the value is not
- recognized. */
-extern const char *get_DW_ATE_name (unsigned int enc);
-
-/* Return the name of a DW_CFA_ constant, or NULL if the value is not
- recognized. */
-extern const char *get_DW_CFA_name (unsigned int opc);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
#endif /* _DWARF2_H */
diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog
index ef84aa36a..86179bf78 100644
--- a/include/elf/ChangeLog
+++ b/include/elf/ChangeLog
@@ -1,128 +1,3 @@
-2012-06-28 Iain Sandoe <iain@codesourcery.com>
-
- * common.h (AT_L1I_CACHESHAPE, AT_L1D_CACHESHAPE,
- AT_L2_CACHESHAPE, AT_L3_CACHESHAPE): New defines.
-
-2012-05-16 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/13503
- * avr.h (RELOC_NUMBERS): Rename R_AVR_8_HHI8 to R_AVR_8_HLO8.
-
-2012-05-15 James Murray <jsm@jsm-net.demon.co.uk>
-
- * m68hc11.h (R_M68HC12_16B, R_M68HC12_PCREL_9, R_M68HC12_PCREL_10)
- R_M68HC12_HI8XG, R_M68HC12_LO8XG): New relocations.
- (E_M68HC11_XGATE_RAMOFFSET): Define.
-
-2012-05-14 James Lemke <jwlemke@codesourcery.com>
- * ppc.h (SEC_PPC_VLE): Remove.
-
-2012-05-14 Catherine Moore <clm@codesourcery.com>
- James Lemke <jwlemke@codesourcery.com>
-
- * ppc.h (R_PPC_VLE_REL8): New reloction.
- (R_PPC_VLE_REL15): Likewise.
- (R_PPC_VLE_REL24): Likewise.
- (R_PPC_VLE_LO16A): Likewise.
- (R_PPC_VLE_LO16D): Likewise.
- (R_PPC_VLE_HI16A): Likewise.
- (R_PPC_VLE_HI16D): Likewise.
- (R_PPC_VLE_HA16A): Likewise.
- (R_PPC_VLE_HA16D): Likewise.
- (R_PPC_VLE_SDA21): Likewise.
- (R_PPC_VLE_SDA21_LO): Likewise.
- (R_PPC_VLE_SDAREL_LO16A): Likewise.
- (R_PPC_VLE_SDAREL_LO16D): Likewise.
- (R_PPC_VLE_SDAREL_HI16A): Likewise.
- (R_PPC_VLE_SDAREL_HI16D): Likewise.
- (R_PPC_VLE_SDAREL_HA16A): Likewise.
- (R_PPC_VLE_SDAREL_HA16D): Likewise.
- (SEC_PPC_VLE): Remove.
- (PF_PPC_VLE): New program header flag.
- (SHF_PPC_VLE): New section header flag.
- (vle_opcodes, vle_num_opcodes): New.
- (VLE_OP): New macro.
- (VLE_OP_TO_SEG): New macro.
-
-2012-05-11 Georg-Johann Lay <avr@gjlay.de
-
- PR target/13503
- * elf/avr.h (RELOC_NUMBERS): Add values for R_AVR_8_LO8,
- R_AVR_8_HI8, R_AVR_8_HHI8.
-
-2012-05-03 Sean Keys <skeys@ipdatasys.com>
-
- * xgate.h: Mininal file to support XGATE relocations.
-
-2012-04-27 David S. Miller <davem@davemloft.net>
-
- * sparc.h: Add new ELF_SPARC_HWCAP_* defines for crypto,
- pause, and compare-and-branch instructions.
-
-2012-03-07 Nick Clifton <nickc@redhat.com>
-
- * mn10300.h (elf_mn10300_reloc_type): Add R_MN10300_TLS_GD,
- R_MN10300_TLS_LD, R_MN10300_TLS_LDO, R_MN10300_TLS_GOTIE,
- R_MN10300_TLS_IE, R_MN10300_TLS_LE, R_MN10300_TLS_DPTMOD,
- R_MN10300_TLS_DTPOFF and R_MN10300_TLS_TPOFF.
-
-2012-02-25 Walter Lee <walt@tilera.com>
-
- * tilegx.h (R_TILEGX_IMM16_X0_HW1_GOT): Delete.
- (R_TILEGX_IMM16_X1_HW1_GOT): Ditto.
- (R_TILEGX_IMM16_X0_HW2_GOT): Ditto.
- (R_TILEGX_IMM16_X1_HW2_GOT): Ditto.
- (R_TILEGX_IMM16_X0_HW3_GOT): Ditto.
- (R_TILEGX_IMM16_X1_HW3_GOT): Ditto.
- (R_TILEGX_IMM16_X0_HW2_LAST_GOT): Ditto.
- (R_TILEGX_IMM16_X1_HW2_LAST_GOT): Ditto.
- (R_TILEGX_IMM16_X0_HW1_TLS_GD): Ditto.
- (R_TILEGX_IMM16_X1_HW1_TLS_GD): Ditto.
- (R_TILEGX_IMM16_X0_HW2_TLS_GD): Ditto.
- (R_TILEGX_IMM16_X1_HW2_TLS_GD): Ditto.
- (R_TILEGX_IMM16_X0_HW3_TLS_GD): Ditto.
- (R_TILEGX_IMM16_X1_HW3_TLS_GD): Ditto.
- (R_TILEGX_IMM16_X0_HW2_LAST_TLS_GD): Ditto.
- (R_TILEGX_IMM16_X1_HW2_LAST_TLS_GD): Ditto.
- (R_TILEGX_IMM16_X0_HW1_TLS_IE): Ditto.
- (R_TILEGX_IMM16_X1_HW1_TLS_IE): Ditto.
- (R_TILEGX_IMM16_X0_HW2_TLS_IE): Ditto.
- (R_TILEGX_IMM16_X1_HW2_TLS_IE): Ditto.
- (R_TILEGX_IMM16_X0_HW3_TLS_IE): Ditto.
- (R_TILEGX_IMM16_X1_HW3_TLS_IE): Ditto.
- (R_TILEGX_IMM16_X0_HW2_LAST_TLS_IE): Ditto.
- (R_TILEGX_IMM16_X1_HW2_LAST_TLS_IE): Ditto.
- (R_TILEGX_IMM16_X0_HW0_TLS_LE): New relocation.
- (R_TILEGX_IMM16_X1_HW0_TLS_LE): Ditto.
- (R_TILEGX_IMM16_X0_HW0_LAST_TLS_LE): Ditto.
- (R_TILEGX_IMM16_X1_HW0_LAST_TLS_LE): Ditto.
- (R_TILEGX_IMM16_X0_HW1_LAST_TLS_LE): Ditto.
- (R_TILEGX_IMM16_X1_HW1_LAST_TLS_LE): Ditto.
- (R_TILEGX_TLS_GD_CALL): Ditto.
- (R_TILEGX_IMM8_X0_TLS_GD_ADD): Ditto.
- (R_TILEGX_IMM8_X1_TLS_GD_ADD): Ditto.
- (R_TILEGX_IMM8_Y0_TLS_GD_ADD): Ditto.
- (R_TILEGX_IMM8_Y1_TLS_GD_ADD): Ditto.
- (R_TILEGX_TLS_IE_LOAD): Ditto.
- (R_TILEGX_IMM8_X0_TLS_ADD): Ditto.
- (R_TILEGX_IMM8_X1_TLS_ADD): Ditto.
- (R_TILEGX_IMM8_Y0_TLS_ADD): Ditto.
- (R_TILEGX_IMM8_Y1_TLS_ADD): Ditto.
- * tilepro.h (R_TILEPRO_TLS_GD_CALL): New relocation.
- (R_TILEPRO_IMM8_X0_TLS_GD_ADD): Ditto.
- (R_TILEPRO_IMM8_X1_TLS_GD_ADD): Ditto.
- (R_TILEPRO_IMM8_Y0_TLS_GD_ADD): Ditto.
- (R_TILEPRO_IMM8_Y1_TLS_GD_ADD): Ditto.
- (R_TILEPRO_TLS_IE_LOAD): Ditto.
- (R_TILEPRO_IMM16_X0_TLS_LE): Ditto.
- (R_TILEPRO_IMM16_X1_TLS_LE): Ditto.
- (R_TILEPRO_IMM16_X0_TLS_LE_LO): Ditto.
- (R_TILEPRO_IMM16_X1_TLS_LE_LO): Ditto.
- (R_TILEPRO_IMM16_X0_TLS_LE_HI): Ditto.
- (R_TILEPRO_IMM16_X1_TLS_LE_HI): Ditto.
- (R_TILEPRO_IMM16_X0_TLS_LE_HA): Ditto.
- (R_TILEPRO_IMM16_X1_TLS_LE_HA): Ditto.
-
2011-12-22 DJ Delorie <dj@redhat.com>
* rl78.h (R_RL78_RH_RELAX, R_RL78_RH_SFR, R_RL78_RH_SADDR): New.
diff --git a/include/elf/avr.h b/include/elf/avr.h
index b45d902d2..11d43f966 100644
--- a/include/elf/avr.h
+++ b/include/elf/avr.h
@@ -1,6 +1,5 @@
/* AVR ELF support for BFD.
- Copyright 1999, 2000, 2004, 2006, 2010, 2012
- Free Software Foundation, Inc.
+ Copyright 1999, 2000, 2004, 2006, 2010 Free Software Foundation, Inc.
Contributed by Denis Chertykov <denisc@overta.ru>
This file is part of BFD, the Binary File Descriptor library.
@@ -31,16 +30,16 @@
as reference for the relocations so that linker relaxation is possible. */
#define EF_AVR_LINKRELAX_PREPARED 0x80
-#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
+#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
#define E_AVR_MACH_XMEGA1 101
#define E_AVR_MACH_XMEGA2 102
#define E_AVR_MACH_XMEGA3 103
@@ -78,9 +77,6 @@ START_RELOC_NUMBERS (elf_avr_reloc_type)
RELOC_NUMBER (R_AVR_LO8_LDI_GS, 24)
RELOC_NUMBER (R_AVR_HI8_LDI_GS, 25)
RELOC_NUMBER (R_AVR_8, 26)
- RELOC_NUMBER (R_AVR_8_LO8, 27)
- RELOC_NUMBER (R_AVR_8_HI8, 28)
- RELOC_NUMBER (R_AVR_8_HLO8, 29)
END_RELOC_NUMBERS (R_AVR_max)
#endif /* _ELF_AVR_H */
diff --git a/include/elf/common.h b/include/elf/common.h
index 58e489afe..5cddc0bef 100644
--- a/include/elf/common.h
+++ b/include/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, 2008, 2009, 2010, 2011, 2012
+ 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
Free Software Foundation, Inc.
Written by Fred Fish @ Cygnus Support, from information published
@@ -935,18 +935,6 @@
#define AT_SYSINFO 32
#define AT_SYSINFO_EHDR 33 /* Pointer to ELF header of system-supplied DSO. */
-/* More complete cache descriptions than AT_[DIU]CACHEBSIZE. If the
- value is -1, then the cache doesn't exist. Otherwise:
-
- bit 0-3: Cache set-associativity; 0 means fully associative.
- bit 4-7: Log2 of cacheline size.
- bit 8-31: Size of the entire cache >> 8. */
-
-#define AT_L1I_CACHESHAPE 34
-#define AT_L1D_CACHESHAPE 35
-#define AT_L2_CACHESHAPE 36
-#define AT_L3_CACHESHAPE 37
-
#define AT_SUN_UID 2000 /* Effective user ID. */
#define AT_SUN_RUID 2001 /* Real user ID. */
#define AT_SUN_GID 2002 /* Effective group ID. */
diff --git a/include/elf/m68hc11.h b/include/elf/m68hc11.h
index 58d882088..ca325d981 100644
--- a/include/elf/m68hc11.h
+++ b/include/elf/m68hc11.h
@@ -1,5 +1,5 @@
/* m68hc11 & m68hc12 ELF support for BFD.
- Copyright 1999, 2000, 2001, 2002, 2010, 2012 Free Software Foundation, Inc.
+ Copyright 1999, 2000, 2001, 2002, 2010 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -42,12 +42,6 @@ START_RELOC_NUMBERS (elf_m68hc11_reloc_type)
RELOC_NUMBER (R_M68HC11_LO16, 12)
RELOC_NUMBER (R_M68HC11_PAGE, 13)
- RELOC_NUMBER (R_M68HC12_16B, 15)
- RELOC_NUMBER (R_M68HC12_PCREL_9, 16)
- RELOC_NUMBER (R_M68HC12_PCREL_10, 17)
- RELOC_NUMBER (R_M68HC12_HI8XG, 18)
- RELOC_NUMBER (R_M68HC12_LO8XG, 19)
-
/* GNU extension for linker relaxation.
Mark beginning of a jump instruction (any form). */
RELOC_NUMBER (R_M68HC11_RL_JUMP, 20)
@@ -70,12 +64,6 @@ END_RELOC_NUMBERS (R_M68HC11_max)
/* Uses 68HC12 memory banks. */
#define E_M68HC12_BANKS 0x000000004
-/* XGATE ram offsetting. */
-#define E_M68HC11_XGATE_RAMOFFSET 0x000000100
-
-/* Suppress warnings */
-#define E_M68HC11_NO_BANK_WARNING 0x000000200
-
#define EF_M68HC11_MACH_MASK 0xF0
#define EF_M68HC11_GENERIC 0x00 /* Generic 68HC12/backward compatibility. */
#define EF_M68HC12_MACH 0x10 /* 68HC12 microcontroller. */
@@ -98,10 +86,10 @@ END_RELOC_NUMBERS (R_M68HC11_max)
/* Special values for the st_other field in the symbol table. These
are used for 68HC12 to identify far functions (must be called with
'call' and returns with 'rtc'). */
-#define STO_M68HC12_FAR 0x80
+#define STO_M68HC12_FAR 0x80
/* Identify interrupt handlers. This is used by the debugger to
correctly compute the stack frame. */
-#define STO_M68HC12_INTERRUPT 0x40
+#define STO_M68HC12_INTERRUPT 0x40
#endif
diff --git a/include/elf/mn10300.h b/include/elf/mn10300.h
index 529b3897b..444787b5f 100644
--- a/include/elf/mn10300.h
+++ b/include/elf/mn10300.h
@@ -51,15 +51,6 @@ START_RELOC_NUMBERS (elf_mn10300_reloc_type)
RELOC_NUMBER (R_MN10300_GLOB_DAT, 21)
RELOC_NUMBER (R_MN10300_JMP_SLOT, 22)
RELOC_NUMBER (R_MN10300_RELATIVE, 23)
- RELOC_NUMBER (R_MN10300_TLS_GD, 24)
- RELOC_NUMBER (R_MN10300_TLS_LD, 25)
- RELOC_NUMBER (R_MN10300_TLS_LDO, 26)
- RELOC_NUMBER (R_MN10300_TLS_GOTIE, 27)
- RELOC_NUMBER (R_MN10300_TLS_IE, 28)
- RELOC_NUMBER (R_MN10300_TLS_LE, 29)
- RELOC_NUMBER (R_MN10300_TLS_DTPMOD, 30)
- RELOC_NUMBER (R_MN10300_TLS_DTPOFF, 31)
- RELOC_NUMBER (R_MN10300_TLS_TPOFF, 32)
RELOC_NUMBER (R_MN10300_SYM_DIFF, 33)
RELOC_NUMBER (R_MN10300_ALIGN, 34)
END_RELOC_NUMBERS (R_MN10300_MAX)
diff --git a/include/elf/ppc.h b/include/elf/ppc.h
index f80a1e8a3..8e27855be 100644
--- a/include/elf/ppc.h
+++ b/include/elf/ppc.h
@@ -131,25 +131,6 @@ START_RELOC_NUMBERS (elf_ppc_reloc_type)
RELOC_NUMBER (R_PPC_EMB_BIT_FLD, 115)
RELOC_NUMBER (R_PPC_EMB_RELSDA, 116)
-/* PowerPC VLE relocations. */
- RELOC_NUMBER (R_PPC_VLE_REL8, 216)
- RELOC_NUMBER (R_PPC_VLE_REL15, 217)
- RELOC_NUMBER (R_PPC_VLE_REL24, 218)
- RELOC_NUMBER (R_PPC_VLE_LO16A, 219)
- RELOC_NUMBER (R_PPC_VLE_LO16D, 220)
- RELOC_NUMBER (R_PPC_VLE_HI16A, 221)
- RELOC_NUMBER (R_PPC_VLE_HI16D, 222)
- RELOC_NUMBER (R_PPC_VLE_HA16A, 223)
- RELOC_NUMBER (R_PPC_VLE_HA16D, 224)
- RELOC_NUMBER (R_PPC_VLE_SDA21, 225)
- RELOC_NUMBER (R_PPC_VLE_SDA21_LO, 226)
- RELOC_NUMBER (R_PPC_VLE_SDAREL_LO16A, 227)
- RELOC_NUMBER (R_PPC_VLE_SDAREL_LO16D, 228)
- RELOC_NUMBER (R_PPC_VLE_SDAREL_HI16A, 229)
- RELOC_NUMBER (R_PPC_VLE_SDAREL_HI16D, 230)
- RELOC_NUMBER (R_PPC_VLE_SDAREL_HA16A, 231)
- RELOC_NUMBER (R_PPC_VLE_SDAREL_HA16D, 232)
-
/* Support STT_GNU_IFUNC plt calls. */
RELOC_NUMBER (R_PPC_IRELATIVE, 248)
@@ -185,11 +166,9 @@ END_RELOC_NUMBERS (R_PPC_max)
#define EF_PPC_RELOCATABLE 0x00010000 /* PowerPC -mrelocatable flag. */
#define EF_PPC_RELOCATABLE_LIB 0x00008000 /* PowerPC -mrelocatable-lib flag. */
-/* Processor specific program headers, p_flags field. */
-#define PF_PPC_VLE 0x10000000 /* PowerPC VLE. */
-
-/* Processor specific section headers, sh_flags field. */
-#define SHF_PPC_VLE 0x10000000 /* PowerPC VLE text section. */
+/* This bit is reserved by BFD for processor specific stuff. Name
+ it properly so that we can easily stay consistent elsewhere. */
+#define SEC_PPC_VLE SEC_TIC54X_BLOCK
/* Processor specific section headers, sh_type field. */
diff --git a/include/elf/s390.h b/include/elf/s390.h
index a5b4217bc..807b7e8e0 100644
--- a/include/elf/s390.h
+++ b/include/elf/s390.h
@@ -119,7 +119,6 @@ START_RELOC_NUMBERS (elf_s390_reloc_type)
RELOC_NUMBER (R_390_GOTPLT20, 59) /* 20 bit offset to jump slot. */
RELOC_NUMBER (R_390_TLS_GOTIE20, 60)/* 20 bit GOT offset for statis TLS
block offset. */
- RELOC_NUMBER (R_390_IRELATIVE, 61) /* IFUNC relocation. */
/* These are GNU extensions to enable C++ vtable garbage collection. */
RELOC_NUMBER (R_390_GNU_VTINHERIT, 250)
RELOC_NUMBER (R_390_GNU_VTENTRY, 251)
diff --git a/include/elf/sparc.h b/include/elf/sparc.h
index d182f4d76..fc8a765a6 100644
--- a/include/elf/sparc.h
+++ b/include/elf/sparc.h
@@ -162,7 +162,6 @@ START_RELOC_NUMBERS (elf_sparc_reloc_type)
RELOC_NUMBER (R_SPARC_H34, 85)
RELOC_NUMBER (R_SPARC_SIZE32, 86)
RELOC_NUMBER (R_SPARC_SIZE64, 87)
- RELOC_NUMBER (R_SPARC_WDISP10, 88)
EMPTY_RELOC (R_SPARC_max_std)
@@ -213,19 +212,5 @@ enum
#define ELF_SPARC_HWCAP_IMA 0x00008000 /* integer multiply-add */
#define ELF_SPARC_HWCAP_ASI_CACHE_SPARING \
0x00010000 /* cache sparing ASIs */
-#define ELF_SPARC_HWCAP_AES 0x00020000 /* AES crypto insns */
-#define ELF_SPARC_HWCAP_DES 0x00040000 /* DES crypto insns */
-#define ELF_SPARC_HWCAP_KASUMI 0x00080000 /* KASUMI crypto insns */
-#define ELF_SPARC_HWCAP_CAMELLIA \
- 0x00100000 /* CAMELLIA crypto insns */
-#define ELF_SPARC_HWCAP_MD5 0x00200000 /* MD5 hashing insns */
-#define ELF_SPARC_HWCAP_SHA1 0x00400000 /* SHA1 hashing insns */
-#define ELF_SPARC_HWCAP_SHA256 0x00800000 /* SHA256 hashing insns */
-#define ELF_SPARC_HWCAP_SHA512 0x01000000 /* SHA512 hashing insns */
-#define ELF_SPARC_HWCAP_MPMUL 0x02000000 /* Multiple Precision Multiply */
-#define ELF_SPARC_HWCAP_MONT 0x04000000 /* Montgomery Mult/Sqrt */
-#define ELF_SPARC_HWCAP_PAUSE 0x08000000 /* Pause insn */
-#define ELF_SPARC_HWCAP_CBCOND 0x10000000 /* Compare and Branch insns */
-#define ELF_SPARC_HWCAP_CRC32C 0x20000000 /* CRC32C insn */
#endif /* _ELF_SPARC_H */
diff --git a/include/elf/tilegx.h b/include/elf/tilegx.h
index 004ce28ca..d276f2e5f 100644
--- a/include/elf/tilegx.h
+++ b/include/elf/tilegx.h
@@ -104,37 +104,48 @@ START_RELOC_NUMBERS (elf_tilegx_reloc_type)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW0_GOT, 64)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW0_GOT, 65)
- /* Relocs 66-71 are currently not defined. */
-
+ RELOC_NUMBER (R_TILEGX_IMM16_X0_HW1_GOT, 66)
+ RELOC_NUMBER (R_TILEGX_IMM16_X1_HW1_GOT, 67)
+ RELOC_NUMBER (R_TILEGX_IMM16_X0_HW2_GOT, 68)
+ RELOC_NUMBER (R_TILEGX_IMM16_X1_HW2_GOT, 69)
+ RELOC_NUMBER (R_TILEGX_IMM16_X0_HW3_GOT, 70)
+ RELOC_NUMBER (R_TILEGX_IMM16_X1_HW3_GOT, 71)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW0_LAST_GOT, 72)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW0_LAST_GOT, 73)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW1_LAST_GOT, 74)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW1_LAST_GOT, 75)
- /* Relocs 76-77 are currently not defined. */
+ RELOC_NUMBER (R_TILEGX_IMM16_X0_HW2_LAST_GOT, 76)
+ RELOC_NUMBER (R_TILEGX_IMM16_X1_HW2_LAST_GOT, 77)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW0_TLS_GD, 78)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW0_TLS_GD, 79)
- RELOC_NUMBER (R_TILEGX_IMM16_X0_HW0_TLS_LE, 80)
- RELOC_NUMBER (R_TILEGX_IMM16_X1_HW0_TLS_LE, 81)
- RELOC_NUMBER (R_TILEGX_IMM16_X0_HW0_LAST_TLS_LE, 82)
- RELOC_NUMBER (R_TILEGX_IMM16_X1_HW0_LAST_TLS_LE, 83)
- RELOC_NUMBER (R_TILEGX_IMM16_X0_HW1_LAST_TLS_LE, 84)
- RELOC_NUMBER (R_TILEGX_IMM16_X1_HW1_LAST_TLS_LE, 85)
+ RELOC_NUMBER (R_TILEGX_IMM16_X0_HW1_TLS_GD, 80)
+ RELOC_NUMBER (R_TILEGX_IMM16_X1_HW1_TLS_GD, 81)
+ RELOC_NUMBER (R_TILEGX_IMM16_X0_HW2_TLS_GD, 82)
+ RELOC_NUMBER (R_TILEGX_IMM16_X1_HW2_TLS_GD, 83)
+ RELOC_NUMBER (R_TILEGX_IMM16_X0_HW3_TLS_GD, 84)
+ RELOC_NUMBER (R_TILEGX_IMM16_X1_HW3_TLS_GD, 85)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW0_LAST_TLS_GD, 86)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW0_LAST_TLS_GD, 87)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW1_LAST_TLS_GD, 88)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW1_LAST_TLS_GD, 89)
- /* Relocs 90-91 are currently not defined. */
+ RELOC_NUMBER (R_TILEGX_IMM16_X0_HW2_LAST_TLS_GD, 90)
+ RELOC_NUMBER (R_TILEGX_IMM16_X1_HW2_LAST_TLS_GD, 91)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW0_TLS_IE, 92)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW0_TLS_IE, 93)
- /* Relocs 94-99 are currently not defined. */
-
+ RELOC_NUMBER (R_TILEGX_IMM16_X0_HW1_TLS_IE, 94)
+ RELOC_NUMBER (R_TILEGX_IMM16_X1_HW1_TLS_IE, 95)
+ RELOC_NUMBER (R_TILEGX_IMM16_X0_HW2_TLS_IE, 96)
+ RELOC_NUMBER (R_TILEGX_IMM16_X1_HW2_TLS_IE, 97)
+ RELOC_NUMBER (R_TILEGX_IMM16_X0_HW3_TLS_IE, 98)
+ RELOC_NUMBER (R_TILEGX_IMM16_X1_HW3_TLS_IE, 99)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW0_LAST_TLS_IE, 100)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW0_LAST_TLS_IE, 101)
RELOC_NUMBER (R_TILEGX_IMM16_X0_HW1_LAST_TLS_IE, 102)
RELOC_NUMBER (R_TILEGX_IMM16_X1_HW1_LAST_TLS_IE, 103)
- /* Relocs 104-105 are currently not defined. */
+ RELOC_NUMBER (R_TILEGX_IMM16_X0_HW2_LAST_TLS_IE, 104)
+ RELOC_NUMBER (R_TILEGX_IMM16_X1_HW2_LAST_TLS_IE, 105)
RELOC_NUMBER (R_TILEGX_TLS_DTPMOD64, 106)
RELOC_NUMBER (R_TILEGX_TLS_DTPOFF64, 107)
@@ -143,17 +154,6 @@ START_RELOC_NUMBERS (elf_tilegx_reloc_type)
RELOC_NUMBER (R_TILEGX_TLS_DTPOFF32, 110)
RELOC_NUMBER (R_TILEGX_TLS_TPOFF32, 111)
- RELOC_NUMBER (R_TILEGX_TLS_GD_CALL, 112)
- RELOC_NUMBER (R_TILEGX_IMM8_X0_TLS_GD_ADD, 113)
- RELOC_NUMBER (R_TILEGX_IMM8_X1_TLS_GD_ADD, 114)
- RELOC_NUMBER (R_TILEGX_IMM8_Y0_TLS_GD_ADD, 115)
- RELOC_NUMBER (R_TILEGX_IMM8_Y1_TLS_GD_ADD, 116)
- RELOC_NUMBER (R_TILEGX_TLS_IE_LOAD, 117)
- RELOC_NUMBER (R_TILEGX_IMM8_X0_TLS_ADD, 118)
- RELOC_NUMBER (R_TILEGX_IMM8_X1_TLS_ADD, 119)
- RELOC_NUMBER (R_TILEGX_IMM8_Y0_TLS_ADD, 120)
- RELOC_NUMBER (R_TILEGX_IMM8_Y1_TLS_ADD, 121)
-
/* These are GNU extensions to enable C++ vtable garbage collection. */
RELOC_NUMBER (R_TILEGX_GNU_VTINHERIT, 128)
RELOC_NUMBER (R_TILEGX_GNU_VTENTRY, 129)
diff --git a/include/elf/tilepro.h b/include/elf/tilepro.h
index 0079a2fe4..899697f60 100644
--- a/include/elf/tilepro.h
+++ b/include/elf/tilepro.h
@@ -96,14 +96,7 @@ START_RELOC_NUMBERS (elf_tilepro_reloc_type)
RELOC_NUMBER (R_TILEPRO_DEST_IMM8_X1, 55)
- /* Relocs 56-59 are currently not defined. */
-
- RELOC_NUMBER (R_TILEPRO_TLS_GD_CALL, 60)
- RELOC_NUMBER (R_TILEPRO_IMM8_X0_TLS_GD_ADD, 61)
- RELOC_NUMBER (R_TILEPRO_IMM8_X1_TLS_GD_ADD, 62)
- RELOC_NUMBER (R_TILEPRO_IMM8_Y0_TLS_GD_ADD, 63)
- RELOC_NUMBER (R_TILEPRO_IMM8_Y1_TLS_GD_ADD, 64)
- RELOC_NUMBER (R_TILEPRO_TLS_IE_LOAD, 65)
+ /* Relocs 56-65 are currently not defined. */
RELOC_NUMBER (R_TILEPRO_IMM16_X0_TLS_GD, 66)
RELOC_NUMBER (R_TILEPRO_IMM16_X1_TLS_GD, 67)
@@ -127,15 +120,6 @@ START_RELOC_NUMBERS (elf_tilepro_reloc_type)
RELOC_NUMBER (R_TILEPRO_TLS_DTPOFF32, 83)
RELOC_NUMBER (R_TILEPRO_TLS_TPOFF32, 84)
- RELOC_NUMBER (R_TILEPRO_IMM16_X0_TLS_LE, 85)
- RELOC_NUMBER (R_TILEPRO_IMM16_X1_TLS_LE, 86)
- RELOC_NUMBER (R_TILEPRO_IMM16_X0_TLS_LE_LO, 87)
- RELOC_NUMBER (R_TILEPRO_IMM16_X1_TLS_LE_LO, 88)
- RELOC_NUMBER (R_TILEPRO_IMM16_X0_TLS_LE_HI, 89)
- RELOC_NUMBER (R_TILEPRO_IMM16_X1_TLS_LE_HI, 90)
- RELOC_NUMBER (R_TILEPRO_IMM16_X0_TLS_LE_HA, 91)
- RELOC_NUMBER (R_TILEPRO_IMM16_X1_TLS_LE_HA, 92)
-
/* These are GNU extensions to enable C++ vtable garbage collection. */
RELOC_NUMBER (R_TILEPRO_GNU_VTINHERIT, 128)
RELOC_NUMBER (R_TILEPRO_GNU_VTENTRY, 129)
diff --git a/include/elf/xgate.h b/include/elf/xgate.h
deleted file mode 100644
index 33286a8d0..000000000
--- a/include/elf/xgate.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/* XGATE ELF support for BFD.
- Copyright 2010, 2011, 2012 Free Software Foundation, Inc.
-
- This file is part of BFD, the Binary File Descriptor library.
-
- 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
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- 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. */
-
-#ifndef _ELF_XGATE_H
-#define _ELF_XGATE_H
-
-#include "elf/reloc-macros.h"
-
-/* Relocation types. */
-START_RELOC_NUMBERS (elf_xgate_reloc_type)
- RELOC_NUMBER (R_XGATE_NONE, 0)
- RELOC_NUMBER (R_XGATE_8, 1)
- RELOC_NUMBER (R_XGATE_PCREL_8, 2)
- RELOC_NUMBER (R_XGATE_16, 3)
- RELOC_NUMBER (R_XGATE_32, 4)
- RELOC_NUMBER (R_XGATE_PCREL_16, 5)
- /* These are GNU extensions to enable C++ vtable garbage collection. */
- RELOC_NUMBER (R_XGATE_GNU_VTINHERIT, 6)
- RELOC_NUMBER (R_XGATE_GNU_VTENTRY, 7)
-
- RELOC_NUMBER (R_XGATE_24, 8)
- RELOC_NUMBER (R_XGATE_LO16, 9)
- RELOC_NUMBER (R_XGATE_GPAGE, 10)
- RELOC_NUMBER (R_XGATE_PCREL_9, 11)
- RELOC_NUMBER (R_XGATE_PCREL_10, 12)
- RELOC_NUMBER (R_XGATE_IMM8_LO, 13)
- RELOC_NUMBER (R_XGATE_IMM8_HI, 14)
- RELOC_NUMBER (R_XGATE_IMM3, 15)
- RELOC_NUMBER (R_XGATE_IMM4, 16)
- RELOC_NUMBER (R_XGATE_IMM5, 17)
-
- /* GNU extension for linker relaxation.
- Mark beginning of a jump instruction (any form). */
- RELOC_NUMBER (R_XGATE_RL_JUMP, 18)
-
- /* Mark beginning of Gcc relaxation group instruction. */
- RELOC_NUMBER (R_XGATE_RL_GROUP, 19)
-END_RELOC_NUMBERS (R_XGATE_max)
-
-/* Processor specific flags for the ELF header e_flags field. */
-
-/* ABI identification. */
-#define EF_XGATE_ABI 0x00000000F
-
-/* Integers are 32-bit long. */
-#define E_XGATE_I32 0x000000001
-
-/* Doubles are 64-bit long. */
-#define E_XGATE_F64 0x000000002
-
-#define EF_XGATE_MACH_MASK 0xF0
-
-#define EF_XGATE_MACH 0x80 /* XGATE microcontroller. */
-
-#define E_M68HCS12X_GLOBAL 0x100
-
-/* Identify interrupt handlers. This is used by the debugger to
- correctly compute the stack frame. */
-#define STO_XGATE_INTERRUPT 0x40
-
-#endif
diff --git a/include/filenames.h b/include/filenames.h
index e799a51b6..75ec3302d 100644
--- a/include/filenames.h
+++ b/include/filenames.h
@@ -26,8 +26,6 @@ Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
#ifndef FILENAMES_H
#define FILENAMES_H
-#include "hashtab.h" /* for hashval_t */
-
#ifdef __cplusplus
extern "C" {
#endif
@@ -86,10 +84,6 @@ extern int filename_cmp (const char *s1, const char *s2);
extern int filename_ncmp (const char *s1, const char *s2,
size_t n);
-extern hashval_t filename_hash (const void *s);
-
-extern int filename_eq (const void *s1, const void *s2);
-
#ifdef __cplusplus
}
#endif
diff --git a/include/gdb/ChangeLog b/include/gdb/ChangeLog
index 833f913ff..a2ab59f0f 100644
--- a/include/gdb/ChangeLog
+++ b/include/gdb/ChangeLog
@@ -1,23 +1,3 @@
-2012-06-23 Doug Evans <dje@google.com>
-
- * gdb-index.h: New file.
-
-2012-05-24 Pedro Alves <palves@redhat.com>
-
- PR gdb/7205
-
- Replace TARGET_SIGNAL_ with GDB_SIGNAL_ throughout.
-
-2012-05-24 Pedro Alves <palves@redhat.com>
-
- PR gdb/7205
-
- Replace target_signal with gdb_signal throughout.
-
-2012-04-12 Mike Frysinger <vapier@gentoo.org>
-
- * callback.h (CB_SYS_argc, CB_SYS_argnlen, CB_SYS_argn): Define.
-
2012-02-03 Kevin Buettner <kevinb@redhat.com>
* sim-rl78.h: New file.
diff --git a/include/gdb/callback.h b/include/gdb/callback.h
index d8d14727d..9b6cf8539 100644
--- a/include/gdb/callback.h
+++ b/include/gdb/callback.h
@@ -231,11 +231,6 @@ extern host_callback default_callback;
#define CB_SYS_truncate 21
#define CB_SYS_ftruncate 22
#define CB_SYS_pipe 23
-
-/* New ARGV support. */
-#define CB_SYS_argc 24
-#define CB_SYS_argnlen 25
-#define CB_SYS_argn 26
/* Struct use to pass and return information necessary to perform a
system call. */
@@ -314,7 +309,7 @@ int cb_target_to_host_open (host_callback *, int);
int cb_target_to_host_signal (host_callback *, int);
/* Translate host signal number to target. */
-int cb_host_to_gdb_signal (host_callback *, int);
+int cb_host_to_target_signal (host_callback *, int);
/* Translate host stat struct to target.
If stat struct ptr is NULL, just compute target stat struct size.
diff --git a/include/gdb/gdb-index.h b/include/gdb/gdb-index.h
deleted file mode 100644
index 92c3398b9..000000000
--- a/include/gdb/gdb-index.h
+++ /dev/null
@@ -1,99 +0,0 @@
-/* Public attributes of the .gdb_index section.
- Copyright 2012 Free Software Foundation, Inc.
-
- This file is part of GDB.
-
- 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 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-/* This file contains values for understanding the .gdb_index section
- needed by more than just GDB, e.g. readelf. */
-
-#ifndef GDB_INDEX_H
-#define GDB_INDEX_H
-
-/* Each symbol in .gdb_index refers to a set of CUs that defines the symbol.
- Each CU is represented by a 32 bit number that is the index of the CU in
- the CU table, plus some attributes of the use of the symbol in that CU.
-
- The values are defined such that if all the bits are zero, then no
- special meaning is assigned to any of them. This is done to preserve
- compatibility with older indices. The way this is done is to specify
- that if the GDB_INDEX_SYMBOL_KIND value is zero then all other attribute
- bits must be zero.
-
- 0-23 CU index
- 24-27 reserved
- 28-30 symbol kind
- 31 0 == global, 1 == static
-
- Bits 24-27 are reserved because it's easier to relax restrictions than
- it is to impose them after the fact. At present 24 bits to represent
- the CU index is plenty. If we need more bits for the CU index or for
- attributes then we have them. */
-
-/* Whether the symbol is in GLOBAL_BLOCK (== 0) or STATIC_BLOCK (== 1). */
-#define GDB_INDEX_SYMBOL_STATIC_SHIFT 31
-#define GDB_INDEX_SYMBOL_STATIC_MASK 1
-#define GDB_INDEX_SYMBOL_STATIC_VALUE(cu_index) \
- (((cu_index) >> GDB_INDEX_SYMBOL_STATIC_SHIFT) & GDB_INDEX_SYMBOL_STATIC_MASK)
-#define GDB_INDEX_SYMBOL_STATIC_SET_VALUE(cu_index, value) \
- do { \
- (cu_index) |= (((value) & GDB_INDEX_SYMBOL_STATIC_MASK) \
- << GDB_INDEX_SYMBOL_STATIC_SHIFT); \
- } while (0)
-
-/* The kind of the symbol.
- We don't use GDB's internal values as these numbers are published
- so that other tools can build and read .gdb_index. */
-
-typedef enum {
- /* Special value to indicate no attributes are present. */
- GDB_INDEX_SYMBOL_KIND_NONE = 0,
- GDB_INDEX_SYMBOL_KIND_TYPE = 1,
- GDB_INDEX_SYMBOL_KIND_VARIABLE = 2,
- GDB_INDEX_SYMBOL_KIND_FUNCTION = 3,
- GDB_INDEX_SYMBOL_KIND_OTHER = 4,
- /* We currently allocate 3 bits to record the symbol kind.
- Give the unused bits a value so gdb will print them sensibly. */
- GDB_INDEX_SYMBOL_KIND_UNUSED5 = 5,
- GDB_INDEX_SYMBOL_KIND_UNUSED6 = 6,
- GDB_INDEX_SYMBOL_KIND_UNUSED7 = 7,
-} gdb_index_symbol_kind;
-
-#define GDB_INDEX_SYMBOL_KIND_SHIFT 28
-#define GDB_INDEX_SYMBOL_KIND_MASK 7
-#define GDB_INDEX_SYMBOL_KIND_VALUE(cu_index) \
- ((gdb_index_symbol_kind) (((cu_index) >> GDB_INDEX_SYMBOL_KIND_SHIFT) \
- & GDB_INDEX_SYMBOL_KIND_MASK))
-#define GDB_INDEX_SYMBOL_KIND_SET_VALUE(cu_index, value) \
- do { \
- (cu_index) |= (((value) & GDB_INDEX_SYMBOL_KIND_MASK) \
- << GDB_INDEX_SYMBOL_KIND_SHIFT); \
- } while (0)
-
-#define GDB_INDEX_RESERVED_SHIFT 24
-#define GDB_INDEX_RESERVED_MASK 15
-#define GDB_INDEX_RESERVED_VALUE(cu_index) \
- (((cu_index) >> GDB_INDEX_RESERVED_SHIFT) & GDB_INDEX_RESERVED_MASK)
-
-/* CU index. */
-#define GDB_INDEX_CU_BITSIZE 24
-#define GDB_INDEX_CU_MASK ((1 << GDB_INDEX_CU_BITSIZE) - 1)
-#define GDB_INDEX_CU_VALUE(cu_index) ((cu_index) & GDB_INDEX_CU_MASK)
-#define GDB_INDEX_CU_SET_VALUE(cu_index, value) \
- do { \
- (cu_index) |= (value) & GDB_INDEX_CU_MASK; \
- } while (0)
-
-#endif /* GDB_INDEX_H */
diff --git a/include/gdb/signals.def b/include/gdb/signals.def
index ef4c8d4ee..c01895ae5 100644
--- a/include/gdb/signals.def
+++ b/include/gdb/signals.def
@@ -18,173 +18,173 @@
/* Used some places (e.g. stop_signal) to record the concept that
there is no signal. */
-SET (GDB_SIGNAL_0, 0, "0", "Signal 0")
-#define GDB_SIGNAL_FIRST GDB_SIGNAL_0
-SET (GDB_SIGNAL_HUP, 1, "SIGHUP", "Hangup")
-SET (GDB_SIGNAL_INT, 2, "SIGINT", "Interrupt")
-SET (GDB_SIGNAL_QUIT, 3, "SIGQUIT", "Quit")
-SET (GDB_SIGNAL_ILL, 4, "SIGILL", "Illegal instruction")
-SET (GDB_SIGNAL_TRAP, 5, "SIGTRAP", "Trace/breakpoint trap")
-SET (GDB_SIGNAL_ABRT, 6, "SIGABRT", "Aborted")
-SET (GDB_SIGNAL_EMT, 7, "SIGEMT", "Emulation trap")
-SET (GDB_SIGNAL_FPE, 8, "SIGFPE", "Arithmetic exception")
-SET (GDB_SIGNAL_KILL, 9, "SIGKILL", "Killed")
-SET (GDB_SIGNAL_BUS, 10, "SIGBUS", "Bus error")
-SET (GDB_SIGNAL_SEGV, 11, "SIGSEGV", "Segmentation fault")
-SET (GDB_SIGNAL_SYS, 12, "SIGSYS", "Bad system call")
-SET (GDB_SIGNAL_PIPE, 13, "SIGPIPE", "Broken pipe")
-SET (GDB_SIGNAL_ALRM, 14, "SIGALRM", "Alarm clock")
-SET (GDB_SIGNAL_TERM, 15, "SIGTERM", "Terminated")
-SET (GDB_SIGNAL_URG, 16, "SIGURG", "Urgent I/O condition")
-SET (GDB_SIGNAL_STOP, 17, "SIGSTOP", "Stopped (signal)")
-SET (GDB_SIGNAL_TSTP, 18, "SIGTSTP", "Stopped (user)")
-SET (GDB_SIGNAL_CONT, 19, "SIGCONT", "Continued")
-SET (GDB_SIGNAL_CHLD, 20, "SIGCHLD", "Child status changed")
-SET (GDB_SIGNAL_TTIN, 21, "SIGTTIN", "Stopped (tty input)")
-SET (GDB_SIGNAL_TTOU, 22, "SIGTTOU", "Stopped (tty output)")
-SET (GDB_SIGNAL_IO, 23, "SIGIO", "I/O possible")
-SET (GDB_SIGNAL_XCPU, 24, "SIGXCPU", "CPU time limit exceeded")
-SET (GDB_SIGNAL_XFSZ, 25, "SIGXFSZ", "File size limit exceeded")
-SET (GDB_SIGNAL_VTALRM, 26, "SIGVTALRM", "Virtual timer expired")
-SET (GDB_SIGNAL_PROF, 27, "SIGPROF", "Profiling timer expired")
-SET (GDB_SIGNAL_WINCH, 28, "SIGWINCH", "Window size changed")
-SET (GDB_SIGNAL_LOST, 29, "SIGLOST", "Resource lost")
-SET (GDB_SIGNAL_USR1, 30, "SIGUSR1", "User defined signal 1")
-SET (GDB_SIGNAL_USR2, 31, "SIGUSR2", "User defined signal 2")
-SET (GDB_SIGNAL_PWR, 32, "SIGPWR", "Power fail/restart")
+SET (TARGET_SIGNAL_0, 0, "0", "Signal 0")
+#define TARGET_SIGNAL_FIRST TARGET_SIGNAL_0
+SET (TARGET_SIGNAL_HUP, 1, "SIGHUP", "Hangup")
+SET (TARGET_SIGNAL_INT, 2, "SIGINT", "Interrupt")
+SET (TARGET_SIGNAL_QUIT, 3, "SIGQUIT", "Quit")
+SET (TARGET_SIGNAL_ILL, 4, "SIGILL", "Illegal instruction")
+SET (TARGET_SIGNAL_TRAP, 5, "SIGTRAP", "Trace/breakpoint trap")
+SET (TARGET_SIGNAL_ABRT, 6, "SIGABRT", "Aborted")
+SET (TARGET_SIGNAL_EMT, 7, "SIGEMT", "Emulation trap")
+SET (TARGET_SIGNAL_FPE, 8, "SIGFPE", "Arithmetic exception")
+SET (TARGET_SIGNAL_KILL, 9, "SIGKILL", "Killed")
+SET (TARGET_SIGNAL_BUS, 10, "SIGBUS", "Bus error")
+SET (TARGET_SIGNAL_SEGV, 11, "SIGSEGV", "Segmentation fault")
+SET (TARGET_SIGNAL_SYS, 12, "SIGSYS", "Bad system call")
+SET (TARGET_SIGNAL_PIPE, 13, "SIGPIPE", "Broken pipe")
+SET (TARGET_SIGNAL_ALRM, 14, "SIGALRM", "Alarm clock")
+SET (TARGET_SIGNAL_TERM, 15, "SIGTERM", "Terminated")
+SET (TARGET_SIGNAL_URG, 16, "SIGURG", "Urgent I/O condition")
+SET (TARGET_SIGNAL_STOP, 17, "SIGSTOP", "Stopped (signal)")
+SET (TARGET_SIGNAL_TSTP, 18, "SIGTSTP", "Stopped (user)")
+SET (TARGET_SIGNAL_CONT, 19, "SIGCONT", "Continued")
+SET (TARGET_SIGNAL_CHLD, 20, "SIGCHLD", "Child status changed")
+SET (TARGET_SIGNAL_TTIN, 21, "SIGTTIN", "Stopped (tty input)")
+SET (TARGET_SIGNAL_TTOU, 22, "SIGTTOU", "Stopped (tty output)")
+SET (TARGET_SIGNAL_IO, 23, "SIGIO", "I/O possible")
+SET (TARGET_SIGNAL_XCPU, 24, "SIGXCPU", "CPU time limit exceeded")
+SET (TARGET_SIGNAL_XFSZ, 25, "SIGXFSZ", "File size limit exceeded")
+SET (TARGET_SIGNAL_VTALRM, 26, "SIGVTALRM", "Virtual timer expired")
+SET (TARGET_SIGNAL_PROF, 27, "SIGPROF", "Profiling timer expired")
+SET (TARGET_SIGNAL_WINCH, 28, "SIGWINCH", "Window size changed")
+SET (TARGET_SIGNAL_LOST, 29, "SIGLOST", "Resource lost")
+SET (TARGET_SIGNAL_USR1, 30, "SIGUSR1", "User defined signal 1")
+SET (TARGET_SIGNAL_USR2, 31, "SIGUSR2", "User defined signal 2")
+SET (TARGET_SIGNAL_PWR, 32, "SIGPWR", "Power fail/restart")
/* Similar to SIGIO. Perhaps they should have the same number. */
-SET (GDB_SIGNAL_POLL, 33, "SIGPOLL", "Pollable event occurred")
-SET (GDB_SIGNAL_WIND, 34, "SIGWIND", "SIGWIND")
-SET (GDB_SIGNAL_PHONE, 35, "SIGPHONE", "SIGPHONE")
-SET (GDB_SIGNAL_WAITING, 36, "SIGWAITING", "Process's LWPs are blocked")
-SET (GDB_SIGNAL_LWP, 37, "SIGLWP", "Signal LWP")
-SET (GDB_SIGNAL_DANGER, 38, "SIGDANGER", "Swap space dangerously low")
-SET (GDB_SIGNAL_GRANT, 39, "SIGGRANT", "Monitor mode granted")
-SET (GDB_SIGNAL_RETRACT, 40, "SIGRETRACT",
+SET (TARGET_SIGNAL_POLL, 33, "SIGPOLL", "Pollable event occurred")
+SET (TARGET_SIGNAL_WIND, 34, "SIGWIND", "SIGWIND")
+SET (TARGET_SIGNAL_PHONE, 35, "SIGPHONE", "SIGPHONE")
+SET (TARGET_SIGNAL_WAITING, 36, "SIGWAITING", "Process's LWPs are blocked")
+SET (TARGET_SIGNAL_LWP, 37, "SIGLWP", "Signal LWP")
+SET (TARGET_SIGNAL_DANGER, 38, "SIGDANGER", "Swap space dangerously low")
+SET (TARGET_SIGNAL_GRANT, 39, "SIGGRANT", "Monitor mode granted")
+SET (TARGET_SIGNAL_RETRACT, 40, "SIGRETRACT",
"Need to relinquish monitor mode")
-SET (GDB_SIGNAL_MSG, 41, "SIGMSG", "Monitor mode data available")
-SET (GDB_SIGNAL_SOUND, 42, "SIGSOUND", "Sound completed")
-SET (GDB_SIGNAL_SAK, 43, "SIGSAK", "Secure attention")
-SET (GDB_SIGNAL_PRIO, 44, "SIGPRIO", "SIGPRIO")
-SET (GDB_SIGNAL_REALTIME_33, 45, "SIG33", "Real-time event 33")
-SET (GDB_SIGNAL_REALTIME_34, 46, "SIG34", "Real-time event 34")
-SET (GDB_SIGNAL_REALTIME_35, 47, "SIG35", "Real-time event 35")
-SET (GDB_SIGNAL_REALTIME_36, 48, "SIG36", "Real-time event 36")
-SET (GDB_SIGNAL_REALTIME_37, 49, "SIG37", "Real-time event 37")
-SET (GDB_SIGNAL_REALTIME_38, 50, "SIG38", "Real-time event 38")
-SET (GDB_SIGNAL_REALTIME_39, 51, "SIG39", "Real-time event 39")
-SET (GDB_SIGNAL_REALTIME_40, 52, "SIG40", "Real-time event 40")
-SET (GDB_SIGNAL_REALTIME_41, 53, "SIG41", "Real-time event 41")
-SET (GDB_SIGNAL_REALTIME_42, 54, "SIG42", "Real-time event 42")
-SET (GDB_SIGNAL_REALTIME_43, 55, "SIG43", "Real-time event 43")
-SET (GDB_SIGNAL_REALTIME_44, 56, "SIG44", "Real-time event 44")
-SET (GDB_SIGNAL_REALTIME_45, 57, "SIG45", "Real-time event 45")
-SET (GDB_SIGNAL_REALTIME_46, 58, "SIG46", "Real-time event 46")
-SET (GDB_SIGNAL_REALTIME_47, 59, "SIG47", "Real-time event 47")
-SET (GDB_SIGNAL_REALTIME_48, 60, "SIG48", "Real-time event 48")
-SET (GDB_SIGNAL_REALTIME_49, 61, "SIG49", "Real-time event 49")
-SET (GDB_SIGNAL_REALTIME_50, 62, "SIG50", "Real-time event 50")
-SET (GDB_SIGNAL_REALTIME_51, 63, "SIG51", "Real-time event 51")
-SET (GDB_SIGNAL_REALTIME_52, 64, "SIG52", "Real-time event 52")
-SET (GDB_SIGNAL_REALTIME_53, 65, "SIG53", "Real-time event 53")
-SET (GDB_SIGNAL_REALTIME_54, 66, "SIG54", "Real-time event 54")
-SET (GDB_SIGNAL_REALTIME_55, 67, "SIG55", "Real-time event 55")
-SET (GDB_SIGNAL_REALTIME_56, 68, "SIG56", "Real-time event 56")
-SET (GDB_SIGNAL_REALTIME_57, 69, "SIG57", "Real-time event 57")
-SET (GDB_SIGNAL_REALTIME_58, 70, "SIG58", "Real-time event 58")
-SET (GDB_SIGNAL_REALTIME_59, 71, "SIG59", "Real-time event 59")
-SET (GDB_SIGNAL_REALTIME_60, 72, "SIG60", "Real-time event 60")
-SET (GDB_SIGNAL_REALTIME_61, 73, "SIG61", "Real-time event 61")
-SET (GDB_SIGNAL_REALTIME_62, 74, "SIG62", "Real-time event 62")
-SET (GDB_SIGNAL_REALTIME_63, 75, "SIG63", "Real-time event 63")
+SET (TARGET_SIGNAL_MSG, 41, "SIGMSG", "Monitor mode data available")
+SET (TARGET_SIGNAL_SOUND, 42, "SIGSOUND", "Sound completed")
+SET (TARGET_SIGNAL_SAK, 43, "SIGSAK", "Secure attention")
+SET (TARGET_SIGNAL_PRIO, 44, "SIGPRIO", "SIGPRIO")
+SET (TARGET_SIGNAL_REALTIME_33, 45, "SIG33", "Real-time event 33")
+SET (TARGET_SIGNAL_REALTIME_34, 46, "SIG34", "Real-time event 34")
+SET (TARGET_SIGNAL_REALTIME_35, 47, "SIG35", "Real-time event 35")
+SET (TARGET_SIGNAL_REALTIME_36, 48, "SIG36", "Real-time event 36")
+SET (TARGET_SIGNAL_REALTIME_37, 49, "SIG37", "Real-time event 37")
+SET (TARGET_SIGNAL_REALTIME_38, 50, "SIG38", "Real-time event 38")
+SET (TARGET_SIGNAL_REALTIME_39, 51, "SIG39", "Real-time event 39")
+SET (TARGET_SIGNAL_REALTIME_40, 52, "SIG40", "Real-time event 40")
+SET (TARGET_SIGNAL_REALTIME_41, 53, "SIG41", "Real-time event 41")
+SET (TARGET_SIGNAL_REALTIME_42, 54, "SIG42", "Real-time event 42")
+SET (TARGET_SIGNAL_REALTIME_43, 55, "SIG43", "Real-time event 43")
+SET (TARGET_SIGNAL_REALTIME_44, 56, "SIG44", "Real-time event 44")
+SET (TARGET_SIGNAL_REALTIME_45, 57, "SIG45", "Real-time event 45")
+SET (TARGET_SIGNAL_REALTIME_46, 58, "SIG46", "Real-time event 46")
+SET (TARGET_SIGNAL_REALTIME_47, 59, "SIG47", "Real-time event 47")
+SET (TARGET_SIGNAL_REALTIME_48, 60, "SIG48", "Real-time event 48")
+SET (TARGET_SIGNAL_REALTIME_49, 61, "SIG49", "Real-time event 49")
+SET (TARGET_SIGNAL_REALTIME_50, 62, "SIG50", "Real-time event 50")
+SET (TARGET_SIGNAL_REALTIME_51, 63, "SIG51", "Real-time event 51")
+SET (TARGET_SIGNAL_REALTIME_52, 64, "SIG52", "Real-time event 52")
+SET (TARGET_SIGNAL_REALTIME_53, 65, "SIG53", "Real-time event 53")
+SET (TARGET_SIGNAL_REALTIME_54, 66, "SIG54", "Real-time event 54")
+SET (TARGET_SIGNAL_REALTIME_55, 67, "SIG55", "Real-time event 55")
+SET (TARGET_SIGNAL_REALTIME_56, 68, "SIG56", "Real-time event 56")
+SET (TARGET_SIGNAL_REALTIME_57, 69, "SIG57", "Real-time event 57")
+SET (TARGET_SIGNAL_REALTIME_58, 70, "SIG58", "Real-time event 58")
+SET (TARGET_SIGNAL_REALTIME_59, 71, "SIG59", "Real-time event 59")
+SET (TARGET_SIGNAL_REALTIME_60, 72, "SIG60", "Real-time event 60")
+SET (TARGET_SIGNAL_REALTIME_61, 73, "SIG61", "Real-time event 61")
+SET (TARGET_SIGNAL_REALTIME_62, 74, "SIG62", "Real-time event 62")
+SET (TARGET_SIGNAL_REALTIME_63, 75, "SIG63", "Real-time event 63")
/* Used internally by Solaris threads. See signal(5) on Solaris. */
-SET (GDB_SIGNAL_CANCEL, 76, "SIGCANCEL", "LWP internal signal")
+SET (TARGET_SIGNAL_CANCEL, 76, "SIGCANCEL", "LWP internal signal")
/* Yes, this pains me, too. But LynxOS didn't have SIG32, and now
GNU/Linux does, and we can't disturb the numbering, since it's
part of the remote protocol. Note that in some GDB's
- GDB_SIGNAL_REALTIME_32 is number 76. */
-SET (GDB_SIGNAL_REALTIME_32, 77, "SIG32", "Real-time event 32")
+ TARGET_SIGNAL_REALTIME_32 is number 76. */
+SET (TARGET_SIGNAL_REALTIME_32, 77, "SIG32", "Real-time event 32")
/* Yet another pain, IRIX 6 has SIG64. */
-SET (GDB_SIGNAL_REALTIME_64, 78, "SIG64", "Real-time event 64")
+SET (TARGET_SIGNAL_REALTIME_64, 78, "SIG64", "Real-time event 64")
/* Yet another pain, GNU/Linux MIPS might go up to 128. */
-SET (GDB_SIGNAL_REALTIME_65, 79, "SIG65", "Real-time event 65")
-SET (GDB_SIGNAL_REALTIME_66, 80, "SIG66", "Real-time event 66")
-SET (GDB_SIGNAL_REALTIME_67, 81, "SIG67", "Real-time event 67")
-SET (GDB_SIGNAL_REALTIME_68, 82, "SIG68", "Real-time event 68")
-SET (GDB_SIGNAL_REALTIME_69, 83, "SIG69", "Real-time event 69")
-SET (GDB_SIGNAL_REALTIME_70, 84, "SIG70", "Real-time event 70")
-SET (GDB_SIGNAL_REALTIME_71, 85, "SIG71", "Real-time event 71")
-SET (GDB_SIGNAL_REALTIME_72, 86, "SIG72", "Real-time event 72")
-SET (GDB_SIGNAL_REALTIME_73, 87, "SIG73", "Real-time event 73")
-SET (GDB_SIGNAL_REALTIME_74, 88, "SIG74", "Real-time event 74")
-SET (GDB_SIGNAL_REALTIME_75, 89, "SIG75", "Real-time event 75")
-SET (GDB_SIGNAL_REALTIME_76, 90, "SIG76", "Real-time event 76")
-SET (GDB_SIGNAL_REALTIME_77, 91, "SIG77", "Real-time event 77")
-SET (GDB_SIGNAL_REALTIME_78, 92, "SIG78", "Real-time event 78")
-SET (GDB_SIGNAL_REALTIME_79, 93, "SIG79", "Real-time event 79")
-SET (GDB_SIGNAL_REALTIME_80, 94, "SIG80", "Real-time event 80")
-SET (GDB_SIGNAL_REALTIME_81, 95, "SIG81", "Real-time event 81")
-SET (GDB_SIGNAL_REALTIME_82, 96, "SIG82", "Real-time event 82")
-SET (GDB_SIGNAL_REALTIME_83, 97, "SIG83", "Real-time event 83")
-SET (GDB_SIGNAL_REALTIME_84, 98, "SIG84", "Real-time event 84")
-SET (GDB_SIGNAL_REALTIME_85, 99, "SIG85", "Real-time event 85")
-SET (GDB_SIGNAL_REALTIME_86, 100, "SIG86", "Real-time event 86")
-SET (GDB_SIGNAL_REALTIME_87, 101, "SIG87", "Real-time event 87")
-SET (GDB_SIGNAL_REALTIME_88, 102, "SIG88", "Real-time event 88")
-SET (GDB_SIGNAL_REALTIME_89, 103, "SIG89", "Real-time event 89")
-SET (GDB_SIGNAL_REALTIME_90, 104, "SIG90", "Real-time event 90")
-SET (GDB_SIGNAL_REALTIME_91, 105, "SIG91", "Real-time event 91")
-SET (GDB_SIGNAL_REALTIME_92, 106, "SIG92", "Real-time event 92")
-SET (GDB_SIGNAL_REALTIME_93, 107, "SIG93", "Real-time event 93")
-SET (GDB_SIGNAL_REALTIME_94, 108, "SIG94", "Real-time event 94")
-SET (GDB_SIGNAL_REALTIME_95, 109, "SIG95", "Real-time event 95")
-SET (GDB_SIGNAL_REALTIME_96, 110, "SIG96", "Real-time event 96")
-SET (GDB_SIGNAL_REALTIME_97, 111, "SIG97", "Real-time event 97")
-SET (GDB_SIGNAL_REALTIME_98, 112, "SIG98", "Real-time event 98")
-SET (GDB_SIGNAL_REALTIME_99, 113, "SIG99", "Real-time event 99")
-SET (GDB_SIGNAL_REALTIME_100, 114, "SIG100", "Real-time event 100")
-SET (GDB_SIGNAL_REALTIME_101, 115, "SIG101", "Real-time event 101")
-SET (GDB_SIGNAL_REALTIME_102, 116, "SIG102", "Real-time event 102")
-SET (GDB_SIGNAL_REALTIME_103, 117, "SIG103", "Real-time event 103")
-SET (GDB_SIGNAL_REALTIME_104, 118, "SIG104", "Real-time event 104")
-SET (GDB_SIGNAL_REALTIME_105, 119, "SIG105", "Real-time event 105")
-SET (GDB_SIGNAL_REALTIME_106, 120, "SIG106", "Real-time event 106")
-SET (GDB_SIGNAL_REALTIME_107, 121, "SIG107", "Real-time event 107")
-SET (GDB_SIGNAL_REALTIME_108, 122, "SIG108", "Real-time event 108")
-SET (GDB_SIGNAL_REALTIME_109, 123, "SIG109", "Real-time event 109")
-SET (GDB_SIGNAL_REALTIME_110, 124, "SIG110", "Real-time event 110")
-SET (GDB_SIGNAL_REALTIME_111, 125, "SIG111", "Real-time event 111")
-SET (GDB_SIGNAL_REALTIME_112, 126, "SIG112", "Real-time event 112")
-SET (GDB_SIGNAL_REALTIME_113, 127, "SIG113", "Real-time event 113")
-SET (GDB_SIGNAL_REALTIME_114, 128, "SIG114", "Real-time event 114")
-SET (GDB_SIGNAL_REALTIME_115, 129, "SIG115", "Real-time event 115")
-SET (GDB_SIGNAL_REALTIME_116, 130, "SIG116", "Real-time event 116")
-SET (GDB_SIGNAL_REALTIME_117, 131, "SIG117", "Real-time event 117")
-SET (GDB_SIGNAL_REALTIME_118, 132, "SIG118", "Real-time event 118")
-SET (GDB_SIGNAL_REALTIME_119, 133, "SIG119", "Real-time event 119")
-SET (GDB_SIGNAL_REALTIME_120, 134, "SIG120", "Real-time event 120")
-SET (GDB_SIGNAL_REALTIME_121, 135, "SIG121", "Real-time event 121")
-SET (GDB_SIGNAL_REALTIME_122, 136, "SIG122", "Real-time event 122")
-SET (GDB_SIGNAL_REALTIME_123, 137, "SIG123", "Real-time event 123")
-SET (GDB_SIGNAL_REALTIME_124, 138, "SIG124", "Real-time event 124")
-SET (GDB_SIGNAL_REALTIME_125, 139, "SIG125", "Real-time event 125")
-SET (GDB_SIGNAL_REALTIME_126, 140, "SIG126", "Real-time event 126")
-SET (GDB_SIGNAL_REALTIME_127, 141, "SIG127", "Real-time event 127")
+SET (TARGET_SIGNAL_REALTIME_65, 79, "SIG65", "Real-time event 65")
+SET (TARGET_SIGNAL_REALTIME_66, 80, "SIG66", "Real-time event 66")
+SET (TARGET_SIGNAL_REALTIME_67, 81, "SIG67", "Real-time event 67")
+SET (TARGET_SIGNAL_REALTIME_68, 82, "SIG68", "Real-time event 68")
+SET (TARGET_SIGNAL_REALTIME_69, 83, "SIG69", "Real-time event 69")
+SET (TARGET_SIGNAL_REALTIME_70, 84, "SIG70", "Real-time event 70")
+SET (TARGET_SIGNAL_REALTIME_71, 85, "SIG71", "Real-time event 71")
+SET (TARGET_SIGNAL_REALTIME_72, 86, "SIG72", "Real-time event 72")
+SET (TARGET_SIGNAL_REALTIME_73, 87, "SIG73", "Real-time event 73")
+SET (TARGET_SIGNAL_REALTIME_74, 88, "SIG74", "Real-time event 74")
+SET (TARGET_SIGNAL_REALTIME_75, 89, "SIG75", "Real-time event 75")
+SET (TARGET_SIGNAL_REALTIME_76, 90, "SIG76", "Real-time event 76")
+SET (TARGET_SIGNAL_REALTIME_77, 91, "SIG77", "Real-time event 77")
+SET (TARGET_SIGNAL_REALTIME_78, 92, "SIG78", "Real-time event 78")
+SET (TARGET_SIGNAL_REALTIME_79, 93, "SIG79", "Real-time event 79")
+SET (TARGET_SIGNAL_REALTIME_80, 94, "SIG80", "Real-time event 80")
+SET (TARGET_SIGNAL_REALTIME_81, 95, "SIG81", "Real-time event 81")
+SET (TARGET_SIGNAL_REALTIME_82, 96, "SIG82", "Real-time event 82")
+SET (TARGET_SIGNAL_REALTIME_83, 97, "SIG83", "Real-time event 83")
+SET (TARGET_SIGNAL_REALTIME_84, 98, "SIG84", "Real-time event 84")
+SET (TARGET_SIGNAL_REALTIME_85, 99, "SIG85", "Real-time event 85")
+SET (TARGET_SIGNAL_REALTIME_86, 100, "SIG86", "Real-time event 86")
+SET (TARGET_SIGNAL_REALTIME_87, 101, "SIG87", "Real-time event 87")
+SET (TARGET_SIGNAL_REALTIME_88, 102, "SIG88", "Real-time event 88")
+SET (TARGET_SIGNAL_REALTIME_89, 103, "SIG89", "Real-time event 89")
+SET (TARGET_SIGNAL_REALTIME_90, 104, "SIG90", "Real-time event 90")
+SET (TARGET_SIGNAL_REALTIME_91, 105, "SIG91", "Real-time event 91")
+SET (TARGET_SIGNAL_REALTIME_92, 106, "SIG92", "Real-time event 92")
+SET (TARGET_SIGNAL_REALTIME_93, 107, "SIG93", "Real-time event 93")
+SET (TARGET_SIGNAL_REALTIME_94, 108, "SIG94", "Real-time event 94")
+SET (TARGET_SIGNAL_REALTIME_95, 109, "SIG95", "Real-time event 95")
+SET (TARGET_SIGNAL_REALTIME_96, 110, "SIG96", "Real-time event 96")
+SET (TARGET_SIGNAL_REALTIME_97, 111, "SIG97", "Real-time event 97")
+SET (TARGET_SIGNAL_REALTIME_98, 112, "SIG98", "Real-time event 98")
+SET (TARGET_SIGNAL_REALTIME_99, 113, "SIG99", "Real-time event 99")
+SET (TARGET_SIGNAL_REALTIME_100, 114, "SIG100", "Real-time event 100")
+SET (TARGET_SIGNAL_REALTIME_101, 115, "SIG101", "Real-time event 101")
+SET (TARGET_SIGNAL_REALTIME_102, 116, "SIG102", "Real-time event 102")
+SET (TARGET_SIGNAL_REALTIME_103, 117, "SIG103", "Real-time event 103")
+SET (TARGET_SIGNAL_REALTIME_104, 118, "SIG104", "Real-time event 104")
+SET (TARGET_SIGNAL_REALTIME_105, 119, "SIG105", "Real-time event 105")
+SET (TARGET_SIGNAL_REALTIME_106, 120, "SIG106", "Real-time event 106")
+SET (TARGET_SIGNAL_REALTIME_107, 121, "SIG107", "Real-time event 107")
+SET (TARGET_SIGNAL_REALTIME_108, 122, "SIG108", "Real-time event 108")
+SET (TARGET_SIGNAL_REALTIME_109, 123, "SIG109", "Real-time event 109")
+SET (TARGET_SIGNAL_REALTIME_110, 124, "SIG110", "Real-time event 110")
+SET (TARGET_SIGNAL_REALTIME_111, 125, "SIG111", "Real-time event 111")
+SET (TARGET_SIGNAL_REALTIME_112, 126, "SIG112", "Real-time event 112")
+SET (TARGET_SIGNAL_REALTIME_113, 127, "SIG113", "Real-time event 113")
+SET (TARGET_SIGNAL_REALTIME_114, 128, "SIG114", "Real-time event 114")
+SET (TARGET_SIGNAL_REALTIME_115, 129, "SIG115", "Real-time event 115")
+SET (TARGET_SIGNAL_REALTIME_116, 130, "SIG116", "Real-time event 116")
+SET (TARGET_SIGNAL_REALTIME_117, 131, "SIG117", "Real-time event 117")
+SET (TARGET_SIGNAL_REALTIME_118, 132, "SIG118", "Real-time event 118")
+SET (TARGET_SIGNAL_REALTIME_119, 133, "SIG119", "Real-time event 119")
+SET (TARGET_SIGNAL_REALTIME_120, 134, "SIG120", "Real-time event 120")
+SET (TARGET_SIGNAL_REALTIME_121, 135, "SIG121", "Real-time event 121")
+SET (TARGET_SIGNAL_REALTIME_122, 136, "SIG122", "Real-time event 122")
+SET (TARGET_SIGNAL_REALTIME_123, 137, "SIG123", "Real-time event 123")
+SET (TARGET_SIGNAL_REALTIME_124, 138, "SIG124", "Real-time event 124")
+SET (TARGET_SIGNAL_REALTIME_125, 139, "SIG125", "Real-time event 125")
+SET (TARGET_SIGNAL_REALTIME_126, 140, "SIG126", "Real-time event 126")
+SET (TARGET_SIGNAL_REALTIME_127, 141, "SIG127", "Real-time event 127")
-SET (GDB_SIGNAL_INFO, 142, "SIGINFO", "Information request")
+SET (TARGET_SIGNAL_INFO, 142, "SIGINFO", "Information request")
/* Some signal we don't know about. */
-SET (GDB_SIGNAL_UNKNOWN, 143, NULL, "Unknown signal")
+SET (TARGET_SIGNAL_UNKNOWN, 143, NULL, "Unknown signal")
/* Use whatever signal we use when one is not specifically specified
(for passing to proceed and so on). */
-SET (GDB_SIGNAL_DEFAULT, 144, NULL,
- "Internal error: printing GDB_SIGNAL_DEFAULT")
+SET (TARGET_SIGNAL_DEFAULT, 144, NULL,
+ "Internal error: printing TARGET_SIGNAL_DEFAULT")
/* Mach exceptions. In versions of GDB before 5.2, these were just before
- GDB_SIGNAL_INFO if you were compiling on a Mach host (and missing
+ TARGET_SIGNAL_INFO if you were compiling on a Mach host (and missing
otherwise). */
SET (TARGET_EXC_BAD_ACCESS, 145, "EXC_BAD_ACCESS", "Could not access memory")
SET (TARGET_EXC_BAD_INSTRUCTION, 146, "EXC_BAD_INSTRUCTION",
@@ -197,4 +197,4 @@ SET (TARGET_EXC_BREAKPOINT, 150, "EXC_BREAKPOINT", "Breakpoint")
/* If you are adding a new signal, add it just above this comment. */
/* Last and unused enum value, for sizing arrays, etc. */
-SET (GDB_SIGNAL_LAST, 151, NULL, "GDB_SIGNAL_MAGIC")
+SET (TARGET_SIGNAL_LAST, 151, NULL, "TARGET_SIGNAL_MAGIC")
diff --git a/include/gdb/signals.h b/include/gdb/signals.h
index a59d3b5c6..67902c617 100644
--- a/include/gdb/signals.h
+++ b/include/gdb/signals.h
@@ -45,9 +45,9 @@
etc. are doing to address these issues. */
/* For an explanation of what each signal means, see
- gdb_signal_to_string. */
+ target_signal_to_string. */
-enum gdb_signal
+enum target_signal
{
#define SET(symbol, constant, name, string) \
symbol = constant,
diff --git a/include/leb128.h b/include/leb128.h
deleted file mode 100644
index f584f72e5..000000000
--- a/include/leb128.h
+++ /dev/null
@@ -1,136 +0,0 @@
-/* Utilities for reading leb128 values.
- Copyright (C) 2012 Free Software Foundation, Inc.
-
-This file is part of the libiberty library.
-Libiberty is free software; you can redistribute it and/or
-modify it under the terms of the GNU Library General Public
-License as published by the Free Software Foundation; either
-version 2 of the License, or (at your option) any later version.
-
-Libiberty is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-Library General Public License for more details.
-
-You should have received a copy of the GNU Library General Public
-License along with libiberty; see the file COPYING.LIB. If not, write
-to the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
-Boston, MA 02110-1301, USA. */
-
-/* The functions defined here can be speed critical.
- Since they are all pretty small we keep things simple and just define
- them all as "static inline".
-
- WARNING: This file is used by GDB which is stuck at C90. :-(
- Though it can use stdint.h, inttypes.h.
- Therefore if you want to add support for "long long" you need
- to wrap it in #ifdef CC_HAS_LONG_LONG. */
-
-#ifndef LEB128_H
-#define LEB128_H
-
-/* Get a definition for inline. */
-#include "ansidecl.h"
-
-/* Get a definition for NULL, size_t. */
-#include <stddef.h>
-
-#ifdef HAVE_STDINT_H
-#include <stdint.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-#include <inttypes.h>
-#endif
-
-/* Decode the unsigned LEB128 constant at BUF into the variable pointed to
- by R, and return the number of bytes read.
- If we read off the end of the buffer, zero is returned,
- and nothing is stored in R.
-
- Note: The result is an int instead of a pointer to the next byte to be
- read to avoid const-vs-non-const problems. */
-
-static inline size_t
-read_uleb128_to_uint64 (const unsigned char *buf, const unsigned char *buf_end,
- uint64_t *r)
-{
- const unsigned char *p = buf;
- unsigned int shift = 0;
- uint64_t result = 0;
- unsigned char byte;
-
- while (1)
- {
- if (p >= buf_end)
- return 0;
-
- byte = *p++;
- result |= ((uint64_t) (byte & 0x7f)) << shift;
- if ((byte & 0x80) == 0)
- break;
- shift += 7;
- }
-
- *r = result;
- return p - buf;
-}
-
-/* Decode the signed LEB128 constant at BUF into the variable pointed to
- by R, and return the number of bytes read.
- If we read off the end of the buffer, zero is returned,
- and nothing is stored in R.
-
- Note: The result is an int instead of a pointer to the next byte to be
- read to avoid const-vs-non-const problems. */
-
-static inline size_t
-read_sleb128_to_int64 (const unsigned char *buf, const unsigned char *buf_end,
- int64_t *r)
-{
- const unsigned char *p = buf;
- unsigned int shift = 0;
- int64_t result = 0;
- unsigned char byte;
-
- while (1)
- {
- if (p >= buf_end)
- return 0;
-
- byte = *p++;
- result |= ((uint64_t) (byte & 0x7f)) << shift;
- shift += 7;
- if ((byte & 0x80) == 0)
- break;
- }
- if (shift < (sizeof (*r) * 8) && (byte & 0x40) != 0)
- result |= -(((uint64_t) 1) << shift);
-
- *r = result;
- return p - buf;
-}
-
-/* Return the number of bytes to read to skip past an LEB128 number in BUF.
- If the end isn't found before reaching BUF_END, return zero.
-
- Note: The result is an int instead of a pointer to the next byte to be
- read to avoid const-vs-non-const problems. */
-
-static inline size_t
-skip_leb128 (const unsigned char *buf, const unsigned char *buf_end)
-{
- const unsigned char *p = buf;
- unsigned char byte;
-
- while (1)
- {
- if (p == buf_end)
- return 0;
-
- byte = *p++;
- if ((byte & 0x80) == 0)
- return p - buf;
- }
-}
-
-#endif /* LEB128_H */
diff --git a/include/mach-o/ChangeLog b/include/mach-o/ChangeLog
new file mode 100644
index 000000000..19eacd0c5
--- /dev/null
+++ b/include/mach-o/ChangeLog
@@ -0,0 +1,51 @@
+2012-02-23 Iain Sandoe <idsandoe@googlemail.com>
+
+ * external.h: Add comments about relocations fields. Add macros
+ for non-scattered relocations. Move scattered relocation macros to
+ here.
+ * reloc.h: Remove macros related to external representation of reloc
+ fields.
+
+2012-01-12 Iain Sandoe <idsandoe@googlemail.com>
+
+ * loader.h (BFD_MACH_O_INDIRECT_SYM_LOCAL): New.
+ (BFD_MACH_O_INDIRECT_SYM_ABS): New
+
+2012-01-04 Tristan Gingold <gingold@adacore.com>
+
+ * external.h (mach_o_fvmlib_command_external): New structure.
+
+2012-01-04 Tristan Gingold <gingold@adacore.com>
+
+ * loader.h: Update copyright year.
+ (bfd_mach_o_cpu_subtype): Add ARM subtypes.
+
+2012-01-04 Tristan Gingold <gingold@adacore.com>
+
+ * external.h: Update copyright year.
+ (mach_o_symtab_command_external): Add comments.
+ (mach_o_encryption_info_command_external): New structure.
+
+2011-12-16 Tristan Gingold <gingold@adacore.com>
+
+ * codesign.h: New file.
+
+2011-08-08 Tristan Gingold <gingold@adacore.com>
+
+ * loader.h (bfd_mach_o_load_command_type): Add
+ BFD_MACH_O_LC_LOAD_UPWARD_DYLIB, BFD_MACH_O_LC_VERSION_MIN_MACOSX,
+ BFD_MACH_O_LC_VERSION_MIN_IPHONEOS, BFD_MACH_O_LC_FUNCTION_STARTS,
+ and BFD_MACH_O_LC_DYLD_ENVIRONMENT.
+ * external.h (mach_o_version_min_command_external): New structure.
+
+2011-08-08 Tristan Gingold <gingold@adacore.com>
+
+ * loader.h: Reorder declarations.
+ * x86-64.h: New file.
+ * external.h: New file.
+ * reloc.h: New file.
+
+2011-07-06 Tristan Gingold <gingold@adacore.com>
+
+ * loader.h: New file.
+
diff --git a/include/mach-o/codesign.h b/include/mach-o/codesign.h
new file mode 100644
index 000000000..ee2f792ac
--- /dev/null
+++ b/include/mach-o/codesign.h
@@ -0,0 +1,85 @@
+/* Mach-O support for BFD.
+ Copyright 2011
+ Free Software Foundation, Inc.
+
+ This file is part of BFD, the Binary File Descriptor library.
+
+ 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 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ 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. */
+
+#ifndef _MACH_O_CODESIGN_H
+#define _MACH_O_CODESIGN_H
+
+/* Codesign blob magics. */
+
+/* Superblob containing all the components. */
+#define BFD_MACH_O_CS_MAGIC_EMBEDDED_SIGNATURE 0xfade0cc0
+
+/* Individual code requirement. */
+#define BFD_MACH_O_CS_MAGIC_REQUIREMENT 0xfade0c00
+
+/* Collection of code requirements, indexed by type. */
+#define BFD_MACH_O_CS_MAGIC_REQUIREMENTS 0xfade0c01
+
+/* Directory. */
+#define BFD_MACH_O_CS_MAGIC_CODEDIRECTORY 0xfade0c02
+
+/* Entitlements blob. */
+#define BFD_MACH_O_CS_MAGIC_EMBEDDED_ENTITLEMENTS 0xfade7171
+
+/* Blob container. */
+#define BFD_MACH_O_CS_MAGIC_BLOB_WRAPPER 0xfade0b01
+
+struct mach_o_codesign_codedirectory_external_v1
+{
+ /* All the fields are in network byte order (big endian). */
+ unsigned char version[4];
+ unsigned char flags[4];
+ unsigned char hash_offset[4];
+ unsigned char ident_offset[4];
+ unsigned char nbr_special_slots[4];
+ unsigned char nbr_code_slots[4];
+ unsigned char code_limit[4];
+ unsigned char hash_size[1];
+ unsigned char hash_type[1];
+ unsigned char spare1[1];
+ unsigned char page_size[1];
+ unsigned char spare2[4];
+};
+
+struct mach_o_codesign_codedirectory_v1
+{
+ unsigned int version;
+ unsigned int flags;
+ unsigned int hash_offset;
+ unsigned int ident_offset;
+ unsigned int nbr_special_slots;
+ unsigned int nbr_code_slots;
+ unsigned int code_limit;
+ unsigned char hash_size;
+ unsigned char hash_type;
+ unsigned char spare1;
+ unsigned char page_size;
+ unsigned int spare2;
+};
+
+/* Value for hash_type. */
+#define BFD_MACH_O_CS_NO_HASH 0
+#define BFD_MACH_O_CS_HASH_SHA1 1
+#define BFD_MACH_O_CS_HASH_SHA256 2
+#define BFD_MACH_O_CS_HASH_PRESTANDARD_SKEIN_160x256 32 /* Skein, 160 bits */
+#define BFD_MACH_O_CS_HASH_PRESTANDARD_SKEIN_256x512 33 /* Skein, 256 bits */
+
+#endif /* _MACH_O_CODESIGN_H */
diff --git a/include/mach-o/external.h b/include/mach-o/external.h
new file mode 100644
index 000000000..41a293250
--- /dev/null
+++ b/include/mach-o/external.h
@@ -0,0 +1,326 @@
+/* Mach-O support for BFD.
+ Copyright 2011, 2012
+ Free Software Foundation, Inc.
+
+ This file is part of BFD, the Binary File Descriptor library.
+
+ 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 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ 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. */
+
+#ifndef _MACH_O_EXTERNAL_H
+#define _MACH_O_EXTERNAL_H
+
+struct mach_o_header_external
+{
+ unsigned char magic[4]; /* Magic number. */
+ unsigned char cputype[4]; /* CPU that this object is for. */
+ unsigned char cpusubtype[4]; /* CPU subtype. */
+ unsigned char filetype[4]; /* Type of file. */
+ unsigned char ncmds[4]; /* Number of load commands. */
+ unsigned char sizeofcmds[4]; /* Total size of load commands. */
+ unsigned char flags[4]; /* Flags. */
+ unsigned char reserved[4]; /* Reserved (on 64-bit version only). */
+};
+
+#define BFD_MACH_O_HEADER_SIZE 28
+#define BFD_MACH_O_HEADER_64_SIZE 32
+
+/* 32-bit section header. */
+
+struct mach_o_section_32_external
+{
+ unsigned char sectname[16]; /* Section name. */
+ unsigned char segname[16]; /* Segment that the section belongs to. */
+ unsigned char addr[4]; /* Address of this section in memory. */
+ unsigned char size[4]; /* Size in bytes of this section. */
+ unsigned char offset[4]; /* File offset of this section. */
+ unsigned char align[4]; /* log2 of this section's alignment. */
+ unsigned char reloff[4]; /* File offset of this section's relocs. */
+ unsigned char nreloc[4]; /* Number of relocs for this section. */
+ unsigned char flags[4]; /* Section flags/attributes. */
+ unsigned char reserved1[4];
+ unsigned char reserved2[4];
+};
+#define BFD_MACH_O_SECTION_SIZE 68
+
+/* 64-bit section header. */
+
+struct mach_o_section_64_external
+{
+ unsigned char sectname[16]; /* Section name. */
+ unsigned char segname[16]; /* Segment that the section belongs to. */
+ unsigned char addr[8]; /* Address of this section in memory. */
+ unsigned char size[8]; /* Size in bytes of this section. */
+ unsigned char offset[4]; /* File offset of this section. */
+ unsigned char align[4]; /* log2 of this section's alignment. */
+ unsigned char reloff[4]; /* File offset of this section's relocs. */
+ unsigned char nreloc[4]; /* Number of relocs for this section. */
+ unsigned char flags[4]; /* Section flags/attributes. */
+ unsigned char reserved1[4];
+ unsigned char reserved2[4];
+ unsigned char reserved3[4];
+};
+#define BFD_MACH_O_SECTION_64_SIZE 80
+
+struct mach_o_load_command_external
+{
+ unsigned char cmd[4]; /* The type of load command. */
+ unsigned char cmdsize[4]; /* Size in bytes of entire command. */
+};
+#define BFD_MACH_O_LC_SIZE 8
+
+struct mach_o_segment_command_32_external
+{
+ unsigned char segname[16]; /* Name of this segment. */
+ unsigned char vmaddr[4]; /* Virtual memory address of this segment. */
+ unsigned char vmsize[4]; /* Size there, in bytes. */
+ unsigned char fileoff[4]; /* Offset in bytes of the data to be mapped. */
+ unsigned char filesize[4]; /* Size in bytes on disk. */
+ unsigned char maxprot[4]; /* Maximum permitted vm protection. */
+ unsigned char initprot[4]; /* Initial vm protection. */
+ unsigned char nsects[4]; /* Number of sections in this segment. */
+ unsigned char flags[4]; /* Flags that affect the loading. */
+};
+#define BFD_MACH_O_LC_SEGMENT_SIZE 56 /* Include the header. */
+
+struct mach_o_segment_command_64_external
+{
+ unsigned char segname[16]; /* Name of this segment. */
+ unsigned char vmaddr[8]; /* Virtual memory address of this segment. */
+ unsigned char vmsize[8]; /* Size there, in bytes. */
+ unsigned char fileoff[8]; /* Offset in bytes of the data to be mapped. */
+ unsigned char filesize[8]; /* Size in bytes on disk. */
+ unsigned char maxprot[4]; /* Maximum permitted vm protection. */
+ unsigned char initprot[4]; /* Initial vm protection. */
+ unsigned char nsects[4]; /* Number of sections in this segment. */
+ unsigned char flags[4]; /* Flags that affect the loading. */
+};
+#define BFD_MACH_O_LC_SEGMENT_64_SIZE 72 /* Include the header. */
+
+struct mach_o_reloc_info_external
+{
+ unsigned char r_address[4];
+ unsigned char r_symbolnum[4];
+};
+#define BFD_MACH_O_RELENT_SIZE 8
+
+/* Relocations are based on 'address' being a section offset and an assumption
+ that sections are never more than 2^24-1 bytes in size. Relocation data
+ also carry information on type/size/PC-relative/extern and whether scattered
+ or not [stored in the MSB of the r_address]. */
+
+#define BFD_MACH_O_SR_SCATTERED 0x80000000
+
+/* For a non-scattered reloc, the relocation info is found in r_symbolnum.
+ Bytes 1 to 3 contain the symbol number (0xffffff, in a non-scattered PAIR).
+ Byte 4 contains the relocation info - but with differing bit-positions
+ dependent on target endian-ness - as below. */
+
+#define BFD_MACH_O_LE_PCREL 0x01
+#define BFD_MACH_O_LE_LENGTH_SHIFT 1
+#define BFD_MACH_O_LE_EXTERN 0x08
+#define BFD_MACH_O_LE_TYPE_SHIFT 4
+
+#define BFD_MACH_O_BE_PCREL 0x80
+#define BFD_MACH_O_BE_LENGTH_SHIFT 5
+#define BFD_MACH_O_BE_EXTERN 0x10
+#define BFD_MACH_O_BE_TYPE_SHIFT 0
+
+/* The field sizes are the same for both BE and LE. */
+#define BFD_MACH_O_LENGTH_MASK 0x03
+#define BFD_MACH_O_TYPE_MASK 0x0f
+
+/* For a scattered reloc entry the info is contained in r_address. There
+ is no need to discriminate on target endian-ness, since the design was
+ arranged to produce the same layout on both. Scattered relocations are
+ only used for local items, therefore there is no 'extern' field. */
+
+#define BFD_MACH_O_SR_PCREL 0x40000000
+#define BFD_MACH_O_GET_SR_LENGTH(s) (((s) >> 28) & 0x3)
+#define BFD_MACH_O_GET_SR_TYPE(s) (((s) >> 24) & 0x0f)
+#define BFD_MACH_O_GET_SR_ADDRESS(s) ((s) & 0x00ffffff)
+#define BFD_MACH_O_SET_SR_LENGTH(l) (((l) & 0x3) << 28)
+#define BFD_MACH_O_SET_SR_TYPE(t) (((t) & 0xf) << 24)
+#define BFD_MACH_O_SET_SR_ADDRESS(s) ((s) & 0x00ffffff)
+
+struct mach_o_symtab_command_external
+{
+ unsigned char symoff[4]; /* File offset of the symbol table. */
+ unsigned char nsyms[4]; /* Number of symbols. */
+ unsigned char stroff[4]; /* File offset of the string table. */
+ unsigned char strsize[4]; /* String table size. */
+};
+
+struct mach_o_nlist_external
+{
+ unsigned char n_strx[4];
+ unsigned char n_type[1];
+ unsigned char n_sect[1];
+ unsigned char n_desc[2];
+ unsigned char n_value[4];
+};
+#define BFD_MACH_O_NLIST_SIZE 12
+
+struct mach_o_nlist_64_external
+{
+ unsigned char n_strx[4];
+ unsigned char n_type[1];
+ unsigned char n_sect[1];
+ unsigned char n_desc[2];
+ unsigned char n_value[8];
+};
+#define BFD_MACH_O_NLIST_64_SIZE 16
+
+struct mach_o_thread_command_external
+{
+ unsigned char flavour[4];
+ unsigned char count[4];
+};
+
+/* For commands that just have a string or a path. */
+struct mach_o_str_command_external
+{
+ unsigned char str[4];
+};
+
+struct mach_o_dylib_command_external
+{
+ unsigned char name[4];
+ unsigned char timestamp[4];
+ unsigned char current_version[4];
+ unsigned char compatibility_version[4];
+};
+
+struct mach_o_dysymtab_command_external
+{
+ unsigned char ilocalsym[4]; /* Index of. */
+ unsigned char nlocalsym[4]; /* Number of. */
+ unsigned char iextdefsym[4];
+ unsigned char nextdefsym[4];
+ unsigned char iundefsym[4];
+ unsigned char nundefsym[4];
+ unsigned char tocoff[4];
+ unsigned char ntoc[4];
+ unsigned char modtaboff[4];
+ unsigned char nmodtab[4];
+ unsigned char extrefsymoff[4];
+ unsigned char nextrefsyms[4];
+ unsigned char indirectsymoff[4];
+ unsigned char nindirectsyms[4];
+ unsigned char extreloff[4];
+ unsigned char nextrel[4];
+ unsigned char locreloff[4];
+ unsigned char nlocrel[4];
+};
+
+struct mach_o_dylib_module_external
+{
+ unsigned char module_name[4];
+ unsigned char iextdefsym[4];
+ unsigned char nextdefsym[4];
+ unsigned char irefsym[4];
+ unsigned char nrefsym[4];
+ unsigned char ilocalsym[4];
+ unsigned char nlocalsym[4];
+ unsigned char iextrel[4];
+ unsigned char nextrel[4];
+ unsigned char iinit_iterm[4];
+ unsigned char ninit_nterm[4];
+ unsigned char objc_module_info_addr[4];
+ unsigned char objc_module_info_size[4];
+};
+#define BFD_MACH_O_DYLIB_MODULE_SIZE 52
+
+struct mach_o_dylib_module_64_external
+{
+ unsigned char module_name[4];
+ unsigned char iextdefsym[4];
+ unsigned char nextdefsym[4];
+ unsigned char irefsym[4];
+ unsigned char nrefsym[4];
+ unsigned char ilocalsym[4];
+ unsigned char nlocalsym[4];
+ unsigned char iextrel[4];
+ unsigned char nextrel[4];
+ unsigned char iinit_iterm[4];
+ unsigned char ninit_nterm[4];
+ unsigned char objc_module_info_size[4];
+ unsigned char objc_module_info_addr[8];
+};
+#define BFD_MACH_O_DYLIB_MODULE_64_SIZE 56
+
+struct mach_o_dylib_table_of_contents_external
+{
+ unsigned char symbol_index[4];
+ unsigned char module_index[4];
+};
+#define BFD_MACH_O_TABLE_OF_CONTENT_SIZE 8
+
+struct mach_o_linkedit_data_command_external
+{
+ unsigned char dataoff[4];
+ unsigned char datasize[4];
+};
+
+struct mach_o_dyld_info_command_external
+{
+ unsigned char rebase_off[4];
+ unsigned char rebase_size[4];
+ unsigned char bind_off[4];
+ unsigned char bind_size[4];
+ unsigned char weak_bind_off[4];
+ unsigned char weak_bind_size[4];
+ unsigned char lazy_bind_off[4];
+ unsigned char lazy_bind_size[4];
+ unsigned char export_off[4];
+ unsigned char export_size[4];
+};
+
+struct mach_o_version_min_command_external
+{
+ unsigned char version[4];
+ unsigned char reserved[4];
+};
+
+struct mach_o_encryption_info_command_external
+{
+ unsigned char cryptoff[4]; /* File offset of the encrypted area. */
+ unsigned char cryptsize[4]; /* Size of the encrypted area. */
+ unsigned char cryptid[4]; /* Encryption method. */
+};
+
+struct mach_o_fvmlib_command_external
+{
+ unsigned char name[4]; /* Offset of the name. */
+ unsigned char minor_version[4];
+ unsigned char header_addr[4];
+};
+
+struct mach_o_fat_header_external
+{
+ unsigned char magic[4];
+ unsigned char nfat_arch[4]; /* Number of components. */
+};
+
+struct mach_o_fat_arch_external
+{
+ unsigned char cputype[4];
+ unsigned char cpusubtype[4];
+ unsigned char offset[4]; /* File offset of the member. */
+ unsigned char size[4]; /* Size of the member. */
+ unsigned char align[4]; /* Power of 2. */
+};
+
+#endif /* _MACH_O_EXTERNAL_H */
diff --git a/include/mach-o/loader.h b/include/mach-o/loader.h
new file mode 100644
index 000000000..1b9b15efe
--- /dev/null
+++ b/include/mach-o/loader.h
@@ -0,0 +1,360 @@
+/* Mach-O support for BFD.
+ Copyright 2011, 2012
+ Free Software Foundation, Inc.
+
+ This file is part of BFD, the Binary File Descriptor library.
+
+ 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 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ 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. */
+
+#ifndef _MACH_O_LOADER_H
+#define _MACH_O_LOADER_H
+
+/* Constants for header. */
+
+typedef enum bfd_mach_o_mach_header_magic
+{
+ BFD_MACH_O_MH_MAGIC = 0xfeedface,
+ BFD_MACH_O_MH_CIGAM = 0xcefaedfe,
+ BFD_MACH_O_MH_MAGIC_64 = 0xfeedfacf,
+ BFD_MACH_O_MH_CIGAM_64 = 0xcffaedfe
+}
+bfd_mach_o_mach_header_magic;
+
+#define BFD_MACH_O_CPU_IS64BIT 0x1000000
+
+typedef enum bfd_mach_o_cpu_type
+{
+ BFD_MACH_O_CPU_TYPE_VAX = 1,
+ BFD_MACH_O_CPU_TYPE_MC680x0 = 6,
+ BFD_MACH_O_CPU_TYPE_I386 = 7,
+ BFD_MACH_O_CPU_TYPE_MIPS = 8,
+ BFD_MACH_O_CPU_TYPE_MC98000 = 10,
+ BFD_MACH_O_CPU_TYPE_HPPA = 11,
+ BFD_MACH_O_CPU_TYPE_ARM = 12,
+ BFD_MACH_O_CPU_TYPE_MC88000 = 13,
+ BFD_MACH_O_CPU_TYPE_SPARC = 14,
+ BFD_MACH_O_CPU_TYPE_I860 = 15,
+ BFD_MACH_O_CPU_TYPE_ALPHA = 16,
+ BFD_MACH_O_CPU_TYPE_POWERPC = 18,
+ BFD_MACH_O_CPU_TYPE_POWERPC_64 = (BFD_MACH_O_CPU_TYPE_POWERPC | BFD_MACH_O_CPU_IS64BIT),
+ BFD_MACH_O_CPU_TYPE_X86_64 = (BFD_MACH_O_CPU_TYPE_I386 | BFD_MACH_O_CPU_IS64BIT)
+}
+bfd_mach_o_cpu_type;
+
+typedef enum bfd_mach_o_cpu_subtype
+{
+ /* i386. */
+ BFD_MACH_O_CPU_SUBTYPE_X86_ALL = 3,
+
+ /* arm. */
+ BFD_MACH_O_CPU_SUBTYPE_ARM_ALL = 0,
+ BFD_MACH_O_CPU_SUBTYPE_ARM_V4T = 5,
+ BFD_MACH_O_CPU_SUBTYPE_ARM_V6 = 6,
+ BFD_MACH_O_CPU_SUBTYPE_ARM_V5TEJ = 7,
+ BFD_MACH_O_CPU_SUBTYPE_ARM_XSCALE = 8,
+ BFD_MACH_O_CPU_SUBTYPE_ARM_V7 = 9
+}
+bfd_mach_o_cpu_subtype;
+
+typedef enum bfd_mach_o_filetype
+{
+ BFD_MACH_O_MH_OBJECT = 0x01,
+ BFD_MACH_O_MH_EXECUTE = 0x02,
+ BFD_MACH_O_MH_FVMLIB = 0x03,
+ BFD_MACH_O_MH_CORE = 0x04,
+ BFD_MACH_O_MH_PRELOAD = 0x05,
+ BFD_MACH_O_MH_DYLIB = 0x06,
+ BFD_MACH_O_MH_DYLINKER = 0x07,
+ BFD_MACH_O_MH_BUNDLE = 0x08,
+ BFD_MACH_O_MH_DYLIB_STUB = 0x09,
+ BFD_MACH_O_MH_DSYM = 0x0a,
+ BFD_MACH_O_MH_KEXT_BUNDLE = 0x0b
+}
+bfd_mach_o_filetype;
+
+typedef enum bfd_mach_o_header_flags
+{
+ BFD_MACH_O_MH_NOUNDEFS = 0x0000001,
+ BFD_MACH_O_MH_INCRLINK = 0x0000002,
+ BFD_MACH_O_MH_DYLDLINK = 0x0000004,
+ BFD_MACH_O_MH_BINDATLOAD = 0x0000008,
+ BFD_MACH_O_MH_PREBOUND = 0x0000010,
+ BFD_MACH_O_MH_SPLIT_SEGS = 0x0000020,
+ BFD_MACH_O_MH_LAZY_INIT = 0x0000040,
+ BFD_MACH_O_MH_TWOLEVEL = 0x0000080,
+ BFD_MACH_O_MH_FORCE_FLAT = 0x0000100,
+ BFD_MACH_O_MH_NOMULTIDEFS = 0x0000200,
+ BFD_MACH_O_MH_NOFIXPREBINDING = 0x0000400,
+ BFD_MACH_O_MH_PREBINDABLE = 0x0000800,
+ BFD_MACH_O_MH_ALLMODSBOUND = 0x0001000,
+ BFD_MACH_O_MH_SUBSECTIONS_VIA_SYMBOLS = 0x0002000,
+ BFD_MACH_O_MH_CANONICAL = 0x0004000,
+ BFD_MACH_O_MH_WEAK_DEFINES = 0x0008000,
+ BFD_MACH_O_MH_BINDS_TO_WEAK = 0x0010000,
+ BFD_MACH_O_MH_ALLOW_STACK_EXECUTION = 0x0020000,
+ BFD_MACH_O_MH_ROOT_SAFE = 0x0040000,
+ BFD_MACH_O_MH_SETUID_SAFE = 0x0080000,
+ BFD_MACH_O_MH_NO_REEXPORTED_DYLIBS = 0x0100000,
+ BFD_MACH_O_MH_PIE = 0x0200000,
+ BFD_MACH_O_MH_DEAD_STRIPPABLE_DYLIB = 0x0400000,
+ BFD_MACH_O_MH_HAS_TLV_DESCRIPTORS = 0x0800000,
+ BFD_MACH_O_MH_NO_HEAP_EXECUTION = 0x1000000
+}
+bfd_mach_o_header_flags;
+
+/* Load command constants. */
+#define BFD_MACH_O_LC_REQ_DYLD 0x80000000
+
+typedef enum bfd_mach_o_load_command_type
+{
+ BFD_MACH_O_LC_SEGMENT = 0x1, /* File segment to be mapped. */
+ BFD_MACH_O_LC_SYMTAB = 0x2, /* Link-edit stab symbol table info (obsolete). */
+ BFD_MACH_O_LC_SYMSEG = 0x3, /* Link-edit gdb symbol table info. */
+ BFD_MACH_O_LC_THREAD = 0x4, /* Thread. */
+ BFD_MACH_O_LC_UNIXTHREAD = 0x5, /* UNIX thread (includes a stack). */
+ BFD_MACH_O_LC_LOADFVMLIB = 0x6, /* Load a fixed VM shared library. */
+ BFD_MACH_O_LC_IDFVMLIB = 0x7, /* Fixed VM shared library id. */
+ BFD_MACH_O_LC_IDENT = 0x8, /* Object identification information (obsolete). */
+ BFD_MACH_O_LC_FVMFILE = 0x9, /* Fixed VM file inclusion. */
+ BFD_MACH_O_LC_PREPAGE = 0xa, /* Prepage command (internal use). */
+ BFD_MACH_O_LC_DYSYMTAB = 0xb, /* Dynamic link-edit symbol table info. */
+ BFD_MACH_O_LC_LOAD_DYLIB = 0xc, /* Load a dynamically linked shared library. */
+ BFD_MACH_O_LC_ID_DYLIB = 0xd, /* Dynamically linked shared lib identification. */
+ BFD_MACH_O_LC_LOAD_DYLINKER = 0xe, /* Load a dynamic linker. */
+ BFD_MACH_O_LC_ID_DYLINKER = 0xf, /* Dynamic linker identification. */
+ BFD_MACH_O_LC_PREBOUND_DYLIB = 0x10, /* Modules prebound for a dynamically. */
+ BFD_MACH_O_LC_ROUTINES = 0x11, /* Image routines. */
+ BFD_MACH_O_LC_SUB_FRAMEWORK = 0x12, /* Sub framework. */
+ BFD_MACH_O_LC_SUB_UMBRELLA = 0x13, /* Sub umbrella. */
+ BFD_MACH_O_LC_SUB_CLIENT = 0x14, /* Sub client. */
+ BFD_MACH_O_LC_SUB_LIBRARY = 0x15, /* Sub library. */
+ BFD_MACH_O_LC_TWOLEVEL_HINTS = 0x16, /* Two-level namespace lookup hints. */
+ BFD_MACH_O_LC_PREBIND_CKSUM = 0x17, /* Prebind checksum. */
+ /* Load a dynamically linked shared library that is allowed to be
+ missing (weak). */
+ BFD_MACH_O_LC_LOAD_WEAK_DYLIB = 0x18,
+ BFD_MACH_O_LC_SEGMENT_64 = 0x19, /* 64-bit segment of this file to be
+ mapped. */
+ BFD_MACH_O_LC_ROUTINES_64 = 0x1a, /* Address of the dyld init routine
+ in a dylib. */
+ BFD_MACH_O_LC_UUID = 0x1b, /* 128-bit UUID of the executable. */
+ BFD_MACH_O_LC_RPATH = 0x1c, /* Run path addiions. */
+ BFD_MACH_O_LC_CODE_SIGNATURE = 0x1d, /* Local of code signature. */
+ BFD_MACH_O_LC_SEGMENT_SPLIT_INFO = 0x1e, /* Local of info to split seg. */
+ BFD_MACH_O_LC_REEXPORT_DYLIB = 0x1f, /* Load and re-export lib. */
+ BFD_MACH_O_LC_LAZY_LOAD_DYLIB = 0x20, /* Delay load of lib until use. */
+ BFD_MACH_O_LC_ENCRYPTION_INFO = 0x21, /* Encrypted segment info. */
+ BFD_MACH_O_LC_DYLD_INFO = 0x22, /* Compressed dyld information. */
+ BFD_MACH_O_LC_LOAD_UPWARD_DYLIB = 0x23, /* Load upward dylib. */
+ BFD_MACH_O_LC_VERSION_MIN_MACOSX = 0x24, /* Minimal MacOSX version. */
+ BFD_MACH_O_LC_VERSION_MIN_IPHONEOS = 0x25, /* Minimal IOS version. */
+ BFD_MACH_O_LC_FUNCTION_STARTS = 0x26, /* Compressed table of func start. */
+ BFD_MACH_O_LC_DYLD_ENVIRONMENT = 0x27 /* Env variable string for dyld. */
+}
+bfd_mach_o_load_command_type;
+
+/* Section constants. */
+/* Constants for the type of a section. */
+
+typedef enum bfd_mach_o_section_type
+{
+ /* Regular section. */
+ BFD_MACH_O_S_REGULAR = 0x0,
+
+ /* Zero fill on demand section. */
+ BFD_MACH_O_S_ZEROFILL = 0x1,
+
+ /* Section with only literal C strings. */
+ BFD_MACH_O_S_CSTRING_LITERALS = 0x2,
+
+ /* Section with only 4 byte literals. */
+ BFD_MACH_O_S_4BYTE_LITERALS = 0x3,
+
+ /* Section with only 8 byte literals. */
+ BFD_MACH_O_S_8BYTE_LITERALS = 0x4,
+
+ /* Section with only pointers to literals. */
+ BFD_MACH_O_S_LITERAL_POINTERS = 0x5,
+
+ /* For the two types of symbol pointers sections and the symbol stubs
+ section they have indirect symbol table entries. For each of the
+ entries in the section the indirect symbol table entries, in
+ corresponding order in the indirect symbol table, start at the index
+ stored in the reserved1 field of the section structure. Since the
+ indirect symbol table entries correspond to the entries in the
+ section the number of indirect symbol table entries is inferred from
+ the size of the section divided by the size of the entries in the
+ section. For symbol pointers sections the size of the entries in
+ the section is 4 bytes and for symbol stubs sections the byte size
+ of the stubs is stored in the reserved2 field of the section
+ structure. */
+
+ /* Section with only non-lazy symbol pointers. */
+ BFD_MACH_O_S_NON_LAZY_SYMBOL_POINTERS = 0x6,
+
+ /* Section with only lazy symbol pointers. */
+ BFD_MACH_O_S_LAZY_SYMBOL_POINTERS = 0x7,
+
+ /* Section with only symbol stubs, byte size of stub in the reserved2
+ field. */
+ BFD_MACH_O_S_SYMBOL_STUBS = 0x8,
+
+ /* Section with only function pointers for initialization. */
+ BFD_MACH_O_S_MOD_INIT_FUNC_POINTERS = 0x9,
+
+ /* Section with only function pointers for termination. */
+ BFD_MACH_O_S_MOD_FINI_FUNC_POINTERS = 0xa,
+
+ /* Section contains symbols that are coalesced by the linkers. */
+ BFD_MACH_O_S_COALESCED = 0xb,
+
+ /* Zero fill on demand section (possibly larger than 4 GB). */
+ BFD_MACH_O_S_GB_ZEROFILL = 0xc,
+
+ /* Section with only pairs of function pointers for interposing. */
+ BFD_MACH_O_S_INTERPOSING = 0xd,
+
+ /* Section with only 16 byte literals. */
+ BFD_MACH_O_S_16BYTE_LITERALS = 0xe,
+
+ /* Section contains DTrace Object Format. */
+ BFD_MACH_O_S_DTRACE_DOF = 0xf,
+
+ /* Section with only lazy symbol pointers to lazy loaded dylibs. */
+ BFD_MACH_O_S_LAZY_DYLIB_SYMBOL_POINTERS = 0x10
+}
+bfd_mach_o_section_type;
+
+/* The flags field of a section structure is separated into two parts a section
+ type and section attributes. The section types are mutually exclusive (it
+ can only have one type) but the section attributes are not (it may have more
+ than one attribute). */
+
+#define BFD_MACH_O_SECTION_TYPE_MASK 0x000000ff
+
+/* Constants for the section attributes part of the flags field of a section
+ structure. */
+#define BFD_MACH_O_SECTION_ATTRIBUTES_MASK 0xffffff00
+/* System setable attributes. */
+#define BFD_MACH_O_SECTION_ATTRIBUTES_SYS 0x00ffff00
+/* User attributes. */
+#define BFD_MACH_O_SECTION_ATTRIBUTES_USR 0xff000000
+
+typedef enum bfd_mach_o_section_attribute
+{
+ /* Section has no specified attibutes. */
+ BFD_MACH_O_S_ATTR_NONE = 0,
+
+ /* Section has local relocation entries. */
+ BFD_MACH_O_S_ATTR_LOC_RELOC = 0x00000100,
+
+ /* Section has external relocation entries. */
+ BFD_MACH_O_S_ATTR_EXT_RELOC = 0x00000200,
+
+ /* Section contains some machine instructions. */
+ BFD_MACH_O_S_ATTR_SOME_INSTRUCTIONS = 0x00000400,
+
+ /* A debug section. */
+ BFD_MACH_O_S_ATTR_DEBUG = 0x02000000,
+
+ /* Used with i386 stubs. */
+ BFD_MACH_O_S_SELF_MODIFYING_CODE = 0x04000000,
+
+ /* Blocks are live if they reference live blocks. */
+ BFD_MACH_O_S_ATTR_LIVE_SUPPORT = 0x08000000,
+
+ /* No dead stripping. */
+ BFD_MACH_O_S_ATTR_NO_DEAD_STRIP = 0x10000000,
+
+ /* Section symbols can be stripped in files with MH_DYLDLINK flag. */
+ BFD_MACH_O_S_ATTR_STRIP_STATIC_SYMS = 0x20000000,
+
+ /* Section contains coalesced symbols that are not to be in the TOC of an
+ archive. */
+ BFD_MACH_O_S_ATTR_NO_TOC = 0x40000000,
+
+ /* Section contains only true machine instructions. */
+ BFD_MACH_O_S_ATTR_PURE_INSTRUCTIONS = 0x80000000
+}
+bfd_mach_o_section_attribute;
+
+/* Symbol constants. */
+
+/* Symbol n_type values. */
+#define BFD_MACH_O_N_STAB 0xe0 /* If any of these bits set, a symbolic debugging entry. */
+#define BFD_MACH_O_N_PEXT 0x10 /* Private external symbol bit. */
+#define BFD_MACH_O_N_TYPE 0x0e /* Mask for the type bits. */
+#define BFD_MACH_O_N_EXT 0x01 /* External symbol bit, set for external symbols. */
+#define BFD_MACH_O_N_UNDF 0x00 /* Undefined, n_sect == NO_SECT. */
+#define BFD_MACH_O_N_ABS 0x02 /* Absolute, n_sect == NO_SECT. */
+#define BFD_MACH_O_N_INDR 0x0a /* Indirect. */
+#define BFD_MACH_O_N_PBUD 0x0c /* Prebound undefined (defined in a dylib). */
+#define BFD_MACH_O_N_SECT 0x0e /* Defined in section number n_sect. */
+
+#define BFD_MACH_O_NO_SECT 0 /* Symbol not in any section of the image. */
+
+/* Symbol n_desc reference flags. */
+#define BFD_MACH_O_REFERENCE_MASK 0x0f
+#define BFD_MACH_O_REFERENCE_FLAG_UNDEFINED_NON_LAZY 0x00
+#define BFD_MACH_O_REFERENCE_FLAG_UNDEFINED_LAZY 0x01
+#define BFD_MACH_O_REFERENCE_FLAG_DEFINED 0x02
+#define BFD_MACH_O_REFERENCE_FLAG_PRIVATE_DEFINED 0x03
+#define BFD_MACH_O_REFERENCE_FLAG_PRIVATE_UNDEFINED_NON_LAZY 0x04
+#define BFD_MACH_O_REFERENCE_FLAG_PRIVATE_UNDEFINED_LAZY 0x05
+
+#define BFD_MACH_O_REFERENCED_DYNAMICALLY 0x10
+#define BFD_MACH_O_N_DESC_DISCARDED 0x20
+#define BFD_MACH_O_N_NO_DEAD_STRIP 0x20
+#define BFD_MACH_O_N_WEAK_REF 0x40
+#define BFD_MACH_O_N_WEAK_DEF 0x80
+
+#define BFD_MACH_O_INDIRECT_SYM_LOCAL 0x80000000
+#define BFD_MACH_O_INDIRECT_SYM_ABS 0x40000000
+
+/* Thread constants. */
+
+typedef enum bfd_mach_o_ppc_thread_flavour
+{
+ BFD_MACH_O_PPC_THREAD_STATE = 1,
+ BFD_MACH_O_PPC_FLOAT_STATE = 2,
+ BFD_MACH_O_PPC_EXCEPTION_STATE = 3,
+ BFD_MACH_O_PPC_VECTOR_STATE = 4,
+ BFD_MACH_O_PPC_THREAD_STATE64 = 5,
+ BFD_MACH_O_PPC_EXCEPTION_STATE64 = 6,
+ BFD_MACH_O_PPC_THREAD_STATE_NONE = 7
+}
+bfd_mach_o_ppc_thread_flavour;
+
+/* Defined in <mach/i386/thread_status.h> */
+typedef enum bfd_mach_o_i386_thread_flavour
+{
+ BFD_MACH_O_x86_THREAD_STATE32 = 1,
+ BFD_MACH_O_x86_FLOAT_STATE32 = 2,
+ BFD_MACH_O_x86_EXCEPTION_STATE32 = 3,
+ BFD_MACH_O_x86_THREAD_STATE64 = 4,
+ BFD_MACH_O_x86_FLOAT_STATE64 = 5,
+ BFD_MACH_O_x86_EXCEPTION_STATE64 = 6,
+ BFD_MACH_O_x86_THREAD_STATE = 7,
+ BFD_MACH_O_x86_FLOAT_STATE = 8,
+ BFD_MACH_O_x86_EXCEPTION_STATE = 9,
+ BFD_MACH_O_x86_DEBUG_STATE32 = 10,
+ BFD_MACH_O_x86_DEBUG_STATE64 = 11,
+ BFD_MACH_O_x86_DEBUG_STATE = 12,
+ BFD_MACH_O_x86_THREAD_STATE_NONE = 13
+}
+bfd_mach_o_i386_thread_flavour;
+
+#endif /* _MACH_O_LOADER_H */
diff --git a/include/mach-o/reloc.h b/include/mach-o/reloc.h
new file mode 100644
index 000000000..bab31efeb
--- /dev/null
+++ b/include/mach-o/reloc.h
@@ -0,0 +1,33 @@
+/* Mach-O support for BFD.
+ Copyright 2011, 2012
+ Free Software Foundation, Inc.
+
+ This file is part of BFD, the Binary File Descriptor library.
+
+ 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 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ 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. */
+
+#ifndef _MACH_O_RELOC_H
+#define _MACH_O_RELOC_H
+
+/* Generic relocation types (used by i386). */
+#define BFD_MACH_O_GENERIC_RELOC_VANILLA 0
+#define BFD_MACH_O_GENERIC_RELOC_PAIR 1
+#define BFD_MACH_O_GENERIC_RELOC_SECTDIFF 2
+#define BFD_MACH_O_GENERIC_RELOC_PB_LA_PTR 3
+#define BFD_MACH_O_GENERIC_RELOC_LOCAL_SECTDIFF 4
+#define BFD_MACH_O_GENERIC_RELOC_TLV 5
+
+#endif /* _MACH_O_RELOC_H */
diff --git a/include/mach-o/x86-64.h b/include/mach-o/x86-64.h
new file mode 100644
index 000000000..d06bc26a7
--- /dev/null
+++ b/include/mach-o/x86-64.h
@@ -0,0 +1,37 @@
+/* Mach-O support for BFD.
+ Copyright 2011
+ Free Software Foundation, Inc.
+
+ This file is part of BFD, the Binary File Descriptor library.
+
+ 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 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ 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. */
+
+#ifndef _MACH_O_X86_64_H
+#define _MACH_O_X86_64_H
+
+/* X86-64 relocations. */
+#define BFD_MACH_O_X86_64_RELOC_UNSIGNED 0 /* Absolute addresses. */
+#define BFD_MACH_O_X86_64_RELOC_SIGNED 1 /* 32-bit disp. */
+#define BFD_MACH_O_X86_64_RELOC_BRANCH 2 /* 32-bit pcrel disp. */
+#define BFD_MACH_O_X86_64_RELOC_GOT_LOAD 3 /* Movq load of a GOT entry. */
+#define BFD_MACH_O_X86_64_RELOC_GOT 4 /* GOT reference. */
+#define BFD_MACH_O_X86_64_RELOC_SUBTRACTOR 5 /* Symbol difference. */
+#define BFD_MACH_O_X86_64_RELOC_SIGNED_1 6 /* 32-bit signed disp -1. */
+#define BFD_MACH_O_X86_64_RELOC_SIGNED_2 7 /* 32-bit signed disp -2. */
+#define BFD_MACH_O_X86_64_RELOC_SIGNED_4 8 /* 32-bit signed disp -4. */
+#define BFD_MACH_O_X86_64_RELOC_TLV 9 /* Thread local variables. */
+
+#endif /* _MACH_O_X86_64_H */
diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog
index 1091973b2..7e2c14ea6 100644
--- a/include/opcode/ChangeLog
+++ b/include/opcode/ChangeLog
@@ -1,84 +1,3 @@
-2012-07-31 Chao-Ying Fu <fu@mips.com>
- Catherine Moore <clm@codesourcery.com>
- Maciej W. Rozycki <macro@codesourcery.com>
-
- * mips.h: Document microMIPS DSP ASE usage.
- (MICROMIPSOP_MASK_DSPACC, MICROMIPSOP_SH_DSPACC): Update for
- microMIPS DSP ASE support.
- (MICROMIPSOP_MASK_DSPSFT, MICROMIPSOP_SH_DSPSFT): Likewise.
- (MICROMIPSOP_MASK_SA3, MICROMIPSOP_SH_SA3): Likewise.
- (MICROMIPSOP_MASK_SA4, MICROMIPSOP_SH_SA4): Likewise.
- (MICROMIPSOP_MASK_IMM8, MICROMIPSOP_SH_IMM8): Likewise.
- (MICROMIPSOP_MASK_IMM10, MICROMIPSOP_SH_IMM10): Likewise.
- (MICROMIPSOP_MASK_WRDSP, MICROMIPSOP_SH_WRDSP): Likewise.
- (MICROMIPSOP_MASK_BP, MICROMIPSOP_SH_BP): Likewise.
-
-2012-07-06 Maciej W. Rozycki <macro@codesourcery.com>
-
- * mips.h: Fix a typo in description.
-
-2012-06-07 Georg-Johann Lay <avr@gjlay.de>
-
- * avr.h: (AVR_ISA_XCH): New define.
- (AVR_ISA_XMEGA): Use it.
- (XCH, LAS, LAT, LAC): New XMEGA opcodes.
-
-2012-05-15 James Murray <jsm@jsm-net.demon.co.uk>
-
- * m68hc11.h: Add XGate definitions.
- (struct m68hc11_opcode): Add xg_mask field.
-
-2012-05-14 Catherine Moore <clm@codesourcery.com>
- Maciej W. Rozycki <macro@codesourcery.com>
- Rhonda Wittels <rhonda@codesourcery.com>
-
- * ppc.h (PPC_OPCODE_VLE): New definition.
- (PPC_OP_SA): New macro.
- (PPC_OP_SE_VLE): New macro.
- (PPC_OP): Use a variable shift amount.
- (powerpc_operand): Update comments.
- (PPC_OPSHIFT_INV): New macro.
- (PPC_OPERAND_CR): Replace with...
- (PPC_OPERAND_CR_BIT): ...this and
- (PPC_OPERAND_CR_REG): ...this.
-
-
-2012-05-03 Sean Keys <skeys@ipdatasys.com>
-
- * xgate.h: Header file for XGATE assembler.
-
-2012-04-27 David S. Miller <davem@davemloft.net>
-
- * sparc.h: Document new arg code' )' for crypto RS3
- immediates.
-
- * sparc.h (struct sparc_opcode): New field 'hwcaps'.
- F_MUL32, F_DIV32, F_FDMULD, F_V8PLUS, F_POPC, F_VIS, F_VIS2,
- F_ASI_BLK_INIT, F_FMAF, F_VIS3, F_HPC, F_RANDOM, F_TRANS,
- F_FJFMAU, F_IMA, F_ASI_CACHE_SPARING, F_HWCAP_MASK): Delete.
- (HWCAP_MUL32, HWCAP_DIV32, HWCAP_FSMULD, HWCAP_V8PLUS, HWCAP_POPC,
- HWCAP_VIS, HWCAP_VIS2, HWCAP_ASI_BLK_INIT, HWCAP_FMAF,
- HWCAP_VIS3, HWCAP_HPC, HWCAP_RANDOM, HWCAP_TRANS, HWCAP_FJFMAU,
- HWCAP_IMA, HWCAP_ASI_CACHE_SPARING, HWCAP_AES, HWCAP_DES,
- HWCAP_KASUMI, HWCAP_CAMELLIA, HWCAP_MD5, HWCAP_SHA1,
- HWCAP_SHA256, HWCAP_SHA512, HWCAP_MPMUL, HWCAP_MONT, HWCAP_PAUSE,
- HWCAP_CBCOND, HWCAP_CRC32): New defines.
-
-2012-03-10 Edmar Wienskoski <edmar@freescale.com>
-
- * ppc.h: Add PPC_OPCODE_ALTIVEC2, PPC_OPCODE_E6500, PPC_OPCODE_TMR.
-
-2012-02-27 Alan Modra <amodra@gmail.com>
-
- * crx.h (cst4_map): Update declaration.
-
-2012-02-25 Walter Lee <walt@tilera.com>
-
- * tilegx.h (tilegx_mnemonic): Add TILEGX_OPC_LD4S_TLS,
- TILEGX_OPC_LD_TLS.
- * tilepro.h (tilepro_mnemonic): Add TILEPRO_OPC_LW_TLS,
- TILEPRO_OPC_LW_TLS_SN.
-
2012-02-08 H.J. Lu <hongjiu.lu@intel.com>
* i386.h (XACQUIRE_PREFIX_OPCODE): New.
diff --git a/include/opcode/avr.h b/include/opcode/avr.h
index 6e86c07ba..a6d7b478d 100644
--- a/include/opcode/avr.h
+++ b/include/opcode/avr.h
@@ -1,6 +1,6 @@
/* Opcode table for the Atmel AVR micro controllers.
- Copyright 2000, 2001, 2004, 2006, 2008, 2010, 2012 Free Software Foundation, Inc.
+ Copyright 2000, 2001, 2004, 2006, 2008, 2010 Free Software Foundation, Inc.
Contributed by Denis Chertykov <denisc@overta.ru>
This program is free software; you can redistribute it and/or modify
@@ -33,7 +33,6 @@
#define AVR_ISA_MOVW 0x1000 /* device has MOVW */
#define AVR_ISA_SPMX 0x2000 /* device has SPM Z[+] */
#define AVR_ISA_DES 0x4000 /* device has DES */
-#define AVR_ISA_XCH 0x8000 /* device has XCH, LAC, LAS, LAT */
#define AVR_ISA_TINY1 (AVR_ISA_1200 | AVR_ISA_LPM)
#define AVR_ISA_2xxx (AVR_ISA_TINY1 | AVR_ISA_SRAM)
@@ -53,7 +52,7 @@
#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_M256 (AVR_ISA_M128 | AVR_ISA_EIND)
-#define AVR_ISA_XMEGA (AVR_ISA_M256 | AVR_ISA_SPMX | AVR_ISA_DES | AVR_ISA_XCH)
+#define AVR_ISA_XMEGA (AVR_ISA_M256 | AVR_ISA_SPMX | AVR_ISA_DES)
#define AVR_ISA_AVR1 AVR_ISA_TINY1
#define AVR_ISA_AVR2 AVR_ISA_2xxx
@@ -125,6 +124,7 @@
0x0001...0x00ff (255) (known to be decoded as `nop' by the old core)
"100100xxxxxxx011" (128) 0x9[0-3][0-9a-f][3b]
"100100xxxxxx1000" (64) 0x9[0-3][0-9a-f]8
+ "1001001xxxxx01xx" (128) 0x9[23][0-9a-f][4-7]
"1001010xxxxx0100" (32) 0x9[45][0-9a-f]4
"1001010x001x1001" (4) 0x9[45][23]9
"1001010x01xx1001" (8) 0x9[45][4-7]9
@@ -265,12 +265,6 @@ AVR_INSN (push, "r", "1001001rrrrr1111", 1, AVR_ISA_2xxx, 0x920f)
AVR_INSN (ror, "r", "1001010rrrrr0111", 1, AVR_ISA_1200, 0x9407)
AVR_INSN (swap, "r", "1001010rrrrr0010", 1, AVR_ISA_1200, 0x9402)
- /* Atomic memory operations for XMEGA. List before `sts'. */
-AVR_INSN (xch, "z,r", "1001001rrrrr0100", 1, AVR_ISA_XCH, 0x9204)
-AVR_INSN (las, "z,r", "1001001rrrrr0101", 1, AVR_ISA_XCH, 0x9205)
-AVR_INSN (lac, "z,r", "1001001rrrrr0110", 1, AVR_ISA_XCH, 0x9206)
-AVR_INSN (lat, "z,r", "1001001rrrrr0111", 1, AVR_ISA_XCH, 0x9207)
-
/* Known to be decoded as `nop' by the old core. */
AVR_INSN (movw, "v,v", "00000001ddddrrrr", 1, AVR_ISA_MOVW, 0x0100)
AVR_INSN (muls, "d,d", "00000010ddddrrrr", 1, AVR_ISA_MUL, 0x0200)
diff --git a/include/opcode/crx.h b/include/opcode/crx.h
index 6081ea354..5c484bf26 100644
--- a/include/opcode/crx.h
+++ b/include/opcode/crx.h
@@ -1,5 +1,5 @@
/* crx.h -- Header file for CRX opcode and register tables.
- Copyright 2004, 2010, 2012 Free Software Foundation, Inc.
+ Copyright 2004, 2010 Free Software Foundation, Inc.
Contributed by Tomer Levi, NSC, Israel.
Originally written for GAS 2.12 by Tomer Levi, NSC, Israel.
Updates, BFDizing, GNUifying and ELF support by Tomer Levi.
@@ -384,7 +384,7 @@ extern const int crx_num_traps;
#define NUMTRAPS crx_num_traps
/* cst4 operand mapping. */
-extern const int cst4_map[];
+extern const long cst4_map[];
extern const int cst4_maps;
/* Table of instructions with no operands. */
diff --git a/include/opcode/m68hc11.h b/include/opcode/m68hc11.h
index 1a002008c..83f5a9a65 100644
--- a/include/opcode/m68hc11.h
+++ b/include/opcode/m68hc11.h
@@ -1,6 +1,5 @@
/* m68hc11.h -- Header file for Motorola 68HC11 & 68HC12 opcode table
- Copyright 1999, 2000, 2002, 2003, 2010, 2012
- Free Software Foundation, Inc.
+ Copyright 1999, 2000, 2002, 2003, 2010 Free Software Foundation, Inc.
Written by Stephane Carrez (stcarrez@nerim.fr)
This file is part of GDB, GAS, and the GNU binutils.
@@ -38,7 +37,8 @@
of the M6811_INIT register. At init time, the I/O registers are
mapped at 0x1000. Address of registers is then:
- 0x1000 + M6811_xxx. */
+ 0x1000 + M6811_xxx
+*/
#define M6811_PORTA 0x00 /* Port A register */
#define M6811__RES1 0x01 /* Unused/Reserved */
#define M6811_PIOC 0x02 /* Parallel I/O Control register */
@@ -364,26 +364,6 @@
#define M6812_INDEXED 0x20000000 /* n,r n = 5, 9 or 16-bits */
#define M6812_OP_IDX_P2 0x40000000
-/* XGATE defines.
- These overlap with HC11/12 as above but not used at the same time. */
-#define M68XG_OP_NONE 0x0001
-#define M68XG_OP_IMM3 0x0002
-#define M68XG_OP_R 0x0004
-#define M68XG_OP_R_R 0x0008
-#define M68XG_OP_R_IMM4 0x0010
-#define M68XG_OP_R_R_R 0x0020
-#define M68XG_OP_REL9 0x0040
-#define M68XG_OP_REL10 0x0080
-#define M68XG_OP_R_R_OFFS5 0x0100
-#define M68XG_OP_RD_RB_RI 0x0200
-#define M68XG_OP_RD_RB_RIp 0x0400
-#define M68XG_OP_RD_RB_mRI 0x0800
-#define M68XG_OP_R_IMM8 0x1000
-#define M68XG_OP_R_IMM16 0x2000
-#define M68XG_OP_REG 0x4000 /* Register operand 1. */
-#define M68XG_OP_REG_2 0x8000 /* Register operand 2. */
-#define M68XG_MAX_OPERANDS 3 /* Max operands of triadic r1, r2, r3. */
-
/* Markers to identify some instructions. */
#define M6812_OP_EXG_MARKER 0x01000000 /* exg r1,r2 */
#define M6812_OP_TFR_MARKER 0x02000000 /* tfr r1,r2 */
@@ -394,43 +374,35 @@
#define M6812_OP_IBCC_MARKER 0x02000000 /* ibeq/ibne */
#define M6812_OP_TBCC_MARKER 0x01000000
-/* XGATE markers. */
-#define M68XG_OP_B_MARKER 0x04000000 /* bXX rel9 */
-#define M68XG_OP_BRA_MARKER 0x02000000 /* bra rel10 */
-
#define M6812_OP_TRAP_ID 0x80000000 /* trap #N */
#define M6811_OP_HIGH_ADDR 0x01000000 /* Used internally by gas. */
#define M6811_OP_LOW_ADDR 0x02000000
-#define M68HC12_BANK_VIRT 0x010000
-#define M68HC12_BANK_MASK 0x00003fff
-#define M68HC12_BANK_BASE 0x00008000
-#define M68HC12_BANK_SHIFT 14
-#define M68HC12_BANK_PAGE_MASK 0x0ff
+#define M68HC12_BANK_VIRT 0x010000
+#define M68HC12_BANK_MASK 0x00003fff
+#define M68HC12_BANK_BASE 0x00008000
+#define M68HC12_BANK_SHIFT 14
+#define M68HC12_BANK_PAGE_MASK 0x0ff
/* CPU identification. */
#define cpu6811 0x01
#define cpu6812 0x02
#define cpu6812s 0x04
-#define cpu9s12x 0x08 /* 9S12X main cpu. */
-#define cpuxgate 0x10 /* The XGATE module itself. */
/* The opcode table is an array of struct m68hc11_opcode. */
-struct m68hc11_opcode
-{
- const char * name; /* Op-code name. */
+struct m68hc11_opcode {
+ const char* name; /* Op-code name */
long format;
unsigned char size;
- unsigned int opcode;
+ unsigned char opcode;
unsigned char cycles_low;
unsigned char cycles_high;
unsigned char set_flags_mask;
unsigned char clr_flags_mask;
unsigned char chg_flags_mask;
unsigned char arch;
- unsigned int xg_mask; /* Mask with zero in register place for xgate. */
};
/* Alias definition for 68HC12. */
diff --git a/include/opcode/mips.h b/include/opcode/mips.h
index 857fc7173..fb9094c26 100644
--- a/include/opcode/mips.h
+++ b/include/opcode/mips.h
@@ -1494,24 +1494,6 @@ extern const int bfd_mips16_num_opcodes;
#define MICROMIPSOP_MASK_IMMY 0x1ff
#define MICROMIPSOP_SH_IMMY 1
-/* MIPS DSP ASE */
-#define MICROMIPSOP_MASK_DSPACC 0x3
-#define MICROMIPSOP_SH_DSPACC 14
-#define MICROMIPSOP_MASK_DSPSFT 0x3f
-#define MICROMIPSOP_SH_DSPSFT 16
-#define MICROMIPSOP_MASK_SA3 0x7
-#define MICROMIPSOP_SH_SA3 13
-#define MICROMIPSOP_MASK_SA4 0xf
-#define MICROMIPSOP_SH_SA4 12
-#define MICROMIPSOP_MASK_IMM8 0xff
-#define MICROMIPSOP_SH_IMM8 13
-#define MICROMIPSOP_MASK_IMM10 0x3ff
-#define MICROMIPSOP_SH_IMM10 16
-#define MICROMIPSOP_MASK_WRDSP 0x3f
-#define MICROMIPSOP_SH_WRDSP 14
-#define MICROMIPSOP_MASK_BP 0x3
-#define MICROMIPSOP_SH_BP 14
-
/* Placeholders for fields that only exist in the traditional 32-bit
instruction encoding; see the comment above for details. */
#define MICROMIPSOP_MASK_CODE20 0
@@ -1526,12 +1508,28 @@ extern const int bfd_mips16_num_opcodes;
#define MICROMIPSOP_SH_VECBYTE 0
#define MICROMIPSOP_MASK_VECALIGN 0
#define MICROMIPSOP_SH_VECALIGN 0
+#define MICROMIPSOP_MASK_DSPACC 0
+#define MICROMIPSOP_SH_DSPACC 0
#define MICROMIPSOP_MASK_DSPACC_S 0
#define MICROMIPSOP_SH_DSPACC_S 0
+#define MICROMIPSOP_MASK_DSPSFT 0
+#define MICROMIPSOP_SH_DSPSFT 0
#define MICROMIPSOP_MASK_DSPSFT_7 0
#define MICROMIPSOP_SH_DSPSFT_7 0
+#define MICROMIPSOP_MASK_SA3 0
+#define MICROMIPSOP_SH_SA3 0
+#define MICROMIPSOP_MASK_SA4 0
+#define MICROMIPSOP_SH_SA4 0
+#define MICROMIPSOP_MASK_IMM8 0
+#define MICROMIPSOP_SH_IMM8 0
+#define MICROMIPSOP_MASK_IMM10 0
+#define MICROMIPSOP_SH_IMM10 0
+#define MICROMIPSOP_MASK_WRDSP 0
+#define MICROMIPSOP_SH_WRDSP 0
#define MICROMIPSOP_MASK_RDDSP 0
#define MICROMIPSOP_SH_RDDSP 0
+#define MICROMIPSOP_MASK_BP 0
+#define MICROMIPSOP_SH_BP 0
#define MICROMIPSOP_MASK_MT_U 0
#define MICROMIPSOP_SH_MT_U 0
#define MICROMIPSOP_MASK_MT_H 0
@@ -1648,7 +1646,7 @@ extern const int bfd_mips16_num_opcodes;
"y" 5-bit source 3 register for ALNV.PS (MICROMIPSOP_*_RS3)
"z" must be zero register
"C" 23-bit coprocessor function code (MICROMIPSOP_*_COPZ)
- "B" 10-bit syscall/wait function code (MICROMIPSOP_*_CODE10)
+ "B" 8-bit syscall/wait function code (MICROMIPSOP_*_CODE10)
"K" 5-bit Hardware Register (RDHWR instruction) (MICROMIPSOP_*_RS)
"+A" 5-bit INS/EXT/DINS/DEXT/DINSM/DEXTM position, which becomes
@@ -1704,18 +1702,6 @@ extern const int bfd_mips16_num_opcodes;
"f" 32-bit floating point constant
"l" 32-bit floating point constant in .lit4
- DSP ASE usage:
- "2" 2-bit unsigned immediate for byte align (MICROMIPSOP_*_BP)
- "3" 3-bit unsigned immediate (MICROMIPSOP_*_SA3)
- "4" 4-bit unsigned immediate (MICROMIPSOP_*_SA4)
- "5" 8-bit unsigned immediate (MICROMIPSOP_*_IMM8)
- "6" 5-bit unsigned immediate (MICROMIPSOP_*_RS)
- "7" 2-bit DSP accumulator register (MICROMIPSOP_*_DSPACC)
- "8" 6-bit unsigned immediate (MICROMIPSOP_*_WRDSP)
- "0" 6-bit signed immediate (MICROMIPSOP_*_DSPSFT)
- "@" 10-bit signed immediate (MICROMIPSOP_*_IMM10)
- "^" 5-bit unsigned immediate (MICROMIPSOP_*_RD)
-
Other:
"()" parens surrounding optional value
"," separates operands
@@ -1723,8 +1709,8 @@ extern const int bfd_mips16_num_opcodes;
"m" start of microMIPS extension sequence
Characters used so far, for quick reference when adding more:
- "12345678 0"
- "<>(),+.@\^|~"
+ "1234567890"
+ "<>(),+.\|~"
"ABCDEFGHI KLMN RST V "
"abcd f hijklmnopqrstuvw yz"
diff --git a/include/opcode/ppc.h b/include/opcode/ppc.h
index 2e789d6ff..a0119dc0a 100644
--- a/include/opcode/ppc.h
+++ b/include/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, 2008, 2009, 2010, 2012 Free Software Foundation, Inc.
+ 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Cygnus Support
This file is part of GDB, GAS, and the GNU binutils.
@@ -65,8 +65,6 @@ struct powerpc_opcode
instructions. */
extern const struct powerpc_opcode powerpc_opcodes[];
extern const int powerpc_num_opcodes;
-extern const struct powerpc_opcode vle_opcodes[];
-extern const int vle_num_opcodes;
/* Values defined for the flags field of a struct powerpc_opcode. */
@@ -176,29 +174,8 @@ extern const int vle_num_opcodes;
/* Opcode which is supported by the e500 family */
#define PPC_OPCODE_E500 0x100000000ull
-/* Opcode is supported by Extended Altivec Vector Unit */
-#define PPC_OPCODE_ALTIVEC2 0x200000000ull
-
-/* Opcode is supported by Power E6500 */
-#define PPC_OPCODE_E6500 0x400000000ull
-
-/* Opcode is supported by Thread management APU */
-#define PPC_OPCODE_TMR 0x800000000ull
-
-/* Opcode which is supported by the VLE extension. */
-#define PPC_OPCODE_VLE 0x1000000000ull
-
/* A macro to extract the major opcode from an instruction. */
#define PPC_OP(i) (((i) >> 26) & 0x3f)
-
-/* A macro to determine if the instruction is a 2-byte VLE insn. */
-#define PPC_OP_SE_VLE(m) ((m) <= 0xffff)
-
-/* A macro to extract the major opcode from a VLE instruction. */
-#define VLE_OP(i,m) (((i) >> ((m) <= 0xffff ? 10 : 26)) & 0x3f)
-
-/* A macro to convert a VLE opcode to a VLE opcode segment. */
-#define VLE_OP_TO_SEG(i) ((i) >> 1)
/* The operands table is an array of struct powerpc_operand. */
@@ -207,22 +184,16 @@ struct powerpc_operand
/* A bitmask of bits in the operand. */
unsigned int bitm;
- /* The shift operation to be applied to the operand. No shift
- is made if this is zero. For positive values, the operand
- is shifted left by SHIFT. For negative values, the operand
- is shifted right by -SHIFT. Use PPC_OPSHIFT_INV to indicate
- that BITM and SHIFT cannot be used to determine where the
- operand goes in the insn. */
+ /* How far the operand is left shifted in the instruction.
+ -1 to indicate that BITM and SHIFT cannot be used to determine
+ where the operand goes in the insn. */
int shift;
/* Insertion function. This is used by the assembler. To insert an
operand value into an instruction, check this field.
If it is NULL, execute
- if (o->shift >= 0)
- i |= (op & o->bitm) << o->shift;
- else
- i |= (op & o->bitm) >> -o->shift;
+ i |= (op & o->bitm) << o->shift;
(i is the instruction which we are filling in, o is a pointer to
this structure, and op is the operand value).
@@ -240,10 +211,7 @@ struct powerpc_operand
extract this operand type from an instruction, check this field.
If it is NULL, compute
- if (o->shift >= 0)
- op = (i >> o->shift) & o->bitm;
- else
- op = (i << -o->shift) & o->bitm;
+ op = (i >> o->shift) & o->bitm;
if ((o->flags & PPC_OPERAND_SIGNED) != 0)
sign_extend (op);
(i is the instruction, o is a pointer to this structure, and op
@@ -267,11 +235,6 @@ struct powerpc_operand
extern const struct powerpc_operand powerpc_operands[];
extern const unsigned int num_powerpc_operands;
-/* Use with the shift field of a struct powerpc_operand to indicate
- that BITM and SHIFT cannot be used to determine where the operand
- goes in the insn. */
-#define PPC_OPSHIFT_INV (-1 << 31)
-
/* Values defined for the flags field of a struct powerpc_operand. */
/* This operand takes signed values. */
@@ -305,7 +268,7 @@ extern const unsigned int num_powerpc_operands;
cr4 4 cr5 5 cr6 6 cr7 7
These may be combined arithmetically, as in cr2*4+gt. These are
only supported on the PowerPC, not the POWER. */
-#define PPC_OPERAND_CR_BIT (0x10)
+#define PPC_OPERAND_CR (0x10)
/* This operand names a register. The disassembler uses this to print
register names with a leading 'r'. */
@@ -370,9 +333,6 @@ extern const unsigned int num_powerpc_operands;
/* This operand names a vector-scalar unit register. The disassembler
prints these with a leading 'vs'. */
#define PPC_OPERAND_VSR (0x100000)
-
-/* This is a CR FIELD that does not use symbolic names. */
-#define PPC_OPERAND_CR_REG (0x200000)
/* The POWER and PowerPC assemblers use a few macros. We keep them
with the operands table for simplicity. The macro table is an
diff --git a/include/opcode/sparc.h b/include/opcode/sparc.h
index b1c5e42ad..7ae3641cf 100644
--- a/include/opcode/sparc.h
+++ b/include/opcode/sparc.h
@@ -99,7 +99,6 @@ typedef struct sparc_opcode
const char *args;
/* This was called "delayed" in versions before the flags. */
unsigned int flags;
- unsigned int hwcaps;
short architecture; /* Bitmask of sparc_opcode_arch_val's. */
} sparc_opcode;
@@ -111,39 +110,25 @@ typedef struct sparc_opcode
#define F_JSR 0x00000010 /* Subroutine call. */
#define F_FLOAT 0x00000020 /* Floating point instruction (not a branch). */
#define F_FBR 0x00000040 /* Floating point branch. */
-
-/* These must match the HWCAP_* values precisely. */
-#define HWCAP_MUL32 0x00000001 /* umul/umulcc/smul/smulcc insns */
-#define HWCAP_DIV32 0x00000002 /* udiv/udivcc/sdiv/sdivcc insns */
-#define HWCAP_FSMULD 0x00000004 /* 'fsmuld' insn */
-#define HWCAP_V8PLUS 0x00000008 /* v9 insns available to 32bit */
-#define HWCAP_POPC 0x00000010 /* 'popc' insn */
-#define HWCAP_VIS 0x00000020 /* VIS insns */
-#define HWCAP_VIS2 0x00000040 /* VIS2 insns */
-#define HWCAP_ASI_BLK_INIT \
- 0x00000080 /* block init ASIs */
-#define HWCAP_FMAF 0x00000100 /* fused multiply-add */
-#define HWCAP_VIS3 0x00000400 /* VIS3 insns */
-#define HWCAP_HPC 0x00000800 /* HPC insns */
-#define HWCAP_RANDOM 0x00001000 /* 'random' insn */
-#define HWCAP_TRANS 0x00002000 /* transaction insns */
-#define HWCAP_FJFMAU 0x00004000 /* unfused multiply-add */
-#define HWCAP_IMA 0x00008000 /* integer multiply-add */
-#define HWCAP_ASI_CACHE_SPARING \
- 0x00010000 /* cache sparing ASIs */
-#define HWCAP_AES 0x00020000 /* AES crypto insns */
-#define HWCAP_DES 0x00040000 /* DES crypto insns */
-#define HWCAP_KASUMI 0x00080000 /* KASUMI crypto insns */
-#define HWCAP_CAMELLIA 0x00100000 /* CAMELLIA crypto insns */
-#define HWCAP_MD5 0x00200000 /* MD5 hashing insns */
-#define HWCAP_SHA1 0x00400000 /* SHA1 hashing insns */
-#define HWCAP_SHA256 0x00800000 /* SHA256 hashing insns */
-#define HWCAP_SHA512 0x01000000 /* SHA512 hashing insns */
-#define HWCAP_MPMUL 0x02000000 /* Multiple Precision Multiply */
-#define HWCAP_MONT 0x04000000 /* Montgomery Mult/Sqrt */
-#define HWCAP_PAUSE 0x08000000 /* Pause insn */
-#define HWCAP_CBCOND 0x10000000 /* Compare and Branch insns */
-#define HWCAP_CRC32C 0x20000000 /* CRC32C insn */
+#define F_MUL32 0x00000100 /* umul/umulcc/smul/smulcc insns */
+#define F_DIV32 0x00000200 /* udiv/udivcc/sdiv/sdivcc insns */
+#define F_FSMULD 0x00000400 /* 'fsmuld' insn */
+#define F_V8PLUS 0x00000800 /* v9 insns available to 32bit */
+#define F_POPC 0x00001000 /* 'popc' insn */
+#define F_VIS 0x00002000 /* VIS insns */
+#define F_VIS2 0x00004000 /* VIS2 insns */
+#define F_ASI_BLK_INIT 0x00008000 /* block init ASIs */
+#define F_FMAF 0x00010000 /* fused multiply-add */
+#define F_VIS3 0x00020000 /* VIS3 insns */
+#define F_HPC 0x00040000 /* HPC insns */
+#define F_RANDOM 0x00080000 /* 'random' insn */
+#define F_TRANS 0x00100000 /* transaction insns */
+#define F_FJFMAU 0x00200000 /* unfused multiply-add */
+#define F_IMA 0x00400000 /* integer multiply-add */
+#define F_ASI_CACHE_SPARING \
+ 0x00800000 /* cache sparing ASIs */
+
+#define F_HWCAP_MASK 0x00ffff00
/* All sparc opcodes are 32 bits, except for the `set' instruction (really a
macro), which is 64 bits. It is handled as a special case.
@@ -223,9 +208,7 @@ typedef struct sparc_opcode
0 32/64 bit immediate for set or setx (v9) insns
_ Ancillary state register in rd (v9a)
/ Ancillary state register in rs1 (v9a)
- ( entire floating point state register (%efsr)
- ) 5 bit immediate placed in RS3 field
- = 2+8 bit PC relative immediate. (v9) */
+ ( entire floating point state register (%efsr). */
#define OP2(x) (((x) & 0x7) << 22) /* Op2 field of format2 insns. */
#define OP3(x) (((x) & 0x3f) << 19) /* Op3 field of format3 insns. */
diff --git a/include/opcode/tilegx.h b/include/opcode/tilegx.h
index c11fc1661..95a9ca7d2 100644
--- a/include/opcode/tilegx.h
+++ b/include/opcode/tilegx.h
@@ -34,8 +34,6 @@ typedef enum
TILEGX_OPC_BPT,
TILEGX_OPC_INFO,
TILEGX_OPC_INFOL,
- TILEGX_OPC_LD4S_TLS,
- TILEGX_OPC_LD_TLS,
TILEGX_OPC_MOVE,
TILEGX_OPC_MOVEI,
TILEGX_OPC_MOVELI,
diff --git a/include/opcode/tilepro.h b/include/opcode/tilepro.h
index 767926bda..91e2a2bdb 100644
--- a/include/opcode/tilepro.h
+++ b/include/opcode/tilepro.h
@@ -36,8 +36,6 @@ typedef enum
TILEPRO_OPC_INFOL,
TILEPRO_OPC_J,
TILEPRO_OPC_JAL,
- TILEPRO_OPC_LW_TLS,
- TILEPRO_OPC_LW_TLS_SN,
TILEPRO_OPC_MOVE,
TILEPRO_OPC_MOVE_SN,
TILEPRO_OPC_MOVEI,
diff --git a/include/opcode/xgate.h b/include/opcode/xgate.h
deleted file mode 100644
index 77a521f83..000000000
--- a/include/opcode/xgate.h
+++ /dev/null
@@ -1,120 +0,0 @@
-/* xgate.h -- Freescale XGATE opcode list
- Copyright 2010, 2011, 2012 Free Software Foundation, Inc.
- Written by Sean Keys (skeys@ipdatasys.com)
-
- This file is part of the GNU opcodes library.
-
- This library 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 3, or (at your option)
- any later version.
-
- It is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
- License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this file; see the file COPYING. If not, write to the
- Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston,
- MA 02110-1301, USA. */
-
-#ifndef _OPCODE_XGATE_H
-#define _OPCODE_XGATE_H
-
-/* XGATE CCR flag definitions. */
-#define XGATE_N_BIT 0x08 /* XGN - Sign Flag */
-#define XGATE_Z_BIT 0x04 /* XGZ - Zero Flag */
-#define XGATE_V_BIT 0x02 /* XGV - Overflow Flag */
-#define XGATE_C_BIT 0x01 /* XGC - Carry Flag */
-
-/* Access Detail Notation
- V — Vector fetch: always an aligned word read, lasts for at least one RISC core cycle
- P — Program word fetch: always an aligned word read, lasts for at least one RISC core cycle
- r — 8-bit data read: lasts for at least one RISC core cycle
- R — 16-bit data read: lasts for at least one RISC core cycle
- w — 8-bit data write: lasts for at least one RISC core cycle
- W — 16-bit data write: lasts for at least one RISC core cycle
- A — Alignment cycle: no read or write, lasts for zero or one RISC core cycles
- f — Free cycle: no read or write, lasts for one RISC core cycles. */
-#define XGATE_CYCLE_V 0x01
-#define XGATE_CYCLE_P 0x02
-#define XGATE_CYCLE_r 0x04
-#define XGATE_CYCLE_R 0x08
-#define XGATE_CYCLE_w 0x10
-#define XGATE_CYCLE_W 0x20
-#define XGATE_CYCLE_A 0x40
-#define XGATE_CYCLE_f 0x80
-
-/* Opcode format abbreviations. */
-#define XG_INH 0x0001 /* Inherent. */
-#define XG_I 0x0002 /* 3-bit immediate address. */
-#define XG_R_I 0x0004 /* Register followed by 4/8-bit immediate value. */
-#define XG_R_R 0x0008 /* Register followed by a register. */
-#define XG_R_R_R 0x0010 /* Register followed by two registers. */
-#define XG_R 0x0020 /* Single register. */
-#define XG_PC 0x0040 /* PC relative 10 or 11 bit. */
-#define XG_R_C 0x0080 /* General register followed by ccr register. */
-#define XG_C_R 0x0100 /* CCR register followed by a general register. */
-#define XG_R_P 0x0200 /* General register followed by pc register. */
-#define XG_R_R_I 0x0400 /* Two general registers followed by an immediate value. */
-#define XG_PCREL 0x0800 /* Immediate value that is relative to the current pc. */
-
-/* XGATE operand formats as stored in the XGATE_opcode table.
- They are only used by GAS to recognize operands. */
-#define XGATE_OP_INH ""
-#define XGATE_OP_TRI "r,r,r"
-#define XGATE_OP_DYA "r,r"
-#define XGATE_OP_IMM16 "r,if"
-#define XGATE_OP_IMM8 "r,i8"
-#define XGATE_OP_IMM4 "r,i4"
-#define XGATE_OP_IMM3 "i3"
-#define XGATE_OP_MON "r"
-#define XGATE_OP_MON_R_C "r,c"
-#define XGATE_OP_MON_C_R "c,r"
-#define XGATE_OP_MON_R_P "r,p"
-#define XGATE_OP_IDR "r,r,+"
-#define XGATE_OP_IDO5 "r,r,i5"
-#define XGATE_OP_REL9 "b9"
-#define XGATE_OP_REL10 "ba"
-#define XGATE_OP_DYA_MON "=r"
-/* Macro definitions. */
-#define XGATE_OP_IMM16mADD "r,if; addl addh"
-#define XGATE_OP_IMM16mAND "r,if; andl andh"
-#define XGATE_OP_IMM16mCPC "r,if; cmpl cpch"
-#define XGATE_OP_IMM16mSUB "r,if; subl subh"
-#define XGATE_OP_IMM16mLDW "r,if; ldl ldh"
-
-/* CPU variant identification. */
-#define XGATE_V1 0x1
-#define XGATE_V2 0x2
-#define XGATE_V3 0x4
-
-/* Max opcodes per opcode handle. */
-#define MAX_OPCODES 0x05
-
-#define MAX_DETECT_CHARS 0x10
-
-/* The opcode table definitions. */
-struct xgate_opcode
-{
- char * name; /* Op-code name. */
- char * constraints; /* Constraint chars. */
- char * format; /* Bit definitions. */
- unsigned int sh_format; /* Shorthand format mask. */
- unsigned int size; /* Opcode size in bytes. */
- unsigned int bin_opcode; /* Binary opcode with operands masked off. */
- unsigned char cycles_min; /* Minimum cpu cycles needed. */
- unsigned char cycles_max; /* Maximum cpu cycles needed. */
- unsigned char set_flags_mask; /* CCR flags set. */
- unsigned char clr_flags_mask; /* CCR flags cleared. */
- unsigned char chg_flags_mask; /* CCR flags changed. */
- unsigned char arch; /* CPU variant. */
-};
-
-/* The opcode table. The table contains all the opcodes (all pages).
- You can't rely on the order. */
-extern const struct xgate_opcode xgate_opcodes[];
-extern const int xgate_num_opcodes;
-
-#endif /* _OPCODE_XGATE_H */
diff --git a/include/plugin-api.h b/include/plugin-api.h
index 3220142dd..122424c6c 100644
--- a/include/plugin-api.h
+++ b/include/plugin-api.h
@@ -66,8 +66,7 @@ enum ld_plugin_output_file_type
{
LDPO_REL,
LDPO_EXEC,
- LDPO_DYN,
- LDPO_PIE
+ LDPO_DYN
};
/* An input file managed by the plugin library. */
diff --git a/include/splay-tree.h b/include/splay-tree.h
index a26135a09..480b2c43e 100644
--- a/include/splay-tree.h
+++ b/include/splay-tree.h
@@ -37,11 +37,18 @@ extern "C" {
#include "ansidecl.h"
-#ifdef HAVE_STDINT_H
-#include <stdint.h>
+#ifndef _WIN64
+ typedef unsigned long int libi_uhostptr_t;
+ typedef long int libi_shostptr_t;
+#else
+#ifdef __GNUC__
+ __extension__
#endif
-#ifdef HAVE_INTTYPES_H
-#include <inttypes.h>
+ typedef unsigned long long libi_uhostptr_t;
+#ifdef __GNUC__
+ __extension__
+#endif
+ typedef long long libi_shostptr_t;
#endif
#ifndef GTY
@@ -52,8 +59,8 @@ extern "C" {
these types, if necessary. These types should be sufficiently wide
that any pointer or scalar can be cast to these types, and then
cast back, without loss of precision. */
-typedef uintptr_t splay_tree_key;
-typedef uintptr_t splay_tree_value;
+typedef libi_uhostptr_t splay_tree_key;
+typedef libi_uhostptr_t splay_tree_value;
/* Forward declaration for a node in the tree. */
typedef struct splay_tree_node_s *splay_tree_node;
diff --git a/include/vms/ChangeLog b/include/vms/ChangeLog
index bb2dfebe8..788d8d80c 100644
--- a/include/vms/ChangeLog
+++ b/include/vms/ChangeLog
@@ -1,7 +1,3 @@
-2012-03-08 Tristan Gingold <gingold@adacore.com>
-
- * lbr.h (struct vms_lhd): Add comments.
-
2010-05-27 Tristan Gingold <gingold@adacore.com>
* lbr.h: Improve comments.
diff --git a/include/vms/lbr.h b/include/vms/lbr.h
index fd3c256ad..bdb436aa7 100644
--- a/include/vms/lbr.h
+++ b/include/vms/lbr.h
@@ -87,10 +87,7 @@ struct vms_lhd
unsigned char nextvbn[4];
/* Free pre-allocated index block. */
- /* Number of free blocks. */
unsigned char freidxblk[4];
- /* VBN of a simply linked list of free blocks. The list is terminated by a
- nul VBN. */
unsigned char freeidx[4];
/* Highest pre-allocated index block and in use. */