diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/ChangeLog | 38 | ||||
-rw-r--r-- | include/demangle.h | 4 | ||||
-rw-r--r-- | include/dwarf2.h (renamed from include/elf/dwarf2.h) | 99 | ||||
-rw-r--r-- | include/elf/ChangeLog | 33 | ||||
-rw-r--r-- | include/elf/common.h | 5 | ||||
-rw-r--r-- | include/elf/ppc.h | 17 | ||||
-rw-r--r-- | include/elf/ppc64.h | 3 | ||||
-rw-r--r-- | include/elf/spu.h | 1 | ||||
-rw-r--r-- | include/libiberty.h | 5 |
9 files changed, 159 insertions, 46 deletions
diff --git a/include/ChangeLog b/include/ChangeLog index 8f857749e..c681a3395 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,41 @@ +2009-07-24 Ian Lance Taylor <iant@google.com> + + * libiberty.h (crc32): Declare. + +2009-07-20 Cary Coutant <ccoutant@google.com> + Doug Evans <dje@google.com> + + Add some dwarf4 values. + * dwarf2.h (enum dwarf_tag): Add DW_TAG_type_unit. + (enum dwarf_form): Add DW_FORM_sec_offset, DW_FORM_exprloc, + DW_FORM_flag_present, DW_FORM_sig8. + (enum dwarf_attribute): Add DW_AT_signature. + +2009-07-17 Jan Kratochvil <jan.kratochvil@redhat.com> + + * demangle.h + (enum demangle_component_type <DEMANGLE_COMPONENT_GLOBAL_CONSTRUCTORS>) + (enum demangle_component_type <DEMANGLE_COMPONENT_GLOBAL_DESTRUCTORS>): + New. + +2009-07-10 Tom Tromey <tromey@redhat.com> + + * dwarf2.h: New file, moved from elf/. + +2009-07-09 Jakub Jelinek <jakub@redhat.com> + + * dwarf2.h (enum dwarf_location_atom): Add DW_OP_implicit_value + and DW_OP_stack_value. + +2009-07-09 Tom Tromey <tromey@redhat.com> + + * elf/dwarf2.h: Remove, renaming to... + * dwarf2.h: ... this. + +2009-06-29 Tom Tromey <tromey@redhat.com> + + * elf/dwarf2.h: New file. Merged with gdb. + 2009-06-18 Nick Clifton <nickc@redhat.com> * dis-asm.h (USER_SPECIFIED_MACHINE_TYPE): New value for the flags diff --git a/include/demangle.h b/include/demangle.h index eb39c7c13..0bcae2fdb 100644 --- a/include/demangle.h +++ b/include/demangle.h @@ -377,6 +377,10 @@ enum demangle_component_type DEMANGLE_COMPONENT_CHARACTER, /* A decltype type. */ DEMANGLE_COMPONENT_DECLTYPE, + /* Global constructors keyed to name. */ + DEMANGLE_COMPONENT_GLOBAL_CONSTRUCTORS, + /* Global destructors keyed to name. */ + DEMANGLE_COMPONENT_GLOBAL_DESTRUCTORS, /* A pack expansion. */ DEMANGLE_COMPONENT_PACK_EXPANSION }; diff --git a/include/elf/dwarf2.h b/include/dwarf2.h index a7448dc7c..295abf5c0 100644 --- a/include/elf/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, 2008 Free Software Foundation, Inc. + 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. Written by Gary Funck (gary@intrepid.com) The Ada Joint Program Office (AJPO), Florida State University and Silicon Graphics Inc. @@ -14,7 +14,7 @@ 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 2, or (at your option) any later + 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 @@ -22,10 +22,14 @@ 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 GCC; see the file COPYING. If not, write to the Free - Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA - 02110-1301, USA. */ + 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 @@ -190,6 +194,12 @@ enum dwarf_tag DW_TAG_imported_unit = 0x3d, DW_TAG_condition = 0x3f, DW_TAG_shared_type = 0x40, + /* DWARF 4. */ + DW_TAG_type_unit = 0x41, + + 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 . */ @@ -209,9 +219,6 @@ enum dwarf_tag DW_TAG_PGI_interface_block = 0xA020 }; -#define DW_TAG_lo_user 0x4080 -#define DW_TAG_hi_user 0xffff - /* Flag that tells whether entry has a child or not. */ #define DW_children_no 0 #define DW_children_yes 1 @@ -239,7 +246,12 @@ enum dwarf_form DW_FORM_ref4 = 0x13, DW_FORM_ref8 = 0x14, DW_FORM_ref_udata = 0x15, - DW_FORM_indirect = 0x16 + DW_FORM_indirect = 0x16, + /* DWARF 4. */ + DW_FORM_sec_offset = 0x17, + DW_FORM_exprloc = 0x18, + DW_FORM_flag_present = 0x19, + DW_FORM_sig8 = 0x20 }; /* Attribute names and codes. */ @@ -312,7 +324,7 @@ enum dwarf_attribute DW_AT_allocated = 0x4e, DW_AT_associated = 0x4f, DW_AT_data_location = 0x50, - DW_AT_byte_stride = 0x51, + 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, @@ -337,6 +349,12 @@ enum dwarf_attribute DW_AT_elemental = 0x66, DW_AT_pure = 0x67, DW_AT_recursive = 0x68, + /* DWARF 4. */ + DW_AT_signature = 0x69, + + DW_AT_lo_user = 0x2000, /* Implementation-defined range start. */ + DW_AT_hi_user = 0x3ff0, /* Implementation-defined range end. */ + /* SGI/MIPS extensions. */ DW_AT_MIPS_fde = 0x2001, DW_AT_MIPS_loop_begin = 0x2002, @@ -382,9 +400,6 @@ enum dwarf_attribute DW_AT_PGI_lstride = 0x3a02 }; -#define DW_AT_lo_user 0x2000 /* Implementation-defined range start. */ -#define DW_AT_hi_user 0x3fff /* Implementation-defined range end. */ - /* Location atom names and codes. */ enum dwarf_location_atom { @@ -541,8 +556,17 @@ enum dwarf_location_atom 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, /* HP extensions. */ @@ -557,9 +581,6 @@ enum dwarf_location_atom DW_OP_PGI_omp_thread_num = 0xf8 }; -#define DW_OP_lo_user 0xe0 /* Implementation-defined range start. */ -#define DW_OP_hi_user 0xff /* Implementation-defined range end. */ - /* Type encodings. */ enum dwarf_type { @@ -580,6 +601,10 @@ enum dwarf_type DW_ATE_signed_fixed = 0xd, DW_ATE_unsigned_fixed = 0xe, DW_ATE_decimal_float = 0xf, + + 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). */ @@ -590,9 +615,6 @@ enum dwarf_type DW_ATE_HP_imaginary_float128 = 0x86 }; -#define DW_ATE_lo_user 0x80 -#define DW_ATE_hi_user 0xff - /* Decimal sign encodings. */ enum dwarf_decimal_sign_encoding { @@ -610,11 +632,11 @@ enum dwarf_endianity_encoding /* DWARF 3. */ DW_END_default = 0x00, DW_END_big = 0x01, - DW_END_little = 0x02 - }; + DW_END_little = 0x02, -#define DW_END_lo_user 0x40 -#define DW_END_hi_user 0xff + DW_END_lo_user = 0x40, + DW_END_hi_user = 0xff + }; /* Array ordering names and codes. */ enum dwarf_array_dim_ordering @@ -662,12 +684,13 @@ enum dwarf_calling_convention DW_CC_normal = 0x1, DW_CC_program = 0x2, DW_CC_nocall = 0x3, + + DW_CC_lo_user = 0x40, + DW_CC_hi_user = 0xff, + DW_CC_GNU_renesas_sh = 0x40 }; -#define DW_CC_lo_user 0x40 -#define DW_CC_hi_user 0xff - /* Inline attribute. */ enum dwarf_inline_attribute { @@ -720,11 +743,11 @@ enum dwarf_line_number_x_ops DW_LNE_HP_negate_post_semantics = 0x17, DW_LNE_HP_negate_function_exit = 0x18, DW_LNE_HP_negate_front_end_logical = 0x19, - DW_LNE_HP_define_proc = 0x20 - }; + DW_LNE_HP_define_proc = 0x20, -#define DW_LNE_lo_user 0x80 -#define DW_LNE_hi_user 0xff + DW_LNE_lo_user = 0x80, + DW_LNE_hi_user = 0xff + }; /* Call frame information. */ enum dwarf_call_frame_info @@ -756,6 +779,10 @@ enum dwarf_call_frame_info 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. */ @@ -765,11 +792,10 @@ enum dwarf_call_frame_info }; #define DW_CIE_ID 0xffffffff +#define DW64_CIE_ID 0xffffffffffffffffULL #define DW_CIE_VERSION 1 #define DW_CFA_extended 0 -#define DW_CFA_lo_user 0x1c -#define DW_CFA_hi_user 0x3f #define DW_CHILDREN_no 0x00 #define DW_CHILDREN_yes 0x01 @@ -799,15 +825,16 @@ enum dwarf_source_language DW_LANG_ObjC_plus_plus = 0x0011, DW_LANG_UPC = 0x0012, DW_LANG_D = 0x0013, + + DW_LANG_lo_user = 0x8000, /* Implementation-defined range start. */ + DW_LANG_hi_user = 0xffff, /* Implementation-defined range start. */ + /* MIPS. */ DW_LANG_Mips_Assembler = 0x8001, /* UPC. */ DW_LANG_Upc = 0x8765 }; -#define DW_LANG_lo_user 0x8000 /* Implementation-defined range start. */ -#define DW_LANG_hi_user 0xffff /* Implementation-defined range start. */ - /* Names and codes for macro information. */ enum dwarf_macinfo_record_type { diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog index 99805f1c7..3ef5067ae 100644 --- a/include/elf/ChangeLog +++ b/include/elf/ChangeLog @@ -1,3 +1,36 @@ +2009-07-25 H.J. Lu <hongjiu.lu@intel.com> + + * common.h (EM_L1OM): New. + +2009-07-24 Trevor Smigiel <Trevor_Smigiel@playstation.sony.com> + Alan Modra <amodra@bigpond.net.au> + + * spu.h (R_SPU_ADD_PIC): New. + +2009-07-23 Ulrich Drepper <drepper@redhat.com> + + * common.h (STB_GNU_UNIQUE): Define. + +2009-07-10 Tom Tromey <tromey@redhat.com> + + * dwarf2.h: Move to `..'. + +2009-07-10 H.J. Lu <hongjiu.lu@intel.com> + + * dwarf2.h: Just include ../dwarf2.h. + +2009-07-10 Alan Modra <amodra@bigpond.net.au> + + * ppc.h (R_PPC_IRELATIVE): Add. + (R_PPC_RELAX32, R_PPC_RELAX32PC, + R_PPC_RELAX32_PLT, R_PPC_RELAX32PC_PLT): Renumber. + * ppc64.h (R_PPC64_IRELATIVE): Add. + +2009-07-03 Jakub Jelinek <jakub@redhat.com> + + * dwarf2.h (enum dwarf_location_atom): Add DW_OP_implicit_value + and DW_OP_stack_value. + 2009-06-22 Alan Modra <amodra@bigpond.net.au> * ppc.h (R_PPC_RELAX*): Define as enum. diff --git a/include/elf/common.h b/include/elf/common.h index 75f4eb82d..33ec16a02 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 + 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. Written by Fred Fish @ Cygnus Support, from information published @@ -238,7 +238,7 @@ #define EM_CR16 177 /* National Semiconductor CompactRISC 16-bit processor */ #define EM_ETPU 178 /* Freescale Extended Time Processing Unit */ #define EM_SLE9X 179 /* Infineon Technologies SLE9X core */ -#define EM_INTEL180 180 /* Reserved by Intel */ +#define EM_L1OM 180 /* Intel L1OM */ #define EM_INTEL181 181 /* Reserved by Intel */ #define EM_INTEL182 182 /* Reserved by Intel */ @@ -555,6 +555,7 @@ #define STB_GLOBAL 1 /* Symbol visible outside obj */ #define STB_WEAK 2 /* Like globals, lower precedence */ #define STB_LOOS 10 /* OS-specific semantics */ +#define STB_GNU_UNIQUE 10 /* Symbol is unique in namespace */ #define STB_HIOS 12 /* OS-specific semantics */ #define STB_LOPROC 13 /* Processor-specific semantics */ #define STB_HIPROC 15 /* Processor-specific semantics */ diff --git a/include/elf/ppc.h b/include/elf/ppc.h index 8f4ed9e18..14c643a54 100644 --- a/include/elf/ppc.h +++ b/include/elf/ppc.h @@ -71,6 +71,14 @@ START_RELOC_NUMBERS (elf_ppc_reloc_type) RELOC_NUMBER (R_PPC_SECTOFF_HA, 36) RELOC_NUMBER (R_PPC_ADDR30, 37) +#ifndef RELOC_MACROS_GEN_FUNC +/* Fake relocations for branch stubs, only used internally by ld. */ + RELOC_NUMBER (R_PPC_RELAX32, 48) + RELOC_NUMBER (R_PPC_RELAX32PC, 49) + RELOC_NUMBER (R_PPC_RELAX32_PLT, 50) + RELOC_NUMBER (R_PPC_RELAX32PC_PLT, 51) +#endif + /* Relocs added to support TLS. */ RELOC_NUMBER (R_PPC_TLS, 67) RELOC_NUMBER (R_PPC_DTPMOD32, 68) @@ -122,13 +130,8 @@ START_RELOC_NUMBERS (elf_ppc_reloc_type) RELOC_NUMBER (R_PPC_EMB_BIT_FLD, 115) RELOC_NUMBER (R_PPC_EMB_RELSDA, 116) -#ifndef RELOC_MACROS_GEN_FUNC -/* Fake relocations for branch stubs, only used internally by ld. */ - RELOC_NUMBER (R_PPC_RELAX32, 245) - RELOC_NUMBER (R_PPC_RELAX32PC, 246) - RELOC_NUMBER (R_PPC_RELAX32_PLT, 247) - RELOC_NUMBER (R_PPC_RELAX32PC_PLT, 248) -#endif +/* Support STT_GNU_IFUNC plt calls. */ + RELOC_NUMBER (R_PPC_IRELATIVE, 248) /* These are GNU extensions used in PIC code sequences. */ RELOC_NUMBER (R_PPC_REL16, 249) diff --git a/include/elf/ppc64.h b/include/elf/ppc64.h index c768180b4..4644b75c2 100644 --- a/include/elf/ppc64.h +++ b/include/elf/ppc64.h @@ -139,6 +139,9 @@ START_RELOC_NUMBERS (elf_ppc64_reloc_type) RELOC_NUMBER (R_PPC64_TLSGD, 107) RELOC_NUMBER (R_PPC64_TLSLD, 108) +/* Support STT_GNU_IFUNC plt calls. */ + RELOC_NUMBER (R_PPC64_IRELATIVE, 248) + /* These are GNU extensions to enable C++ vtable garbage collection. */ RELOC_NUMBER (R_PPC64_GNU_VTINHERIT, 253) RELOC_NUMBER (R_PPC64_GNU_VTENTRY, 254) diff --git a/include/elf/spu.h b/include/elf/spu.h index ef949804e..518d968cb 100644 --- a/include/elf/spu.h +++ b/include/elf/spu.h @@ -42,6 +42,7 @@ START_RELOC_NUMBERS (elf_spu_reloc_type) RELOC_NUMBER (R_SPU_ADDR16X, 14) RELOC_NUMBER (R_SPU_PPU32, 15) RELOC_NUMBER (R_SPU_PPU64, 16) + RELOC_NUMBER (R_SPU_ADD_PIC, 17) END_RELOC_NUMBERS (R_SPU_max) /* Program header extensions */ diff --git a/include/libiberty.h b/include/libiberty.h index e3eca9d75..a7716e4a4 100644 --- a/include/libiberty.h +++ b/include/libiberty.h @@ -1,6 +1,7 @@ /* Function declarations for libiberty. - Copyright 2001, 2002, 2005, 2007 Free Software Foundation, Inc. + Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, + 2006, 2007, 2008, 2009 Free Software Foundation, Inc. Note - certain prototypes declared in this header file are for functions whoes implementation copyright does not belong to the @@ -311,6 +312,8 @@ extern void *xmemdup (const void *, size_t, size_t) ATTRIBUTE_MALLOC; extern double physmem_total (void); extern double physmem_available (void); +/* Compute the 32-bit CRC of a block of memory. */ +extern unsigned int xcrc32 (const unsigned char *, int, unsigned int); /* These macros provide a K&R/C89/C++-friendly way of allocating structures with nice encapsulation. The XDELETE*() macros are technically |