From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21848 invoked by alias); 3 Feb 2010 04:56:32 -0000 Mailing-List: contact archer-commits-help@sourceware.org; run by ezmlm Sender: Precedence: bulk List-Post: List-Help: List-Subscribe: Received: (qmail 21774 invoked by uid 9674); 3 Feb 2010 04:56:31 -0000 Date: Wed, 03 Feb 2010 04:56:00 -0000 Message-ID: <20100203045630.21759.qmail@sourceware.org> From: jkratoch@sourceware.org To: archer-commits@sourceware.org Subject: [SCM] archer-jankratochvil-ifunc: Merge remote branch 'origin/master' into archer-jankratochvil-ifunc X-Git-Refname: refs/heads/archer-jankratochvil-ifunc X-Git-Reftype: branch X-Git-Oldrev: 39fa579549150c23cdd78658461afa6caea27257 X-Git-Newrev: 530f480a0f973096a601505664ba3ee53bb26351 X-SW-Source: 2010-q1/txt/msg00103.txt.bz2 List-Id: The branch, archer-jankratochvil-ifunc has been updated via 530f480a0f973096a601505664ba3ee53bb26351 (commit) via 8a66451abb01b7fa7aa0fb5947d1003df6e7f948 (commit) via 06d0527a3a31b81ccbfe5d2eb899f7e30ed93f2d (commit) via 039dd96564bdd16a903c390c9e25ff23a0986ad6 (commit) via 37b989f713c64fa3429d1ce470fdb25389c7eb0b (commit) via e29c905cd8fdc87b7d8660c07601b810052e9444 (commit) via b641539397a6cb5b4c67dbedafab62b1ac21391e (commit) via 89bdb2450e85875b16ad73f00b5632f27e3054a1 (commit) via eac509950388e2e6a4d078202a0dd58d59fcddbd (commit) via 679554b8c8565b7d296940c5fdab35d98f28be3e (commit) via 875d1739ef2c7185f5e5e52eac3022171031132b (commit) via 0a60705522e536b44cb28a22d1aec7a1c7216011 (commit) via 662c6c45df41661abddf1b78ac2c4d4817b694a1 (commit) via e9e9b7b1c149af6ed82bbb1c01f013c6b6ffd87e (commit) via c6d8c9383174688d8d19a897e6ff5fe81e211de2 (commit) via 03729380c318738d19256b219bcc03d333dc54bf (commit) via a5266a8a1fb2333418dd0914d3adeee72383b656 (commit) via 7a43b42ad592059e9bd595adf38fb65709aa3959 (commit) via 7f3f596fcee5e48061e248513e18096ca653620b (commit) via f8893c711c4ee381385d983175cacb786f64774b (commit) via feced2c94d506d91710d06e86ecdd5ac4b4d2c56 (commit) via fdfccbaf9fffb6300698bcd8cbe1a41b96398527 (commit) via e1e1f977b48241291ceaa7431bd448e2eacb5467 (commit) via 974eeebe13b24cf3d78e248857d914a393bf1597 (commit) via ca233f4f50d32cf78cb2b19c31dc373d05e2743e (commit) via 2e4e6c860563f4d26538db70b02712753456a49a (commit) via 5f9a1f9f73c5552ceca68d5e2cefb6454d4d4a22 (commit) via 9c13abd586d6251a03d10c2d3809f3dd75a79a96 (commit) via a86369688577ace604d9c15f2e45053cb0f1d046 (commit) via fbae06a026848d102269b1d7627ed1ed1476ecd9 (commit) via 481ae44b178f289a3dce573858c076cba130a186 (commit) via 00d206f06c1bfe3c4e4ad727e7e7c0d23fec9304 (commit) via ea72145d5db8c66253c9b21b785a5311f69ae99e (commit) via 055ea5aad2e3e6e74eb70760a27c5b12b105097d (commit) via e85c2313d4ebb17b06409da168bbb836e229f877 (commit) via c0869096279f9efb4047b5deceee1c6ded43300d (commit) via eaf43e71840fb73fba7c0af93a675b945cf33272 (commit) via 06e45bb813f0299045e706936d448563e18de2f2 (commit) via 09ffeaf7f4252c5177063a04b70886b604431142 (commit) via 285e284cdcd5bd63bf316ddefaf642833d5a0f6a (commit) via a54573f7582d0c73bc98ac06969bbcf3310ac16a (commit) via a1f83b9843c1744564ffb0991f0a51ad372e3346 (commit) via 0fcc0541ae31b12263bba2ba8d52c8b461efbfe2 (commit) via 753be84d32a8922b66c4f9705811c57d5e64a724 (commit) via cddb5b9441387b546785edb7f3723fd69a34db5a (commit) via aeae4a8edcc90a5560ff3d9832ea79b65b119d9f (commit) via 9086f91b53f60094862210b6802e233ba8111ebc (commit) via 7ca68a06cb3b5ccf35b636933486ff6d647895fb (commit) from 39fa579549150c23cdd78658461afa6caea27257 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit 530f480a0f973096a601505664ba3ee53bb26351 Merge: 39fa579549150c23cdd78658461afa6caea27257 8a66451abb01b7fa7aa0fb5947d1003df6e7f948 Author: Jan Kratochvil Date: Wed Feb 3 05:54:25 2010 +0100 Merge remote branch 'origin/master' into archer-jankratochvil-ifunc ----------------------------------------------------------------------- Summary of changes: ChangeLog | 7 + bfd/ChangeLog | 25 ++ bfd/elf-bfd.h | 2 + bfd/elf.c | 33 ++- bfd/elf32-hppa.c | 12 +- bfd/som.c | 1 + bfd/version.h | 2 +- configure | 70 +++- configure.ac | 37 ++- gdb/ChangeLog | 189 +++++++++ gdb/Makefile.in | 2 +- gdb/amd64-tdep.c | 136 +++++-- gdb/amd64-tdep.h | 3 + gdb/amd64-windows-tdep.c | 112 ++++++ gdb/arch-utils.c | 7 + gdb/arch-utils.h | 3 + gdb/arm-linux-tdep.c | 11 + gdb/arm-tdep.c | 420 ++++++++++++++++++-- gdb/arm-tdep.h | 9 +- gdb/c-lang.h | 6 + gdb/c-typeprint.c | 42 +-- gdb/c-valprint.c | 5 +- gdb/config/djgpp/fnchange.lst | 2 + gdb/cp-valprint.c | 46 ++- gdb/doc/ChangeLog | 7 + gdb/doc/gdb.texinfo | 84 +++-- gdb/dwarf2read.c | 5 +- gdb/frame.c | 4 +- gdb/gdbarch.c | 24 ++ gdb/gdbarch.h | 8 + gdb/gdbarch.sh | 8 +- gdb/gdbserver/ChangeLog | 19 + gdb/gdbserver/inferiors.c | 25 +- gdb/gdbserver/linux-arm-low.c | 9 +- gdb/gdbserver/linux-low.c | 51 ++- gdb/gdbtypes.c | 7 - gdb/gdbtypes.h | 26 +- gdb/gnu-v2-abi.c | 3 +- gdb/i386-tdep.c | 14 +- gdb/i386-tdep.h | 43 ++ gdb/infcall.c | 3 +- gdb/infrun.c | 50 ++- gdb/language.h | 29 ++- gdb/m2-typeprint.c | 4 +- gdb/ppc-linux-tdep.c | 3 +- gdb/python/py-prettyprint.c | 3 +- gdb/regcache.c | 15 +- gdb/regcache.h | 3 +- gdb/remote.c | 4 +- gdb/solib-svr4.c | 16 +- gdb/testsuite/ChangeLog | 83 ++++ gdb/testsuite/gdb.ada/call_pn.exp | 53 +++ gdb/testsuite/gdb.ada/call_pn/foo.adb | 23 + gdb/testsuite/gdb.ada/call_pn/pck.adb | 25 ++ gdb/testsuite/gdb.ada/call_pn/pck.ads | 23 + gdb/testsuite/gdb.ada/rec_return.exp | 46 +++ gdb/testsuite/gdb.ada/rec_return/foo.adb | 24 ++ gdb/testsuite/gdb.ada/rec_return/pck.adb | 27 ++ gdb/testsuite/gdb.ada/rec_return/pck.ads | 28 ++ gdb/testsuite/gdb.arch/thumb2-it.S | 182 +++++++++ gdb/testsuite/gdb.arch/thumb2-it.exp | 157 ++++++++ gdb/testsuite/gdb.base/bigcore.exp | 1 + gdb/testsuite/gdb.base/call-strs.exp | 9 +- gdb/testsuite/gdb.base/default.exp | 3 + gdb/testsuite/gdb.base/ending-run.exp | 4 +- gdb/testsuite/gdb.base/finish.exp | 2 + gdb/testsuite/gdb.base/freebpcmd.exp | 3 + gdb/testsuite/gdb.base/funcargs.exp | 3 + gdb/testsuite/gdb.base/gcore.exp | 6 +- gdb/testsuite/gdb.base/huge.exp | 2 + gdb/testsuite/gdb.base/interrupt.exp | 1 + gdb/testsuite/gdb.base/nodebug.exp | 4 +- gdb/testsuite/gdb.base/page.exp | 5 - gdb/testsuite/gdb.base/ptype.exp | 5 +- gdb/testsuite/gdb.base/restore.exp | 2 + gdb/testsuite/gdb.base/return.exp | 2 + gdb/testsuite/gdb.base/setvar.exp | 5 +- .../gdb.base/symbol-without-target_section.c} | 15 +- .../gdb.base/symbol-without-target_section.exp | 39 ++ gdb/testsuite/gdb.base/watchpoint-solib.exp | 8 +- gdb/testsuite/gdb.base/watchpoints.exp | 3 +- gdb/testsuite/gdb.cp/nsrecurs.cc | 45 ++- gdb/testsuite/gdb.cp/nsrecurs.exp | 15 +- gdb/testsuite/gdb.cp/nsusing.cc | 130 +++++-- gdb/testsuite/gdb.cp/nsusing.exp | 131 ++++++- gdb/testsuite/gdb.cp/userdef.exp | 2 +- gdb/testsuite/gdb.cp/virtbase.cc | 89 ++++ gdb/testsuite/gdb.cp/virtbase.exp | 62 +++ gdb/testsuite/gdb.dwarf2/member-ptr-forwardref.exp | 2 +- gdb/testsuite/gdb.mi/mi-nonstop.exp | 19 +- gdb/testsuite/gdb.threads/current-lwp-dead.c | 21 +- gdb/testsuite/gdb.threads/gcore-thread.exp | 2 + gdb/testsuite/lib/mi-support.exp | 10 +- gdb/valops.c | 33 ++- gdb/version.in | 2 +- include/elf/ChangeLog | 6 +- include/elf/common.h | 2 + opcodes/ChangeLog | 24 ++ opcodes/arm-dis.c | 206 +++++++--- opcodes/i386-dis.c | 31 +- 100 files changed, 2844 insertions(+), 430 deletions(-) create mode 100644 gdb/testsuite/gdb.ada/call_pn.exp create mode 100644 gdb/testsuite/gdb.ada/call_pn/foo.adb create mode 100644 gdb/testsuite/gdb.ada/call_pn/pck.adb create mode 100644 gdb/testsuite/gdb.ada/call_pn/pck.ads create mode 100644 gdb/testsuite/gdb.ada/rec_return.exp create mode 100644 gdb/testsuite/gdb.ada/rec_return/foo.adb create mode 100644 gdb/testsuite/gdb.ada/rec_return/pck.adb create mode 100644 gdb/testsuite/gdb.ada/rec_return/pck.ads create mode 100644 gdb/testsuite/gdb.arch/thumb2-it.S create mode 100644 gdb/testsuite/gdb.arch/thumb2-it.exp rename gdb/{gnu-v2-abi.h => testsuite/gdb.base/symbol-without-target_section.c} (67%) create mode 100644 gdb/testsuite/gdb.base/symbol-without-target_section.exp create mode 100644 gdb/testsuite/gdb.cp/virtbase.cc create mode 100644 gdb/testsuite/gdb.cp/virtbase.exp First 500 lines of diff: diff --git a/ChangeLog b/ChangeLog index 01bfa10..7d8f7f2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2010-01-31 Kaveh R. Ghazi + + Sync from gcc: + * configure.ac: Add "recommended" version checks for GMP/MPC. + Update recommended GMP/MPFR/MPC versions. + * configure: Regenerate. + 2010-01-25 Joern Rennecke gcc PR libstdc++/36101, gcc PR libstdc++/42813 diff --git a/bfd/ChangeLog b/bfd/ChangeLog index ce2c0c6..791ec74 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,28 @@ +2010-02-02 H.J. Lu + + * elf-bfd.h (elfcore_write_xstatereg): New. + + * elf.c (elfcore_grok_xstatereg): New. + (elfcore_write_xstatereg): Likewise. + (elfcore_grok_note): Handle NT_X86_XSTATE. + (elfcore_write_register_note): Handle .reg-xstate section. + +2010-02-01 Tristan Gingold + + * som.c (som_write_ar_hdr): Define this macro. + +2010-01-30 John David Anglin + + * elf32-hppa.c (final_link_relocate): Convert R_PARISC_TLS_GD21L, + R_PARISC_TLS_LDM21L and R_PARISC_TLS_IE21L relocations that use the + linkage table pointer to use the global table pointer if not doing + a shared link. + +2010-01-29 Joel Brobecker + + * elf.c (elfcore_grok_lwpstatus): Do not overwrite the core signal + if it has already been set. + 2010-01-27 Tristan Gingold * vms.h: Remove trailing spaces. diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h index daa2b62..3c3ac9b 100644 --- a/bfd/elf-bfd.h +++ b/bfd/elf-bfd.h @@ -2149,6 +2149,8 @@ extern char *elfcore_write_prfpreg (bfd *, char *, int *, const void *, int); extern char *elfcore_write_prxfpreg (bfd *, char *, int *, const void *, int); +extern char *elfcore_write_xstatereg + (bfd *, char *, int *, const void *, int); extern char *elfcore_write_ppc_vmx (bfd *, char *, int *, const void *, int); extern char *elfcore_write_ppc_vsx diff --git a/bfd/elf.c b/bfd/elf.c index aac3314..c176256 100644 --- a/bfd/elf.c +++ b/bfd/elf.c @@ -7628,6 +7628,16 @@ elfcore_grok_prxfpreg (bfd *abfd, Elf_Internal_Note *note) return elfcore_make_note_pseudosection (abfd, ".reg-xfp", note); } +/* Linux dumps the Intel XSAVE extended state in a note named "LINUX" + with a note type of NT_X86_XSTATE. Just include the whole note's + contents literally. */ + +static bfd_boolean +elfcore_grok_xstatereg (bfd *abfd, Elf_Internal_Note *note) +{ + return elfcore_make_note_pseudosection (abfd, ".reg-xstate", note); +} + static bfd_boolean elfcore_grok_ppc_vmx (bfd *abfd, Elf_Internal_Note *note) { @@ -7800,7 +7810,10 @@ elfcore_grok_lwpstatus (bfd *abfd, Elf_Internal_Note *note) memcpy (&lwpstat, note->descdata, sizeof (lwpstat)); elf_tdata (abfd)->core_lwpid = lwpstat.pr_lwpid; - elf_tdata (abfd)->core_signal = lwpstat.pr_cursig; + /* Do not overwrite the core signal if it has already been set by + another thread. */ + if (elf_tdata (abfd)->core_signal == 0) + elf_tdata (abfd)->core_signal = lwpstat.pr_cursig; /* Make a ".reg/999" section. */ @@ -7993,6 +8006,13 @@ elfcore_grok_note (bfd *abfd, Elf_Internal_Note *note) else return TRUE; + case NT_X86_XSTATE: /* Linux XSAVE extension */ + if (note->namesz == 6 + && strcmp (note->namedata, "LINUX") == 0) + return elfcore_grok_xstatereg (abfd, note); + else + return TRUE; + case NT_PPC_VMX: if (note->namesz == 6 && strcmp (note->namedata, "LINUX") == 0) @@ -8633,6 +8653,15 @@ elfcore_write_prxfpreg (bfd *abfd, } char * +elfcore_write_xstatereg (bfd *abfd, char *buf, int *bufsiz, + const void *xfpregs, int size) +{ + char *note_name = "LINUX"; + return elfcore_write_note (abfd, buf, bufsiz, + note_name, NT_X86_XSTATE, xfpregs, size); +} + +char * elfcore_write_ppc_vmx (bfd *abfd, char *buf, int *bufsiz, @@ -8681,6 +8710,8 @@ elfcore_write_register_note (bfd *abfd, return elfcore_write_prfpreg (abfd, buf, bufsiz, data, size); if (strcmp (section, ".reg-xfp") == 0) return elfcore_write_prxfpreg (abfd, buf, bufsiz, data, size); + if (strcmp (section, ".reg-xstate") == 0) + return elfcore_write_xstatereg (abfd, buf, bufsiz, data, size); if (strcmp (section, ".reg-ppc-vmx") == 0) return elfcore_write_ppc_vmx (abfd, buf, bufsiz, data, size); if (strcmp (section, ".reg-ppc-vsx") == 0) diff --git a/bfd/elf32-hppa.c b/bfd/elf32-hppa.c index 2a5547b..babe9f2 100644 --- a/bfd/elf32-hppa.c +++ b/bfd/elf32-hppa.c @@ -3388,12 +3388,19 @@ final_link_relocate (asection *input_section, case R_PARISC_DPREL21L: case R_PARISC_DPREL14R: case R_PARISC_DPREL14F: + case R_PARISC_TLS_GD21L: + case R_PARISC_TLS_LDM21L: + case R_PARISC_TLS_IE21L: /* Convert instructions that use the linkage table pointer (r19) to instructions that use the global data pointer (dp). This is the most efficient way of using PIC code in an incomplete executable, but the user must follow the standard runtime conventions for accessing data for this to work. */ - if (orig_r_type == R_PARISC_DLTIND21L) + if (orig_r_type == R_PARISC_DLTIND21L + || (!info->shared + && (r_type == R_PARISC_TLS_GD21L + || r_type == R_PARISC_TLS_LDM21L + || r_type == R_PARISC_TLS_IE21L))) { /* Convert addil instructions if the original reloc was a DLTIND21L. GCC sometimes uses a register other than r19 for @@ -3444,11 +3451,8 @@ final_link_relocate (asection *input_section, case R_PARISC_DLTIND21L: case R_PARISC_DLTIND14R: case R_PARISC_DLTIND14F: - case R_PARISC_TLS_GD21L: case R_PARISC_TLS_GD14R: - case R_PARISC_TLS_LDM21L: case R_PARISC_TLS_LDM14R: - case R_PARISC_TLS_IE21L: case R_PARISC_TLS_IE14R: value -= elf_gp (input_section->output_section->owner); break; diff --git a/bfd/som.c b/bfd/som.c index 7a034b1..fbdc2b4 100644 --- a/bfd/som.c +++ b/bfd/som.c @@ -6324,6 +6324,7 @@ som_bfd_link_split_section (bfd *abfd ATTRIBUTE_UNUSED, asection *sec) #define som_close_and_cleanup som_bfd_free_cached_info #define som_read_ar_hdr _bfd_generic_read_ar_hdr +#define som_write_ar_hdr _bfd_generic_write_ar_hdr #define som_openr_next_archived_file bfd_generic_openr_next_archived_file #define som_get_elt_at_index _bfd_generic_get_elt_at_index #define som_generic_stat_arch_elt bfd_generic_stat_arch_elt diff --git a/bfd/version.h b/bfd/version.h index 61fb4a2..51418c7 100644 --- a/bfd/version.h +++ b/bfd/version.h @@ -1,4 +1,4 @@ -#define BFD_VERSION_DATE 20100128 +#define BFD_VERSION_DATE 20100203 #define BFD_VERSION @bfd_version@ #define BFD_VERSION_STRING @bfd_version_package@ @bfd_version_string@ #define REPORT_BUGS_TO @report_bugs_to@ diff --git a/configure b/configure index ad16b8f..e6cde58 100755 --- a/configure +++ b/configure @@ -5466,18 +5466,38 @@ if test -d ${srcdir}/gcc && test "x$have_gmp" = xno; then have_gmp=yes saved_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $gmpinc" - # Check GMP actually works - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for correct version of gmp.h" >&5 -$as_echo_n "checking for correct version of gmp.h... " >&6; } + # Check for the recommended and required versions of GMP. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the correct version of gmp.h" >&5 +$as_echo_n "checking for the correct version of gmp.h... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include "gmp.h" +int +main () +{ + + #define GCC_GMP_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) + #define GCC_GMP_VERSION GCC_GMP_VERSION_NUM(__GNU_MP_VERSION,__GNU_MP_VERSION_MINOR,__GNU_MP_VERSION_PATCHLEVEL) + #if GCC_GMP_VERSION < GCC_GMP_VERSION_NUM(4,2,0) + choke me + #endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include "gmp.h" +#include int main () { - #if __GNU_MP_VERSION < 4 || (__GNU_MP_VERSION == 4 && __GNU_MP_VERSION_MINOR < 2) + #define GCC_GMP_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) + #define GCC_GMP_VERSION GCC_GMP_VERSION_NUM(__GNU_MP_VERSION,__GNU_MP_VERSION_MINOR,__GNU_MP_VERSION_PATCHLEVEL) + #if GCC_GMP_VERSION < GCC_GMP_VERSION_NUM(4,3,2) choke me #endif @@ -5489,6 +5509,11 @@ if ac_fn_c_try_compile "$LINENO"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: buggy but acceptable" >&5 +$as_echo "buggy but acceptable" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; }; have_gmp=no fi @@ -5496,8 +5521,9 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext # If we have GMP, check the MPFR version. if test x"$have_gmp" = xyes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for correct version of mpfr.h" >&5 -$as_echo_n "checking for correct version of mpfr.h... " >&6; } + # Check for the recommended and required versions of MPFR. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the correct version of mpfr.h" >&5 +$as_echo_n "checking for the correct version of mpfr.h... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -5523,7 +5549,7 @@ int main () { - #if MPFR_VERSION < MPFR_VERSION_NUM(2,3,2) + #if MPFR_VERSION < MPFR_VERSION_NUM(2,4,2) choke me #endif @@ -5548,6 +5574,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext # Check for the MPC header version. if test x"$have_gmp" = xyes ; then + # Check for the recommended and required versions of MPC. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the correct version of mpc.h" >&5 $as_echo_n "checking for the correct version of mpc.h... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -5557,7 +5584,23 @@ int main () { - #if MPC_VERSION < MPC_VERSION_NUM (0,8,0) + #if MPC_VERSION < MPC_VERSION_NUM(0,8,0) + choke me + #endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ + + #if MPC_VERSION < MPC_VERSION_NUM(0,8,1) choke me #endif @@ -5569,6 +5612,11 @@ if ac_fn_c_try_compile "$LINENO"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: buggy but acceptable" >&5 +$as_echo "buggy but acceptable" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; }; have_gmp=no fi @@ -5624,8 +5672,10 @@ rm -f core conftest.err conftest.$ac_objext \ CFLAGS="$saved_CFLAGS" +# The library versions listed in the error message below should match +# the HARD-minimums enforced above. if test x$have_gmp != xyes; then - as_fn_error "Building GCC requires GMP 4.2+, MPFR 2.3.2+ and MPC 0.8.0+. + as_fn_error "Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+. Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify their locations. Source code for these libraries can be found at their respective hosting sites as well as at diff --git a/configure.ac b/configure.ac index 75af4e5..be6337b 100644 --- a/configure.ac +++ b/configure.ac @@ -1341,18 +1341,27 @@ if test -d ${srcdir}/gcc && test "x$have_gmp" = xno; then have_gmp=yes saved_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $gmpinc" - # Check GMP actually works - AC_MSG_CHECKING([for correct version of gmp.h]) + # Check for the recommended and required versions of GMP. + AC_MSG_CHECKING([for the correct version of gmp.h]) AC_TRY_COMPILE([#include "gmp.h"],[ - #if __GNU_MP_VERSION < 4 || (__GNU_MP_VERSION == 4 && __GNU_MP_VERSION_MINOR < 2) + #define GCC_GMP_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) + #define GCC_GMP_VERSION GCC_GMP_VERSION_NUM(__GNU_MP_VERSION,__GNU_MP_VERSION_MINOR,__GNU_MP_VERSION_PATCHLEVEL) + #if GCC_GMP_VERSION < GCC_GMP_VERSION_NUM(4,2,0) choke me #endif - ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); have_gmp=no]) + ], AC_TRY_COMPILE([#include ],[ + #define GCC_GMP_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) + #define GCC_GMP_VERSION GCC_GMP_VERSION_NUM(__GNU_MP_VERSION,__GNU_MP_VERSION_MINOR,__GNU_MP_VERSION_PATCHLEVEL) + #if GCC_GMP_VERSION < GCC_GMP_VERSION_NUM(4,3,2) + choke me + #endif + ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([buggy but acceptable])]), + [AC_MSG_RESULT([no]); have_gmp=no]) # If we have GMP, check the MPFR version. if test x"$have_gmp" = xyes; then - dnl MPFR 2.3.1 is acceptable, but MPFR 2.3.2 is better. - AC_MSG_CHECKING([for correct version of mpfr.h]) + # Check for the recommended and required versions of MPFR. + AC_MSG_CHECKING([for the correct version of mpfr.h]) AC_TRY_COMPILE([#include #include ],[ #if MPFR_VERSION < MPFR_VERSION_NUM(2,3,1) @@ -1360,7 +1369,7 @@ if test -d ${srcdir}/gcc && test "x$have_gmp" = xno; then #endif ], AC_TRY_COMPILE([#include #include ],[ - #if MPFR_VERSION < MPFR_VERSION_NUM(2,3,2) + #if MPFR_VERSION < MPFR_VERSION_NUM(2,4,2) choke me #endif ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([buggy but acceptable])]), @@ -1369,12 +1378,18 @@ if test -d ${srcdir}/gcc && test "x$have_gmp" = xno; then # Check for the MPC header version. if test x"$have_gmp" = xyes ; then + # Check for the recommended and required versions of MPC. AC_MSG_CHECKING([for the correct version of mpc.h]) AC_TRY_COMPILE([#include ],[ - #if MPC_VERSION < MPC_VERSION_NUM (0,8,0) + #if MPC_VERSION < MPC_VERSION_NUM(0,8,0) choke me #endif - ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); have_gmp=no]) + ], AC_TRY_COMPILE([#include ],[ + #if MPC_VERSION < MPC_VERSION_NUM(0,8,1) + choke me + #endif + ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([buggy but acceptable])]), + [AC_MSG_RESULT([no]); have_gmp=no]) fi # Now check the MPFR library. @@ -1406,8 +1421,10 @@ if test -d ${srcdir}/gcc && test "x$have_gmp" = xno; then CFLAGS="$saved_CFLAGS" +# The library versions listed in the error message below should match +# the HARD-minimums enforced above. if test x$have_gmp != xyes; then - AC_MSG_ERROR([Building GCC requires GMP 4.2+, MPFR 2.3.2+ and MPC 0.8.0+. + AC_MSG_ERROR([Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+. Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify their locations. Source code for these libraries can be found at their respective hosting sites as well as at diff --git a/gdb/ChangeLog b/gdb/ChangeLog index db65d6d..c81a7c6 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,192 @@ +2010-02-02 Tom Tromey + + * valops.c (value_cast_structs): Try downcasting using the RTTI + type. + +2010-02-02 Tom Tromey + + * gnu-v2-abi.c: Don't include gnu-v2-abi.h. + (gnuv2_baseclass_offset): Now static. + * Makefile.in (HFILES_NO_SRCDIR): Remove gnu-v2-abi.h. + * gnu-v2-abi.h: Remove. + +2010-02-02 Tom Tromey + + * m2-typeprint.c (m2_record_fields): Don't use + TYPE_DECLARED_TYPE. + * gdbtypes.h (TYPE_DECLARED_CLASS): New macro. + (struct main_type) : New field. + (struct cplus_struct_type) : Remove. + : Move earlier. + (DECLARED_TYPE_CLASS, DECLARED_TYPE_UNION, DECLARED_TYPE_STRUCT) + (DECLARED_TYPE_TEMPLATE): Remove. + (TYPE_DECLARED_TYPE): Remove. + * gdbtypes.c (lookup_union): Don't use TYPE_DECLARED_TYPE. + * dwarf2read.c (read_structure_type): Set TYPE_DECLARED_CLASS. + * c-typeprint.c (c_type_print_base): Use TYPE_DECLARED_CLASS, not + TYPE_DECLARED_TYPE. + +2010-02-02 Tom Tromey + + PR c++/11226, PR c++/9629, PR c++/9688, PR c++/8890: + * valops.c (search_struct_field): Compute nbases after calling + CHECK_TYPEDEF. + (check_field): Call CHECK_TYPEDEF. + * cp-valprint.c (cp_print_value): Pass correct address to + baseclass_offset. Fix check for virtual base past the end of the + object. Don't offset address passed to cp_print_value_fields or + apply_val_pretty_printer. + (cp_print_value_fields): Fix call to val_print. + (cp_print_value_fields_rtti): New function. + * c-valprint.c (c_val_print): Use cp_print_value_fields_rtti. + * p-valprint.c (pascal_object_print_value_fields): Fix call to + val_print. + * python/py-prettyprint.c (apply_val_pretty_printer): Add embedded + offset to address. + * language.h (struct language_defn) : Document. + * c-lang.h (cp_print_value_fields_rtti): Declare. + +2010-02-01 Jan Kratochvil + + PR libc/11214: + * linux-low.c (linux_tracefork_child) [!(__UCLIBC__ && HAS_NOMMU)]: New. + (linux_test_for_tracefork): Move `stack' into [__UCLIBC__ && HAS_NOMMU]. + (linux_test_for_tracefork) [!(__UCLIBC__ && HAS_NOMMU)]: New. + +2010-02-01 Michael Matz + Daniel Jacobowitz + + * i386-tdep.c (i386_frame_cache): Assume valid anonymous + functions use a frame pointer. + +2010-02-01 Jan Kratochvil + + * solib-svr4.c (scan_dyntag): New variable dyn_addr. Replace gdb_assert + by a conditional setting DYN_ADDR. Use DYN_ADDR. + * config/djgpp/fnchange.lst: Add translations for + symbol-without-target_section.exp and symbol-without-target_section.c. + +2010-02-01 Daniel Jacobowitz + + * gdbarch.sh: Set LANG and LC_ALL to C, not c. + (remote_breakpoint_for_pc): Correct invalid_p check. + * gdbarch.c: Regenerated. + +2010-02-01 Daniel Jacobowitz + + * arm-tdep.c (arm_find_mapping_symbol): New function, from + arm_pc_is_thumb. + (arm_pc_is_thumb): Use arm_find_mapping_symbol. + (extend_buffer_earlier): New function. + (MAX_IT_BLOCK_PREFIX, IT_SCAN_THRESHOLD): New constants. + (arm_adjust_breakpoint_address): New function. + (arm_gdbarch_init): Register arm_adjust_breakpoint_address. + +2010-02-01 Daniel Jacobowitz hooks/post-receive -- Repository for Project Archer.