From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19995 invoked by alias); 22 Sep 2011 21:20:26 -0000 Mailing-List: contact archer-commits-help@sourceware.org; run by ezmlm Sender: Precedence: bulk List-Post: List-Help: List-Subscribe: Received: (qmail 19929 invoked by uid 9674); 22 Sep 2011 21:20:25 -0000 Date: Thu, 22 Sep 2011 21:20:00 -0000 Message-ID: <20110922212025.19914.qmail@sourceware.org> From: jkratoch@sourceware.org To: archer-commits@sourceware.org Subject: [SCM] archer-jankratochvil-entryval: Merge branch 'pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp-entrybtref' into pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp-entrybtref-final X-Git-Refname: refs/heads/archer-jankratochvil-entryval X-Git-Reftype: branch X-Git-Oldrev: e8311f98e46380573aa28eab1b58f382e1112124 X-Git-Newrev: df814bdbbc76f65a62f12697bd8586440e0499a5 X-SW-Source: 2011-q3/txt/msg00149.txt.bz2 List-Id: The branch, archer-jankratochvil-entryval has been updated via df814bdbbc76f65a62f12697bd8586440e0499a5 (commit) via cf9b702afce435447eb2e82d2efe2f3a1e4df2d1 (commit) via 0e2a97bf13353b8f918f805fcdfb393fb3d50543 (commit) via 950ed3ea16824c40f1e23a29a2aa57ae4fbb9a11 (commit) via 6407f3de632d5923de7162f9441988eca517dcb3 (commit) via ae1e257f814112ab4b46260e4d6f919e37cc5285 (commit) via 5898589d30f2daa7a4c3c4a0aee2df73ae6de356 (commit) via 1f5cd4cb0e6c4b3ca96e78678b285b36b1dcea7f (commit) via 4b0aa2586bbd5894bfcb1a2a5f37b36ceafd1a26 (commit) via 3247264b1a27a9f06eb7ea21b48ca9fba50c5d6b (commit) via d79a676cb5b55eee8b0a022372989b609f2909db (commit) via 9881e98cb9fe8caf1c3ff9510db00c843dcb77c9 (commit) via 3b9698e7a398f74e77e9226b42686d3ed72fb2a9 (commit) via 36067e72216c70f318319e21eebeb17b2c3ac990 (commit) via bc6a4108a0706fddd5266a0130ebbc86b074d825 (commit) via 04b16148d032c27c7c01ba41ee21a125b008e806 (commit) via 60d38c725cfd9c9bc8a557d8a1aa7bf4afabcab0 (commit) via fc6f0c054beadce0ab0819d84b45337187010cad (commit) via 3926c6165da5176f3cac5fa3b94291896cb1599d (commit) via 6aa68330e61f155f7b4f92f8124a303e015eb465 (commit) via 65f3eb3e7fd442f7b932d9e0187eb17cff756c00 (commit) via 7ebecdc022207ab3c5bc9474469274a82dc162a5 (commit) via 02ab174244b595484ea05d1aaf0ca9a46466cfe5 (commit) via 27188e81fa8f01c8b1f6ab3502c470096c45bd1c (commit) via 9c5120013daab0e197038f73788ad36d81bdd65c (commit) via 42b0a89ba60936910216f803670c75a3585fcc66 (commit) via a3086f1764d548cc8e727be83799e51097beaf54 (commit) via a88c782ccab99eb0f04159ec987b4d4bd72a384f (commit) via 3a63cc0973619425dc4abe8350296166fa05a63c (commit) via 0e323b8f4b078a2fc8832b488393b7b9dc319741 (commit) via bf6eee817b272214a34b857e71deddfe3af13105 (commit) via fe6432e6dfe4ee5694075a3555241db962a4e694 (commit) via f3e41cf293b2081d5bb0dfbd27ed83640d235e9b (commit) via 46a9c49fec086ccd462270aae1c0f3d3ed3dd69e (commit) from e8311f98e46380573aa28eab1b58f382e1112124 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit df814bdbbc76f65a62f12697bd8586440e0499a5 Merge: e8311f9 cf9b702 Author: Jan Kratochvil Date: Thu Sep 22 23:20:05 2011 +0200 Merge branch 'pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp-entrybtref' into pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp-entrybtref-final commit cf9b702afce435447eb2e82d2efe2f3a1e4df2d1 Merge: 36067e7 0e2a97b Author: Jan Kratochvil Date: Thu Sep 22 23:20:04 2011 +0200 Merge branch 'pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp' into pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp-entrybtref commit 0e2a97bf13353b8f918f805fcdfb393fb3d50543 Merge: 98f8df2 950ed3e Author: Jan Kratochvil Date: Thu Sep 22 23:20:04 2011 +0200 Merge branch 'pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref' into pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp commit 950ed3ea16824c40f1e23a29a2aa57ae4fbb9a11 Merge: 88402e3 6407f3d Author: Jan Kratochvil Date: Thu Sep 22 23:20:03 2011 +0200 Merge branch 'pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull' into pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref commit 6407f3de632d5923de7162f9441988eca517dcb3 Merge: 59164ba ae1e257 Author: Jan Kratochvil Date: Thu Sep 22 23:20:03 2011 +0200 Merge branch 'pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt' into pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull commit ae1e257f814112ab4b46260e4d6f919e37cc5285 Merge: 321a11d 5898589 Author: Jan Kratochvil Date: Thu Sep 22 23:20:02 2011 +0200 Merge branch 'pending-funcstuff-basic-tailread-tailframe-selftail-printarg' into pending-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt commit 5898589d30f2daa7a4c3c4a0aee2df73ae6de356 Merge: 4506030 1f5cd4c Author: Jan Kratochvil Date: Thu Sep 22 23:20:01 2011 +0200 Merge branch 'pending-funcstuff-basic-tailread-tailframe-selftail' into pending-funcstuff-basic-tailread-tailframe-selftail-printarg commit 1f5cd4cb0e6c4b3ca96e78678b285b36b1dcea7f Merge: 6f90fc0 4b0aa25 Author: Jan Kratochvil Date: Thu Sep 22 23:20:00 2011 +0200 Merge branch 'pending-funcstuff-basic-tailread-tailframe' into pending-funcstuff-basic-tailread-tailframe-selftail commit 4b0aa2586bbd5894bfcb1a2a5f37b36ceafd1a26 Merge: bc6a410 3247264 Author: Jan Kratochvil Date: Thu Sep 22 23:20:00 2011 +0200 Merge branch 'pending-funcstuff-basic-tailread' into pending-funcstuff-basic-tailread-tailframe commit 3247264b1a27a9f06eb7ea21b48ca9fba50c5d6b Merge: e773948 d79a676 Author: Jan Kratochvil Date: Thu Sep 22 23:19:59 2011 +0200 Merge branch 'pending-funcstuff-basic' into pending-funcstuff-basic-tailread commit d79a676cb5b55eee8b0a022372989b609f2909db Merge: 80e619b 9881e98 Author: Jan Kratochvil Date: Thu Sep 22 23:19:58 2011 +0200 Merge branch 'pending-funcstuff' into pending-funcstuff-basic commit 9881e98cb9fe8caf1c3ff9510db00c843dcb77c9 Merge: 364175f 3b9698e Author: Jan Kratochvil Date: Thu Sep 22 23:19:57 2011 +0200 Merge branch 'pending' into pending-funcstuff commit 3b9698e7a398f74e77e9226b42686d3ed72fb2a9 Merge: cee205d 04b1614 Author: Jan Kratochvil Date: Thu Sep 22 23:19:55 2011 +0200 Merge remote-tracking branch 'gdb/master' into pending commit 36067e72216c70f318319e21eebeb17b2c3ac990 Author: Jan Kratochvil Date: Thu Sep 22 23:19:38 2011 +0200 . commit bc6a4108a0706fddd5266a0130ebbc86b074d825 Author: Jan Kratochvil Date: Thu Sep 22 23:17:00 2011 +0200 . commit 04b16148d032c27c7c01ba41ee21a125b008e806 Author: Tristan Gingold Date: Thu Sep 22 10:22:26 2011 +0000 2011-09-22 Tristan Gingold * fork-child.c (fork_inferior): Add exec_fun parameter. Call exec_fun or execvp. * inferior.h: Adjust prototype. * gnu-nat.c (gnu_create_inferior): Adjust fork_inferior call. * inf-ttrace.c (inf_ttrace_create_inferior): Ditto. * inf-ptrace.c (inf_ptrace_create_inferior): Ditto. * procfs.c (procfs_create_inferior): Ditto. * darwin-nat.c (darwin_execvp): New function. (darwin_create_inferior): Use it. commit 60d38c725cfd9c9bc8a557d8a1aa7bf4afabcab0 Author: Tristan Gingold Date: Thu Sep 22 08:35:40 2011 +0000 bfd/ 2011-09-22 Tristan Gingold * configure.in: Bump version to 2.22.51 * configure: Regenerate. commit fc6f0c054beadce0ab0819d84b45337187010cad Author: andreast Date: Thu Sep 22 04:58:22 2011 +0000 2011-09-22 Andreas Tobler * lib/gdb.exp (gdb_compile): Set rpath and remove -ldl from the list of compilation switches for <*-*-freebsd*>. commit 3926c6165da5176f3cac5fa3b94291896cb1599d Author: qiyao Date: Thu Sep 22 02:58:30 2011 +0000 gdb/ * infrun.c (context_switch): Print debug message when switching to a different thread. commit 6aa68330e61f155f7b4f92f8124a303e015eb465 Author: Alan Modra Date: Thu Sep 22 00:00:05 2011 +0000 daily update commit 65f3eb3e7fd442f7b932d9e0187eb17cff756c00 Author: gdbadmin Date: Thu Sep 22 00:00:03 2011 +0000 *** empty log message *** commit 7ebecdc022207ab3c5bc9474469274a82dc162a5 Author: David S. Miller Date: Wed Sep 21 20:49:11 2011 +0000 Annotate sparc objects with cpu hardware capabilities used. bfd/ * elfxx-sparc.c (_bfd_sparc_elf_merge_private_bfd_data): New. * elfxx-sparc.h: Declare it. * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Call it. * elf64-sparc.c (elf64_sparc_merge_private_bfd_data): Likewise. binutils/ * readelf.c (display_sparc_hwcaps): New. (display_sparc_gnu_attribute): New. (process_sparc_specific): New. (process_arch_specific): When EM_SPARC, EM_SPARC32PLUS, or EM_SPARCV9 invoke process_sparc_specific. gas/ * config/tc-sparc.c (hwcap_seen): New bitmask, defined when not TE_SOLARIS. (sparc_ip): When not TE_SOLARIS, accumulate hwcap bits from sparc_opcode->flags of instruction into hwcap_seen. (sparc_md_end): Create Tag_GNU_Sparc_HWCAPS attribute if hwcap_seen is non-zero and not TE_SOLARIS. gas/testsuite/ * gas/sparc/hpcvis3.s: Update for fixed fchksum16 mnemonic. * gas/sparc/hpcvis3.d: Likewise. include/elf/ * sparc.h (Tag_GNU_Sparc_HWCAPS): New object attribute. (ELF_SPARC_HWCAP_*): New HWCAPS bitmask values. include/opcode/ * sparc.h (struct sparc_opcode): Expand 'flags' to unsigned int. (F_MUL32, F_DIV32, F_FSMULD, 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): New flag bits. opcodes/ * sparc-opc.c (sparc_opcodes): Annotate table with HWCAP flag bits. Fix "fchksm16" mnemonic. commit 02ab174244b595484ea05d1aaf0ca9a46466cfe5 Author: Ulrich Weigand Date: Wed Sep 21 17:00:21 2011 +0000 * s390-tdep.c (s390_function_arg_pass_by_reference): Handle complex and vector types. (s390_return_value_convention): Likewise. (s390_value_from_register): Call check_typedef. (extend_simple_arg): Likewise. (alignment_of): Likewise. (s390_push_dummy_call): Likewise. (s390_return_value): Likewise. commit 27188e81fa8f01c8b1f6ab3502c470096c45bd1c Author: Ulrich Weigand Date: Wed Sep 21 16:49:14 2011 +0000 Fix ChangeLog dates. commit 9c5120013daab0e197038f73788ad36d81bdd65c Author: Ulrich Weigand Date: Wed Sep 21 16:15:26 2011 +0000 * linux-arm-low.c (struct arm_linux_hwbp_cap): Remove. (arm_linux_hwbp_cap): New static variable. (arm_linux_get_hwbp_cap): Replace by ... (arm_linux_init_hwbp_cap): ... this new function. (arm_linux_get_hw_breakpoint_count): Use arm_linux_hwbp_cap. (arm_linux_get_hw_watchpoint_count): Likewise. (arm_linux_get_hw_watchpoint_max_length): Likewise. (arm_arch_setup): Call arm_linux_init_hwbp_cap. (arm_prepare_to_resume): Use perror_with_name instead of error. commit 42b0a89ba60936910216f803670c75a3585fcc66 Author: Joseph Myers Date: Wed Sep 21 15:21:25 2011 +0000 * event-top.c (async_disconnect): If an exception is thrown from quit_cover, call pop_all_targets. Use TRY_CATCH instead of catch_errors. * top.c (quit_cover): Return void and take no arguments. * top.h (quit_cover): Update prototype. commit a3086f1764d548cc8e727be83799e51097beaf54 Author: Ulrich Weigand Date: Wed Sep 21 12:39:50 2011 +0000 * linux-arm-low.c: Include . (PTRACE_GETHBPREGS, PTRACE_SETHBPREGS): Define if necessary. (struct arm_linux_hwbp_cap): New data type. (arm_hwbp_type, arm_hwbp_control_t): New typedefs. (struct arm_linux_hw_breakpoint): New data type. (MAX_BPTS, MAX_WPTS): Define. (struct arch_process_info, struct arch_lwp_info): New data types. (arm_linux_get_hwbp_cap): New function. (arm_linux_get_hw_breakpoint_count): Likewise. (arm_linux_get_hw_watchpoint_count): Likewise. (arm_linux_get_hw_watchpoint_max_length): Likewise. (arm_hwbp_control_initialize): Likewise. (arm_hwbp_control_is_enabled): Likewise. (arm_hwbp_control_is_initialized): Likewise. (arm_hwbp_control_disable): Likewise. (arm_linux_hw_breakpoint_equal): Likewise. (arm_linux_hw_point_initialize): Likewise. (struct update_registers_data): New data structure. (update_registers_callback: New function. (arm_insert_point): Likewise. (arm_remove_point): Likewise. (arm_stopped_by_watchpoint): Likewise. (arm_stopped_data_address): Likewise. (arm_new_process): Likewise. (arm_new_thread): Likewise. (arm_prepare_to_resume): Likewise. (the_low_target): Register arm_insert_point, arm_remove_point, arm_stopped_by_watchpoint, arm_stopped_data_address, arm_new_process, arm_new_thread, and arm_prepare_to_resume. commit a88c782ccab99eb0f04159ec987b4d4bd72a384f Author: Tristan Gingold Date: Wed Sep 21 10:10:10 2011 +0000 2011-09-21 Tristan Gingold * mach-o.c (bfd_mach_o_convert_section_name_to_bfd): Add comment. Deals with size limited strings. (bfd_mach_o_build_commands): Initialize more fields. commit 3a63cc0973619425dc4abe8350296166fa05a63c Author: gdbadmin Date: Wed Sep 21 00:00:33 2011 +0000 *** empty log message *** commit 0e323b8f4b078a2fc8832b488393b7b9dc319741 Author: Alan Modra Date: Wed Sep 21 00:00:07 2011 +0000 daily update commit bf6eee817b272214a34b857e71deddfe3af13105 Author: Joseph Myers Date: Tue Sep 20 15:19:23 2011 +0000 * mi/mi-main.c (mi_load_progress): Restore saved_uiout value to current_uiout, not uiout. commit fe6432e6dfe4ee5694075a3555241db962a4e694 Author: Alan Modra Date: Tue Sep 20 00:00:09 2011 +0000 daily update commit f3e41cf293b2081d5bb0dfbd27ed83640d235e9b Author: gdbadmin Date: Tue Sep 20 00:00:03 2011 +0000 *** empty log message *** commit 46a9c49fec086ccd462270aae1c0f3d3ed3dd69e Author: Doug Evans Date: Mon Sep 19 19:01:38 2011 +0000 * python/py-auto-load.c (source_section_scripts): Fix file descriptor leak. * python/python.c (source_python_script_for_objfile): Tweak comments. ----------------------------------------------------------------------- Summary of changes: bfd/ChangeLog | 18 ++ bfd/configure | 2 +- bfd/configure.in | 2 +- bfd/elf32-sparc.c | 5 +- bfd/elf64-sparc.c | 5 +- bfd/elfxx-sparc.c | 35 +++ bfd/elfxx-sparc.h | 5 +- bfd/mach-o.c | 9 +- bfd/version.h | 2 +- gdb/ChangeLog | 48 ++++ gdb/darwin-nat.c | 38 ++++- gdb/dwarf2loc.c | 9 +- gdb/event-top.c | 22 ++- gdb/fork-child.c | 10 +- gdb/gdbserver/ChangeLog | 44 ++++ gdb/gdbserver/linux-arm-low.c | 479 ++++++++++++++++++++++++++++++++++++++++- gdb/gnu-nat.c | 3 +- gdb/inf-ptrace.c | 2 +- gdb/inf-ttrace.c | 2 +- gdb/inferior.h | 4 +- gdb/infrun.c | 2 +- gdb/mi/mi-main.c | 2 +- gdb/procfs.c | 2 +- gdb/python/py-auto-load.c | 16 +- gdb/python/python.c | 7 +- gdb/s390-tdep.c | 27 ++- gdb/testsuite/ChangeLog | 5 + gdb/testsuite/lib/gdb.exp | 2 +- gdb/top.c | 5 +- gdb/top.h | 2 +- gdb/version.in | 2 +- include/elf/ChangeLog | 5 + include/elf/sparc.h | 30 +++- include/opcode/ChangeLog | 7 + include/opcode/sparc.h | 37 +++- opcodes/ChangeLog | 5 + opcodes/sparc-opc.c | 458 ++++++++++++++++++++-------------------- 37 files changed, 1063 insertions(+), 295 deletions(-) First 500 lines of diff: diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 3521289..684a74d 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,21 @@ +2011-09-22 Tristan Gingold + + * configure.in: Bump version to 2.22.51 + * configure: Regenerate. + +2011-09-21 David S. Miller + + * elfxx-sparc.c (_bfd_sparc_elf_merge_private_bfd_data): New. + * elfxx-sparc.h: Declare it. + * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Call it. + * elf64-sparc.c (elf64_sparc_merge_private_bfd_data): Likewise. + +2011-09-21 Tristan Gingold + + * mach-o.c (bfd_mach_o_convert_section_name_to_bfd): Add comment. + Deals with size limited strings. + (bfd_mach_o_build_commands): Initialize more fields. + 2011-09-15 H.J. Lu PR ld/13177 diff --git a/bfd/configure b/bfd/configure index 06f7839..96a8f75 100755 --- a/bfd/configure +++ b/bfd/configure @@ -3988,7 +3988,7 @@ fi # Define the identity of the package. PACKAGE=bfd - VERSION=2.21.53 + VERSION=2.22.51 cat >>confdefs.h <<_ACEOF diff --git a/bfd/configure.in b/bfd/configure.in index 530d4ee..2088d62 100644 --- a/bfd/configure.in +++ b/bfd/configure.in @@ -8,7 +8,7 @@ AC_CONFIG_SRCDIR([libbfd.c]) AC_CANONICAL_TARGET AC_ISC_POSIX -AM_INIT_AUTOMAKE(bfd, 2.21.53) +AM_INIT_AUTOMAKE(bfd, 2.22.51) dnl These must be called before LT_INIT, because it may want dnl to call AC_CHECK_PROG. diff --git a/bfd/elf32-sparc.c b/bfd/elf32-sparc.c index 2d9deab..f722fcc 100644 --- a/bfd/elf32-sparc.c +++ b/bfd/elf32-sparc.c @@ -1,6 +1,7 @@ /* SPARC-specific support for 32-bit ELF Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, - 2003, 2004, 2005, 2006, 2007, 2010 Free Software Foundation, Inc. + 2003, 2004, 2005, 2006, 2007, 2010, 2011 + Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -110,7 +111,7 @@ elf32_sparc_merge_private_bfd_data (bfd *ibfd, bfd *obfd) return FALSE; } - return TRUE; + return _bfd_sparc_elf_merge_private_bfd_data (ibfd, obfd); } /* The final processing done just before writing out the object file. diff --git a/bfd/elf64-sparc.c b/bfd/elf64-sparc.c index c4e97a7..f5bfe75 100644 --- a/bfd/elf64-sparc.c +++ b/bfd/elf64-sparc.c @@ -1,6 +1,7 @@ /* SPARC-specific support for 64-bit ELF Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, - 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. + 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 + Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -714,7 +715,7 @@ elf64_sparc_merge_private_bfd_data (bfd *ibfd, bfd *obfd) return FALSE; } } - return TRUE; + return _bfd_sparc_elf_merge_private_bfd_data (ibfd, obfd); } /* MARCO: Set the correct entry size for the .stab section. */ diff --git a/bfd/elfxx-sparc.c b/bfd/elfxx-sparc.c index d72dcba..438b7f5 100644 --- a/bfd/elfxx-sparc.c +++ b/bfd/elfxx-sparc.c @@ -4754,3 +4754,38 @@ _bfd_sparc_elf_plt_sym_val (bfd_vma i, const asection *plt, const arelent *rel) else return rel->address; } + +/* Merge backend specific data from an object file to the output + object file when linking. */ + +bfd_boolean +_bfd_sparc_elf_merge_private_bfd_data (bfd *ibfd, bfd *obfd) +{ + obj_attribute *in_attr, *in_attrs; + obj_attribute *out_attr, *out_attrs; + + if (!elf_known_obj_attributes_proc (obfd)[0].i) + { + /* This is the first object. Copy the attributes. */ + _bfd_elf_copy_obj_attributes (ibfd, obfd); + + /* Use the Tag_null value to indicate the attributes have been + initialized. */ + elf_known_obj_attributes_proc (obfd)[0].i = 1; + + return TRUE; + } + + in_attrs = elf_known_obj_attributes (ibfd)[OBJ_ATTR_GNU]; + out_attrs = elf_known_obj_attributes (obfd)[OBJ_ATTR_GNU]; + + in_attr = &in_attrs[Tag_GNU_Sparc_HWCAPS]; + out_attr = &out_attrs[Tag_GNU_Sparc_HWCAPS]; + + out_attr->i |= in_attr->i; + + /* Merge Tag_compatibility attributes and any common GNU ones. */ + _bfd_elf_merge_object_attributes (ibfd, obfd); + + return TRUE; +} diff --git a/bfd/elfxx-sparc.h b/bfd/elfxx-sparc.h index 36748ec..d95e825 100644 --- a/bfd/elfxx-sparc.h +++ b/bfd/elfxx-sparc.h @@ -1,5 +1,6 @@ /* SPARC ELF specific backend routines. - Copyright 2005, 2006, 2007, 2009, 2010 Free Software Foundation, Inc. + Copyright 2005, 2006, 2007, 2009, 2010, 2011 + Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -146,3 +147,5 @@ extern bfd_boolean _bfd_sparc_elf_object_p (bfd *); extern bfd_vma _bfd_sparc_elf_plt_sym_val (bfd_vma, const asection *, const arelent *); +extern bfd_boolean _bfd_sparc_elf_merge_private_bfd_data + (bfd *, bfd *); diff --git a/bfd/mach-o.c b/bfd/mach-o.c index efc58f5..91f0306 100644 --- a/bfd/mach-o.c +++ b/bfd/mach-o.c @@ -183,6 +183,9 @@ bfd_mach_o_normalize_section_name (const char *segname, const char *sectname, } } +/* Convert Mach-O section name to BFD. Try to use standard names, otherwise + forge a new name. SEGNAME and SECTNAME are 16 bytes strings. */ + static void bfd_mach_o_convert_section_name_to_bfd (bfd *abfd, const char *segname, const char *sectname, @@ -199,7 +202,7 @@ bfd_mach_o_convert_section_name_to_bfd if (*name) return; - len = strlen (segname) + 1 + strlen (sectname) + 1; + len = 16 + 1 + 16 + 1; /* Put "LC_SEGMENT." prefix if the segment name is weird (ie doesn't start with an underscore. */ @@ -214,7 +217,7 @@ bfd_mach_o_convert_section_name_to_bfd res = bfd_alloc (abfd, len); if (res == NULL) return; - snprintf (res, len, "%s%s.%s", pfx, segname, sectname); + snprintf (res, len, "%s%.16s.%.16s", pfx, segname, sectname); *name = res; *flags = SEC_NO_FLAGS; } @@ -1406,6 +1409,8 @@ bfd_mach_o_build_commands (bfd *abfd) | BFD_MACH_O_PROT_EXECUTE; seg->initprot = seg->maxprot; seg->flags = 0; + seg->sect_head = NULL; + seg->sect_tail = NULL; /* Create Mach-O sections. */ target_index = 0; diff --git a/bfd/version.h b/bfd/version.h index 86b7ae6..1b321b0 100644 --- a/bfd/version.h +++ b/bfd/version.h @@ -1,4 +1,4 @@ -#define BFD_VERSION_DATE 20110919 +#define BFD_VERSION_DATE 20110922 #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/gdb/ChangeLog b/gdb/ChangeLog index 053c6ef..4dbb6c1 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,51 @@ +2011-09-22 Tristan Gingold + + * fork-child.c (fork_inferior): Add exec_fun parameter. + Call exec_fun or execvp. + * inferior.h: Adjust prototype. + * gnu-nat.c (gnu_create_inferior): Adjust fork_inferior call. + * inf-ttrace.c (inf_ttrace_create_inferior): Ditto. + * inf-ptrace.c (inf_ptrace_create_inferior): Ditto. + * procfs.c (procfs_create_inferior): Ditto. + * darwin-nat.c (darwin_execvp): New function. + (darwin_create_inferior): Use it. + +2011-09-22 Yao Qi + + * infrun.c (context_switch): Print debug message when switching to + a different thread. + +2011-09-21 Ulrich Weigand + + * s390-tdep.c (s390_function_arg_pass_by_reference): Handle + complex and vector types. + (s390_return_value_convention): Likewise. + + (s390_value_from_register): Call check_typedef. + (extend_simple_arg): Likewise. + (alignment_of): Likewise. + (s390_push_dummy_call): Likewise. + (s390_return_value): Likewise. + +2011-09-21 Joseph Myers + + * event-top.c (async_disconnect): If an exception is thrown from + quit_cover, call pop_all_targets. Use TRY_CATCH instead of + catch_errors. + * top.c (quit_cover): Return void and take no arguments. + * top.h (quit_cover): Update prototype. + +2011-09-20 Joseph Myers + + * mi/mi-main.c (mi_load_progress): Restore saved_uiout value to + current_uiout, not uiout. + +2011-09-19 Doug Evans + + * python/py-auto-load.c (source_section_scripts): Fix file + descriptor leak. + * python/python.c (source_python_script_for_objfile): Tweak comments. + 2011-09-18 Yao Qi Ulrich Weigand diff --git a/gdb/darwin-nat.c b/gdb/darwin-nat.c index 06a1558..7c0ff5b 100644 --- a/gdb/darwin-nat.c +++ b/gdb/darwin-nat.c @@ -53,6 +53,7 @@ #include #include #include +#include #include #include @@ -1507,12 +1508,47 @@ darwin_ptrace_him (int pid) } static void +darwin_execvp (const char *file, char * const argv[], char * const env[]) +{ + posix_spawnattr_t attr; + short ps_flags = 0; + int retval; + + retval = posix_spawnattr_init (&attr); + if (retval != 0) + { + fprintf_unfiltered + (gdb_stderr, "Cannot initialize attribute for posix_spawn\n"); + return; + } + + /* Do like execve: replace the image. */ + ps_flags = POSIX_SPAWN_SETEXEC; + + /* Disable ASLR. The constant doesn't look to be available outside the + kernel include files. */ +#ifndef _POSIX_SPAWN_DISABLE_ASLR +#define _POSIX_SPAWN_DISABLE_ASLR 0x0100 +#endif + ps_flags |= _POSIX_SPAWN_DISABLE_ASLR; + retval = posix_spawnattr_setflags (&attr, ps_flags); + if (retval != 0) + { + fprintf_unfiltered + (gdb_stderr, "Cannot set posix_spawn flags\n"); + return; + } + + posix_spawnp (NULL, argv[0], NULL, &attr, argv, env); +} + +static void darwin_create_inferior (struct target_ops *ops, char *exec_file, char *allargs, char **env, int from_tty) { /* Do the hard work. */ fork_inferior (exec_file, allargs, env, darwin_ptrace_me, darwin_ptrace_him, - darwin_pre_ptrace, NULL); + darwin_pre_ptrace, NULL, darwin_execvp); /* Return now in case of error. */ if (ptid_equal (inferior_ptid, null_ptid)) diff --git a/gdb/dwarf2loc.c b/gdb/dwarf2loc.c index 1e191df..131a2bc 100644 --- a/gdb/dwarf2loc.c +++ b/gdb/dwarf2loc.c @@ -681,9 +681,9 @@ call_site_find_chain_1 (struct gdbarch *gdbarch, CORE_ADDR caller_pc, make_cleanup (VEC_cleanup (call_sitep), &chain); - /* Do not push CALL_SITE to CHAIN. Push there only the first tail call site at - the target's function. All the possible tail call sites in the target's - function will get iterated as already pushed into CHAIN via their + /* Do not push CALL_SITE to CHAIN. Push there only the first tail call site + at the target's function. All the possible tail call sites in the + target's function will get iterated as already pushed into CHAIN via their TAIL_CALL_NEXT. */ call_site = call_site_for_pc (gdbarch, caller_pc); @@ -1115,7 +1115,8 @@ value_of_dwarf_reg_entry (struct type *type, struct frame_info *frame, target_val /* closure */); /* Copy the referencing pointer to the new computed value. */ - memcpy (value_contents_raw (val), value_contents_raw (outer_val), TYPE_LENGTH (checked_type)); + memcpy (value_contents_raw (val), value_contents_raw (outer_val), + TYPE_LENGTH (checked_type)); set_value_lazy (val, 0); return val; diff --git a/gdb/event-top.c b/gdb/event-top.c index ff2aefb..a276690 100644 --- a/gdb/event-top.c +++ b/gdb/event-top.c @@ -870,9 +870,25 @@ handle_sighup (int sig) static void async_disconnect (gdb_client_data arg) { - catch_errors (quit_cover, NULL, - "Could not kill the program being debugged", - RETURN_MASK_ALL); + volatile struct gdb_exception exception; + + TRY_CATCH (exception, RETURN_MASK_ALL) + { + quit_cover (); + } + + if (exception.reason < 0) + { + fputs_filtered ("Could not kill the program being debugged", + gdb_stderr); + exception_print (gdb_stderr, exception); + } + + TRY_CATCH (exception, RETURN_MASK_ALL) + { + pop_all_targets (1); + } + signal (SIGHUP, SIG_DFL); /*FIXME: ??????????? */ raise (SIGHUP); } diff --git a/gdb/fork-child.c b/gdb/fork-child.c index 5dbf1f7..e6408f4 100644 --- a/gdb/fork-child.c +++ b/gdb/fork-child.c @@ -115,6 +115,7 @@ escape_bang_in_quoted_argument (const char *shell_file) pid. EXEC_FILE is the file to run. ALLARGS is a string containing the arguments to the program. ENV is the environment vector to pass. SHELL_FILE is the shell file, or NULL if we should pick + one. EXEC_FUN is the exec(2) function to use, or NULL for the default one. */ /* This function is NOT reentrant. Some of the variables have been @@ -123,7 +124,9 @@ escape_bang_in_quoted_argument (const char *shell_file) int fork_inferior (char *exec_file_arg, char *allargs, char **env, void (*traceme_fun) (void), void (*init_trace_fun) (int), - void (*pre_trace_fun) (void), char *shell_file_arg) + void (*pre_trace_fun) (void), char *shell_file_arg, + void (*exec_fun)(const char *file, char * const *argv, + char * const *env)) { int pid; static char default_shell_file[] = SHELL_FILE; @@ -359,7 +362,10 @@ fork_inferior (char *exec_file_arg, char *allargs, char **env, path to find $SHELL. Rich Pixley says so, and I agree. */ environ = env; - execvp (argv[0], argv); + if (exec_fun != NULL) + (*exec_fun) (argv[0], argv, env); + else + execvp (argv[0], argv); /* If we get here, it's an error. */ save_errno = errno; diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog index b634f5f..be5e5dd 100644 --- a/gdb/gdbserver/ChangeLog +++ b/gdb/gdbserver/ChangeLog @@ -1,3 +1,47 @@ +2011-09-21 Ulrich Weigand + + * linux-arm-low.c (struct arm_linux_hwbp_cap): Remove. + (arm_linux_hwbp_cap): New static variable. + (arm_linux_get_hwbp_cap): Replace by ... + (arm_linux_init_hwbp_cap): ... this new function. + (arm_linux_get_hw_breakpoint_count): Use arm_linux_hwbp_cap. + (arm_linux_get_hw_watchpoint_count): Likewise. + (arm_linux_get_hw_watchpoint_max_length): Likewise. + (arm_arch_setup): Call arm_linux_init_hwbp_cap. + (arm_prepare_to_resume): Use perror_with_name instead of error. + +2011-09-21 Ulrich Weigand + + * linux-arm-low.c: Include . + (PTRACE_GETHBPREGS, PTRACE_SETHBPREGS): Define if necessary. + (struct arm_linux_hwbp_cap): New data type. + (arm_hwbp_type, arm_hwbp_control_t): New typedefs. + (struct arm_linux_hw_breakpoint): New data type. + (MAX_BPTS, MAX_WPTS): Define. + (struct arch_process_info, struct arch_lwp_info): New data types. + (arm_linux_get_hwbp_cap): New function. + (arm_linux_get_hw_breakpoint_count): Likewise. + (arm_linux_get_hw_watchpoint_count): Likewise. + (arm_linux_get_hw_watchpoint_max_length): Likewise. + (arm_hwbp_control_initialize): Likewise. + (arm_hwbp_control_is_enabled): Likewise. + (arm_hwbp_control_is_initialized): Likewise. + (arm_hwbp_control_disable): Likewise. + (arm_linux_hw_breakpoint_equal): Likewise. + (arm_linux_hw_point_initialize): Likewise. + (struct update_registers_data): New data structure. + (update_registers_callback: New function. + (arm_insert_point): Likewise. + (arm_remove_point): Likewise. + (arm_stopped_by_watchpoint): Likewise. + (arm_stopped_data_address): Likewise. + (arm_new_process): Likewise. + (arm_new_thread): Likewise. + (arm_prepare_to_resume): Likewise. + (the_low_target): Register arm_insert_point, arm_remove_point, + arm_stopped_by_watchpoint, arm_stopped_data_address, arm_new_process, + arm_new_thread, and arm_prepare_to_resume. + 2011-09-15 Stan Shebs * server.h (struct emit_ops): Add compare-goto fields. diff --git a/gdb/gdbserver/linux-arm-low.c b/gdb/gdbserver/linux-arm-low.c index babb20c..547292e 100644 --- a/gdb/gdbserver/linux-arm-low.c +++ b/gdb/gdbserver/linux-arm-low.c @@ -26,6 +26,7 @@ #include #endif #include +#include /* Defined in auto-generated files. */ void init_registers_arm (void); @@ -48,6 +49,65 @@ void init_registers_arm_with_neon (void); # define PTRACE_SETVFPREGS 28 #endif +#ifndef PTRACE_GETHBPREGS +#define PTRACE_GETHBPREGS 29 +#define PTRACE_SETHBPREGS 30 +#endif + +/* Information describing the hardware breakpoint capabilities. */ +static struct +{ + unsigned char arch; + unsigned char max_wp_length; + unsigned char wp_count; + unsigned char bp_count; hooks/post-receive -- Repository for Project Archer.