diff options
author | cvs2svn <> | 2009-07-25 14:58:56 +0000 |
---|---|---|
committer | cvs2svn <> | 2009-07-25 14:58:56 +0000 |
commit | f7933f61b2ff10b34b661b2be815529e40223d1c (patch) | |
tree | 9d7a60c8966de4884ea2147e585cbabe3cc1cd6c | |
parent | 13832ef1baffcb98ec421c8d205b8ed94999df67 (diff) | |
download | newlib-github/msnyder-checkpoint-072509-branch.zip newlib-github/msnyder-checkpoint-072509-branch.tar.gz newlib-github/msnyder-checkpoint-072509-branch.tar.bz2 |
This commit was manufactured by cvs2svn to create branch 'msnyder-msnyder-checkpoint-072509-branchpointgithub/msnyder-checkpoint-072509-branchmsnyder-checkpoint-072509-branch
checkpoint-072509-branch'.
Sprout from dje-cgen-play1-branch 2009-06-26 17:19:08 UTC cvs2svn 'This commit was manufactured by cvs2svn to create branch 'dje-cgen-'
Cherrypick from master 2009-07-25 14:58:55 UTC H.J. Lu <hjl.tools@gmail.com> 'bfd/':
ChangeLog
config/ChangeLog
config/tls.m4
configure
configure.ac
djunpack.bat
include/ChangeLog
include/demangle.h
include/dwarf2.h
include/elf/ChangeLog
include/elf/common.h
include/elf/ppc.h
include/elf/ppc64.h
include/elf/spu.h
include/libiberty.h
Delete:
include/elf/dwarf2.h
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | config/ChangeLog | 11 | ||||
-rw-r--r-- | config/tls.m4 | 20 | ||||
-rwxr-xr-x | configure | 8 | ||||
-rw-r--r-- | configure.ac | 6 | ||||
-rwxr-xr-x | djunpack.bat | 52 | ||||
-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 |
15 files changed, 258 insertions, 50 deletions
@@ -1,3 +1,9 @@ +2009-07-02 Tristan Gingold <gingold@adacore.com> + + * configure.ac: Do not exclude gas for i386-*-darwin. + Add a case for x86_64-*-darwin. + * configure: Regenerate. + 2009-06-26 Doug Evans <dje@sebabeach.org> * Makefile.def (host_modules): Add cgen. diff --git a/config/ChangeLog b/config/ChangeLog index d6ff565..96d5f75 100644 --- a/config/ChangeLog +++ b/config/ChangeLog @@ -1,3 +1,14 @@ +2009-07-17 Joseph Myers <joseph@codesourcery.com> + + PR other/40784 + * tls.m4 (GCC_CHECK_TLS): Add extra quoting around argument to + AC_LINK_IFELSE. + +2009-07-16 Joseph Myers <joseph@codesourcery.com> + + * tls.m4 (GCC_CHECK_TLS): Also test TLS in a shared library when + cross-compiling. + 2009-05-26 Rafael Avila de Espindola <espindola@google.com> * plugins.m4: New. diff --git a/config/tls.m4 b/config/tls.m4 index acb123f..0ae6046 100644 --- a/config/tls.m4 +++ b/config/tls.m4 @@ -1,5 +1,6 @@ dnl Check whether the target supports TLS. AC_DEFUN([GCC_CHECK_TLS], [ + AC_REQUIRE([AC_CANONICAL_HOST]) GCC_ENABLE(tls, yes, [], [Use thread-local storage]) AC_CACHE_CHECK([whether the target supports thread-local storage], gcc_cv_have_tls, [ @@ -66,7 +67,24 @@ AC_DEFUN([GCC_CHECK_TLS], [ [dnl This is the cross-compiling case. Assume libc supports TLS if the dnl binutils and the compiler do. AC_LINK_IFELSE([__thread int a; int b; int main() { return a = b; }], - [gcc_cv_have_tls=yes], [gcc_cv_have_tls=no]) + [chktls_save_LDFLAGS="$LDFLAGS" + dnl Shared library options may depend on the host; this check + dnl is only known to be needed for GNU/Linux. + case $host in + *-*-linux*) + LDFLAGS="-shared -Wl,--no-undefined $LDFLAGS" + ;; + esac + chktls_save_CFLAGS="$CFLAGS" + CFLAGS="-fPIC $CFLAGS" + dnl If -shared works, test if TLS works in a shared library. + AC_LINK_IFELSE([int f() { return 0; }], + [AC_LINK_IFELSE([__thread int a; int b; int f() { return a = b; }], + [gcc_cv_have_tls=yes], + [gcc_cv_have_tls=no])], + [gcc_cv_have_tls=yes]) + CFLAGS="$chktls_save_CFLAGS" + LDFLAGS="$chktls_save_LDFLAGS"], [gcc_cv_have_tls=no]) ] )]) if test "$enable_tls $gcc_cv_have_tls" = "yes yes"; then @@ -2,7 +2,7 @@ # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.59. # -# Copyright (C) 2003, 2008 Free Software Foundation, Inc. +# Copyright (C) 2003 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## --------------------- ## @@ -2215,7 +2215,11 @@ case "${target}" in noconfigdirs="$noconfigdirs ld gas gdb gprof" noconfigdirs="$noconfigdirs sim target-rda" ;; - i[3456789]86-*-darwin* | x86_64-*-darwin9*) + i[3456789]86-*-darwin*) + noconfigdirs="$noconfigdirs ld gprof" + noconfigdirs="$noconfigdirs sim target-rda" + ;; + x86_64-*-darwin9*) noconfigdirs="$noconfigdirs ld gas gprof" noconfigdirs="$noconfigdirs sim target-rda" ;; diff --git a/configure.ac b/configure.ac index e8bcc4b..a594222 100644 --- a/configure.ac +++ b/configure.ac @@ -450,7 +450,11 @@ case "${target}" in noconfigdirs="$noconfigdirs ld gas gdb gprof" noconfigdirs="$noconfigdirs sim target-rda" ;; - i[[3456789]]86-*-darwin* | x86_64-*-darwin9*) + i[[3456789]]86-*-darwin*) + noconfigdirs="$noconfigdirs ld gprof" + noconfigdirs="$noconfigdirs sim target-rda" + ;; + x86_64-*-darwin9*) noconfigdirs="$noconfigdirs ld gas gprof" noconfigdirs="$noconfigdirs sim target-rda" ;; diff --git a/djunpack.bat b/djunpack.bat new file mode 100755 index 0000000..5c6e9b2 --- /dev/null +++ b/djunpack.bat @@ -0,0 +1,52 @@ +@echo off
+Rem
+Rem WARNING WARNING WARNING: This file needs to have DOS CRLF end-of-line
+Rem format, or else stock DOS/Windows shells will refuse to run it.
+Rem
+Rem This batch file unpacks the GDB distribution while simultaneously
+Rem renaming some of the files whose names are invalid on DOS or conflict
+Rem with other file names after truncation to DOS 8+3 namespace.
+Rem
+Rem Invoke like this:
+Rem
+Rem djunpack gdb-XYZ.tar
+Rem
+Rem where XYZ is the version number. If the argument includes leading
+Rem directories, it MUST use backslashes, not forward slashes.
+Rem
+Rem The following 2 lines need to be changed with each new GDB release, to
+Rem be identical to the name of the top-level directory where the GDB
+Rem distribution unpacks itself.
+set GDBVER=gdb-5.0
+if "%GDBVER%"=="gdb-5.0" GoTo EnvOk
+Rem If their environment space is too small, re-exec with a larger one
+command.com /e:4096 /c %0 %1
+GoTo End
+:EnvOk
+if not exist %1 GoTo NoArchive
+djtar -x -p -o %GDBVER%/gdb/config/djgpp/fnchange.lst %1 > fnchange.tmp
+Rem The following uses a feature of COPY whereby it does not copy
+Rem empty files. We need that because the previous line will create
+Rem an empty fnchange.tmp even if the command failed for some reason.
+copy fnchange.tmp junk.tmp > nul
+if not exist junk.tmp GoTo NoDjTar
+del junk.tmp
+sed -e "s,@V@,%GDBVER%,g" < fnchange.tmp > fnchange.lst
+Rem See the comment above about the reason for using COPY.
+copy fnchange.lst junk.tmp > nul
+if not exist junk.tmp GoTo NoSed
+del junk.tmp
+djtar -x -n fnchange.lst %1
+GoTo End
+:NoSed
+echo FAIL: Sed is not available.
+GoTo End
+:NoDjTar
+echo FAIL: DJTAR is not available or no fnchange.lst file in %1.
+GoTo End
+:NoArchive
+echo FAIL: the file %1 does not seem to exist.
+echo Remember that %1 cannot use forward slashes, only backslashes.
+GoTo End
+:End
+set GDBVER=
diff --git a/include/ChangeLog b/include/ChangeLog index 8f85774..c681a33 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 eb39c7c..0bcae2f 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 a7448dc..295abf5 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 99805f1..3ef5067 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 75f4eb8..33ec16a 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 8f4ed9e..14c643a 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 c768180..4644b75 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 ef94980..518d968 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 e3eca9d..a7716e4 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 |