public inbox for archer-commits@sourceware.org help / color / mirror / Atom feed
From: jkratoch@sourceware.org To: archer-commits@sourceware.org Subject: [SCM] master: Merge remote branch 'gdb/master' Date: Thu, 04 Mar 2010 22:28:00 -0000 [thread overview] Message-ID: <20100304222835.13578.qmail@sourceware.org> (raw) The branch, master has been updated via 2b35288411132b75fce60ccad3464bd073d52119 (commit) via 569145aec27fb30f19d29cbad4b4ac6ac2d7b1ac (commit) via f36360e524e44f3b7ecdc61fb80e42fd58c6c612 (commit) via a1490edc7e86ca7d87391706c70ab89f0a997746 (commit) via 9111c036728abb105adcb10628e075d077a36f77 (commit) via 32e6d152b685ace8d3f27a32c27c99f206e4c303 (commit) via 1f45d129fe085ce84fa66d20b9587ff426f7500c (commit) via a1b0b74c2c4185fba42b2198fb429f57216a7097 (commit) via 56e3b00367a23ec5ccbaa37e63405c2f97c9c2f7 (commit) via 4fd8a9865d7e901c418fbfb66cf83e38b7389336 (commit) via 27c36f74c56a394fe2635c288ba4b6168670e7bf (commit) via fcc33f8180a0375fe57baf542f6a39a83da7a729 (commit) via 0ebd6efef3d1fa23cc96c86014559ad32d1a6a99 (commit) via 3019c3cfcb7ba7ba7e4a1e6251397df6fffa151f (commit) via c48c69149c39ffa66702a823f15855485fbaaad1 (commit) via 13f02314106d8d62d70d0362424cd77051a76130 (commit) via c7f35a76b2c6d37e5909383a74bfe893e425d69f (commit) via 68ec7d056169a3250f2e93d7bf0dfa943d6a4a78 (commit) via fbca217ebce918603b2c91c28f35d6bb0c5640e5 (commit) via 6448aace637843e8e7c021d7f8c5d5d5fdd71974 (commit) via bffef5e307cf8d4c793cdcb851a56f6250e31a8e (commit) via 5471d6aee6b7daf86ff36dc35c0993d9fad29848 (commit) via 0a80bc76bcd16cda82a639b90a05c544a67fe70c (commit) via 2b2adaeb003a6fb04b79eeb1ed391cdb58ffe250 (commit) via 4b09efab1cdc4bc6eaab05f6cf44c120b38a715c (commit) via 93f70109e8252edbdb587662787aec940b73d45a (commit) via 770b4b6663cb2397f85a0628f3bd9126b50a70cf (commit) via 86bda87a81664487ff216230c8acf9148bfb116c (commit) via 5009187f09e4dcbbffc78d4f1417602d5dfb82e1 (commit) via 9d625812f24608f99fd99e8591ef3c80d729f9b5 (commit) via 3a18ddeea30dea5222f274e287ccc699c0446590 (commit) via 94a4d5a06ca52328b0d85f4acfb90a674c85a128 (commit) via 9c66cd86a5327e6d87c1ce59f9c7ce5da73f0cae (commit) via bf590a572ff3bd482d409163e138b8eeedc569fb (commit) via c8a32411626edd977c35f850e4970a6290f082db (commit) via 91b6af64553672a42624538f8989229f350eeee9 (commit) from 53082d4bffd1583084c10411a48cf3d7ce984557 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit 2b35288411132b75fce60ccad3464bd073d52119 Merge: 53082d4bffd1583084c10411a48cf3d7ce984557 569145aec27fb30f19d29cbad4b4ac6ac2d7b1ac Author: Jan Kratochvil <jan.kratochvil@redhat.com> Date: Thu Mar 4 23:28:26 2010 +0100 Merge remote branch 'gdb/master' commit 569145aec27fb30f19d29cbad4b4ac6ac2d7b1ac Author: Doug Evans <dje@google.com> Date: Thu Mar 4 19:00:18 2010 +0000 * arm-tdep.c (arm_make_stub_cache): Delete unused locals reg, unwound_fp. commit f36360e524e44f3b7ecdc61fb80e42fd58c6c612 Author: Keith Seitz <keiths@redhat.com> Date: Thu Mar 4 18:38:34 2010 +0000 * linespec.c (decode_line_1): Update comments for is_quote_enclosed. If the filename portion of the linespec was quoted, recheck the remainder for additional quoting. (locate_first_half): Skip over completer chars, too. commit a1490edc7e86ca7d87391706c70ab89f0a997746 Author: Keith Seitz <keiths@redhat.com> Date: Thu Mar 4 18:38:15 2010 +0000 * gdb.cp/overload.exp: Test that the filename portion of a linespec can be quoted. Test that both the filename and function/line portions can be quoted at the same time. commit 9111c036728abb105adcb10628e075d077a36f77 Author: Tom Tromey <tromey@redhat.com> Date: Thu Mar 4 18:21:39 2010 +0000 * printcmd.c (printf_command): Pass dummy argument to printf_filtered. commit 32e6d152b685ace8d3f27a32c27c99f206e4c303 Author: Daniel Jacobowitz <dan@debian.org> Date: Thu Mar 4 17:16:08 2010 +0000 * elf32-arm.c (elf32_arm_output_arch_local_syms): Skip non-program sections. commit 1f45d129fe085ce84fa66d20b9587ff426f7500c Author: Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> Date: Thu Mar 4 17:12:46 2010 +0000 PR libstdc++/32499 * configure.ac (RANLIB): Default to true. (STRIP): Likewise. (RANLIB_FOR_TARGET): Remove superfluous : argument. * configure: Regenerate. commit a1b0b74c2c4185fba42b2198fb429f57216a7097 Author: Doug Evans <dje@google.com> Date: Thu Mar 4 16:39:56 2010 +0000 * arm-tdep.c (arm_stub_unwind_sniffer): Add comment. commit 56e3b00367a23ec5ccbaa37e63405c2f97c9c2f7 Author: Pedro Alves <pedro@codesourcery.com> Date: Thu Mar 4 15:37:23 2010 +0000 gdb/ * breakpoint.c (update_watchpoint): Create a sentinel location if the software watchpoint isn't watching any memory. (breakpoint_address_bits): Skip dummy software watchpoint locations. gdb/testsuite/ * gdb.base/watch-non-mem.c, gdb.base/watch-non-mem.exp: New. commit 4fd8a9865d7e901c418fbfb66cf83e38b7389336 Author: Pedro Alves <pedro@codesourcery.com> Date: Thu Mar 4 14:58:38 2010 +0000 * utils.c (fputs_maybe_filtered): Check if there's already a top level interpreter before dereferencing it. If there isn't one, don't paginate either. commit 27c36f74c56a394fe2635c288ba4b6168670e7bf Author: Daniel Jacobowitz <dan@debian.org> Date: Thu Mar 4 13:42:11 2010 +0000 2010-03-04 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> * arm-tdep.c (arm_pc_is_thumb): Add heuristic that tries to get the state right when single stepping. (arm_get_next_pc_raw, thumb_get_next_pc_raw): New functions. Get the next PC along with the instruction state. (thumb_get_next_pc): Remove. (arm_get_next_pc): Modified to use arm_get_next_pc_raw. commit fcc33f8180a0375fe57baf542f6a39a83da7a729 Author: Hui Zhu <teawater@gmail.com> Date: Thu Mar 4 07:53:18 2010 +0000 2010-03-04 Hui Zhu <teawater@gmail.com> * i386-tdep.c (i386_process_record): Change "addr" to "tmpu64". commit 0ebd6efef3d1fa23cc96c86014559ad32d1a6a99 Author: Alan Modra <amodra@bigpond.net.au> Date: Thu Mar 4 04:01:52 2010 +0000 PR 11302 * dwarf2.c (read_abbrevs): Return NULL on alloc failures. (read_attribute_value, decode_line_info): Likewise. (add_line_info, read_rangelist): Return FALSE on alloc failures. (arange_add, sort_line_sequences): Likewise. (find_abstract_instance_name): Handle failures from called funcs. (scan_unit_for_symbols, parse_comp_unit, decode_line_info): Likewise. (find_line): Realloc to a temp, and handle alloc fail. commit 3019c3cfcb7ba7ba7e4a1e6251397df6fffa151f Author: Pedro Alves <pedro@codesourcery.com> Date: Thu Mar 4 01:06:28 2010 +0000 * utils.c (fputs_maybe_filtered): Always disable pagination if the top level interpreter is MI. commit c48c69149c39ffa66702a823f15855485fbaaad1 Author: Stan Shebs <shebs@apple.com> Date: Thu Mar 4 00:32:49 2010 +0000 2010-03-03 Stan Shebs <stan@codesourcery.com> * remote.c (remote_download_tracepoint): Iterate over locations. * tracepoint.c (validate_actionline): Ditto. (encode_actions): Add location argument. (trace_dump_command): Check all locations to see if stepping frame. commit 13f02314106d8d62d70d0362424cd77051a76130 Author: gdbadmin <gdbadmin@sourceware.org> Date: Thu Mar 4 00:00:33 2010 +0000 *** empty log message *** commit c7f35a76b2c6d37e5909383a74bfe893e425d69f Author: Alan Modra <amodra@bigpond.net.au> Date: Wed Mar 3 23:00:06 2010 +0000 daily update commit 68ec7d056169a3250f2e93d7bf0dfa943d6a4a78 Author: Doug Evans <dje@google.com> Date: Wed Mar 3 22:19:05 2010 +0000 * lib/gdb.exp (gdb_compile_pthreads): Handle case where libc contains libpthread. commit fbca217ebce918603b2c91c28f35d6bb0c5640e5 Author: Doug Evans <dje@google.com> Date: Wed Mar 3 22:13:51 2010 +0000 * gdb.threads/linux-dp.c (shared_random): Call rand instead of rand_r. * gdb.threads/linux-dp.exp: Compile with gdb_compile_pthreads instead of gdb_compile. Add another pattern to match android backtrace. commit 6448aace637843e8e7c021d7f8c5d5d5fdd71974 Author: H.J. Lu <hjl.tools@gmail.com> Date: Wed Mar 3 20:19:48 2010 +0000 Mention improvement for X86 general purpose registers. 2010-03-03 H.J. Lu <hongjiu.lu@intel.com> Eli Zaretskii <eliz@gnu.org> * NEWS: Add X86 general purpose registers section. commit bffef5e307cf8d4c793cdcb851a56f6250e31a8e Author: Tom Tromey <tromey@redhat.com> Date: Wed Mar 3 18:32:43 2010 +0000 PR mi/11098: * varobj.c (install_new_value): Handle case where new print_value is NULL. commit 5471d6aee6b7daf86ff36dc35c0993d9fad29848 Author: Tom Tromey <tromey@redhat.com> Date: Wed Mar 3 18:05:01 2010 +0000 gdb 2010-03-03 Dainis Jonitis <jonitis@gmail.com> PR gdb/11345: * printcmd.c (printf_command): Print end of format string using printf_filtered. gdb/testsuite 2010-03-03 Tom Tromey <tromey@redhat.com> PR gdb/11345: * gdb.base/printcmds.exp (test_printf): Add test. commit 0a80bc76bcd16cda82a639b90a05c544a67fe70c Author: Daniel Jacobowitz <dan@debian.org> Date: Wed Mar 3 17:56:23 2010 +0000 * elf32-arm.c (elf32_arm_output_arch_local_syms): Do not add a mapping symbol to an empty section. commit 2b2adaeb003a6fb04b79eeb1ed391cdb58ffe250 Author: gdbadmin <gdbadmin@sourceware.org> Date: Wed Mar 3 00:00:32 2010 +0000 *** empty log message *** commit 4b09efab1cdc4bc6eaab05f6cf44c120b38a715c Author: Alan Modra <amodra@bigpond.net.au> Date: Tue Mar 2 23:00:06 2010 +0000 daily update commit 93f70109e8252edbdb587662787aec940b73d45a Author: Tom Tromey <tromey@redhat.com> Date: Tue Mar 2 21:46:26 2010 +0000 * mi/mi-cmd-break.c (mi_read_next_line): Add missing 'void'. * defs.h (read_command_lines_1): Add missing 'void'. * cli/cli-script.c (recurse_read_control_structure): Add missing 'void'. (read_next_line): Likewise. (read_command_lines_1): Likewise. commit 770b4b6663cb2397f85a0628f3bd9126b50a70cf Author: Ulrich Weigand <uweigand@de.ibm.com> Date: Tue Mar 2 20:21:06 2010 +0000 * spu-tdep.c (spu_analyze_prologue): Track instruction to store backchain as part of prologue. commit 86bda87a81664487ff216230c8acf9148bfb116c Author: Daniel Jacobowitz <dan@debian.org> Date: Tue Mar 2 17:55:39 2010 +0000 * progspace.c (update_address_spaces): Update inferior address spaces also. commit 5009187f09e4dcbbffc78d4f1417602d5dfb82e1 Author: Doug Evans <dje@google.com> Date: Tue Mar 2 17:19:53 2010 +0000 * dwarf2read.c (add_partial_subprogram): Add missing baseaddr to lowpc,highpc args to addrmap_set_empty. commit 9d625812f24608f99fd99e8591ef3c80d729f9b5 Author: H.J. Lu <hjl.tools@gmail.com> Date: Tue Mar 2 13:14:28 2010 +0000 Support x86 pseudo byte, word and dword registers. gdb/ 2010-03-02 H.J. Lu <hongjiu.lu@intel.com> * amd64-tdep.c (amd64_byte_names): New. (amd64_word_names): Likewise. (amd64_dword_names): Likewise. (amd64_pseudo_register_name): Likewise. (amd64_pseudo_register_read): Likewise. (amd64_pseudo_register_write): Likewise. (amd64_init_abi): Set num_byte_regs, num_word_regs, num_dword_regs and num_mmx_regs. Call set_gdbarch_pseudo_register_read, set_gdbarch_pseudo_register_write and set_tdesc_pseudo_register_name. Don't call set_gdbarch_num_pseudo_regs. Don't set mm0_regnum. * i386-tdep.c (i386_num_mmx_regs): Removed. (i386_num_pseudo_regs): Likewise. (i386_byte_names): New. (i386_word_names): Likewise. (i386_byte_regnum_p): Likewise. (i386_word_regnum_p): Likewise. (i386_mmx_regnum_p): Updated. (i386_pseudo_register_name): Make it global. Handle byte and word pseudo-registers. (i386_pseudo_register_read): Likewise. (i386_pseudo_register_write): Likewise. (i386_pseudo_register_type): Handle byte, word and dword pseudo-registers (i386_register_reggroup_p): Don't include pseudo registers, except for MXX, in any register groups. Don't include pseudo byte, word, dword registers in general_reggroup. (i386_gdbarch_init): Set num_byte_regs, num_word_regs, num_dword_regs, al_regnum, ax_regnum and eax_regnum. Put MMX pseudo-registers after word pseudo-registers. Call set_gdbarch_num_pseudo_regs after calling gdbarch_init_osabi. * i386-tdep.h (gdbarch_tdep): Add num_mmx_regs, num_byte_regs, al_regnum, num_word_regs, ax_regnum, num_dword_regs and eax_regnum. (i386_byte_regnum_p): New. (i386_word_regnum_p): Likewise. (i386_dword_regnum_p): Likewise. (i386_pseudo_register_name): Likewise. (i386_pseudo_register_read): Likewise. (i386_pseudo_register_write): Likewise. gdb/testsuite/ 2010-03-02 H.J. Lu <hongjiu.lu@intel.com> * gdb.arch/amd64-byte.exp: New. * gdb.arch/amd64-dword.exp: Likewise. * gdb.arch/amd64-pseudo.c: Likewise. * gdb.arch/amd64-word.exp: Likewise. * gdb.arch/i386-byte.exp: Likewise. * gdb.arch/i386-pseudo.c: Likewise. * gdb.arch/i386-word.exp: Likewise. commit 3a18ddeea30dea5222f274e287ccc699c0446590 Author: mgretton <mgretton> Date: Tue Mar 2 11:40:23 2010 +0000 * ld/testsuite/ld-arm/arm-merge-incompatible.d: New test. * ld/testsuite/ld-arm/arm-merge-incompatiblea.s: Likewise. * ld/testsuite/ld-arm/arm-merge-incompatibleb.s: Likewise. * ld/testsuite/ld-arm/arm-elf.exp: Run the new test. * bfd/elf32-arm.c (elf32_arm_merge_eabi_attributes): Add a check of the return value from the call to _bfd_elf_merge_object_attributes. commit 94a4d5a06ca52328b0d85f4acfb90a674c85a128 Author: clyon <clyon> Date: Tue Mar 2 08:19:53 2010 +0000 2010-03-02 Christophe Lyon <christophe.lyon@st.com> Alan Modra <amodra@gmail.com> bfd/ * elf32-arm.c (a8_erratum_fix): Add st_type field to record the destination mode of the a8 stub. (elf32_arm_link_hash_table): Add top_id field. (elf32_arm_link_hash_table_create): Initialize top_id. (arm_type_of_stub): Update prototype, st_type can now be updated by this function. Actual destination address in case of PLT is computed here, to help factorizing code. (elf32_arm_stub_name): Update prototype, use stub_type additional parameter to build stub name. (elf32_arm_get_stub_entry): Update prototype, use stub_type additional parameter to build stub entry. (arm_build_one_stub): Use bfd_put_16/bfd_put_32 instead of put_thumb_insn/put_arm_insn as BE8 encoding is now handled later. Call elf32_arm_final_link_relocate to process all in-stub relocations. (elf32_arm_setup_section_lists): Update top_id. (cortex_a8_erratum_scan): Record stub destination mode. (elf32_arm_size_stubs): Update call to arm_type_of_stub according to new prototype. (elf32_arm_final_link_relocate): Enable processing of in-stub REL32 relocations. Rely on arm_type_of_stub to detect if a stub is needed, enabling code factorization. (elf32_arm_final_link): Process stub sections. (elf32_arm_output_map_sym): Add entry to code/data map. ld/testsuite/ * ld-arm/arm-elf.exp: Change .text start address for farcall-thumb-arm tests. Add v4t variant for farcall-mixed-lib test. * ld-arm/farcall-mixed-lib-v4t.d: New test. * ld-arm/farcall-mixed-lib1.s: Don't force armv5t. * ld-arm/farcall-mixed-lib2.s: Likewise. * ld-arm/arm-call.d: Update expected results. * ld-arm/cortex-a8-far.d: Likewise. * ld-arm/farcall-group-size2.d: Likewise. * ld-arm/farcall-group.d: Likewise. * ld-arm/farcall-mix.d: Likewise. * ld-arm/farcall-mix2.d: Likewise. * ld-arm/farcall-mixed-app-v5.d: Likewise. * ld-arm/farcall-mixed-app.d: Likewise. * ld-arm/farcall-mixed-lib.d: Likewise. * ld-arm/farcall-thumb-arm.d: Likewise. * ld-arm/farcall-thumb-arm-blx.d: Likewise. * ld-arm/farcall-thumb-arm-pic-veneer.d: Likewise. * ld-arm/farcall-thumb-arm-blx-pic-veneer.d: Likewise. * ld-arm/farcall-thumb-arm.s: Update test. Add a new call to potentially generate different types of stubs. commit 9c66cd86a5327e6d87c1ce59f9c7ce5da73f0cae Author: David S. Miller <davem@redhat.com> Date: Tue Mar 2 07:42:37 2010 +0000 * elfxx-sparc.c (struct elf_reloc_map): Delete. (sparc_reloc_map): Delete. (_bfd_sparc_elf_reloc_type_lookup): Explicitly handle each relocation type in switch statements. commit bf590a572ff3bd482d409163e138b8eeedc569fb Author: David S. Miller <davem@redhat.com> Date: Tue Mar 2 01:46:08 2010 +0000 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): When STT_GNU_IFUNC and h->def_regular, set h->ref_regular. (allocate_dynrelocs): Only force output of STT_GNU_IFUNC plt entries and dynamic relocations if h->ref_regular. commit c8a32411626edd977c35f850e4970a6290f082db Author: gdbadmin <gdbadmin@sourceware.org> Date: Tue Mar 2 00:00:04 2010 +0000 *** empty log message *** commit 91b6af64553672a42624538f8989229f350eeee9 Author: Alan Modra <amodra@bigpond.net.au> Date: Mon Mar 1 23:00:05 2010 +0000 daily update ----------------------------------------------------------------------- Summary of changes: ChangeLog | 8 + bfd/ChangeLog | 66 ++++++ bfd/dwarf2.c | 179 ++++++++++----- bfd/elf32-arm.c | 279 ++++++++++++++--------- bfd/elfxx-sparc.c | 356 +++++++++++++++++++++--------- bfd/version.h | 2 +- configure | 4 +- configure.ac | 10 +- gdb/ChangeLog | 143 ++++++++++++ gdb/NEWS | 8 + gdb/amd64-tdep.c | 118 ++++++++++- gdb/arm-tdep.c | 123 ++++++----- gdb/breakpoint.c | 22 ++- gdb/cli/cli-script.c | 10 +- gdb/defs.h | 2 +- gdb/dwarf2read.c | 3 +- gdb/i386-tdep.c | 263 +++++++++++++++++++---- gdb/i386-tdep.h | 37 +++ gdb/linespec.c | 32 ++- gdb/mi/mi-cmd-break.c | 2 +- gdb/printcmd.c | 9 +- gdb/progspace.c | 30 ++- gdb/remote.c | 192 +++++++++-------- gdb/spu-tdep.c | 12 +- gdb/testsuite/ChangeLog | 34 +++ gdb/testsuite/gdb.arch/amd64-byte.exp | 121 ++++++++++ gdb/testsuite/gdb.arch/amd64-dword.exp | 123 ++++++++++ gdb/testsuite/gdb.arch/amd64-pseudo.c | 91 ++++++++ gdb/testsuite/gdb.arch/amd64-word.exp | 123 ++++++++++ gdb/testsuite/gdb.arch/i386-byte.exp | 98 ++++++++ gdb/testsuite/gdb.arch/i386-pseudo.c | 51 +++++ gdb/testsuite/gdb.arch/i386-word.exp | 84 +++++++ gdb/testsuite/gdb.base/printcmds.exp | 4 + gdb/testsuite/gdb.base/watch-non-mem.c | 27 +++ gdb/testsuite/gdb.base/watch-non-mem.exp | 40 ++++ gdb/testsuite/gdb.cp/overload.exp | 2 + gdb/testsuite/gdb.threads/linux-dp.c | 3 +- gdb/testsuite/gdb.threads/linux-dp.exp | 6 +- gdb/testsuite/lib/gdb.exp | 2 +- gdb/tracepoint.c | 130 +++++++----- gdb/utils.c | 8 +- gdb/varobj.c | 5 +- gdb/version.in | 2 +- 43 files changed, 2297 insertions(+), 567 deletions(-) create mode 100644 gdb/testsuite/gdb.arch/amd64-byte.exp create mode 100644 gdb/testsuite/gdb.arch/amd64-dword.exp create mode 100644 gdb/testsuite/gdb.arch/amd64-pseudo.c create mode 100644 gdb/testsuite/gdb.arch/amd64-word.exp create mode 100644 gdb/testsuite/gdb.arch/i386-byte.exp create mode 100644 gdb/testsuite/gdb.arch/i386-pseudo.c create mode 100644 gdb/testsuite/gdb.arch/i386-word.exp create mode 100644 gdb/testsuite/gdb.base/watch-non-mem.c create mode 100644 gdb/testsuite/gdb.base/watch-non-mem.exp First 500 lines of diff: diff --git a/ChangeLog b/ChangeLog index eed5123..12f2049 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2010-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + PR libstdc++/32499 + * configure.ac (RANLIB): Default to true. + (STRIP): Likewise. + (RANLIB_FOR_TARGET): Remove superfluous : argument. + * configure: Regenerate. + 2010-02-17 Nick Clifton <nickc@redhat.com> PR 11238 diff --git a/bfd/ChangeLog b/bfd/ChangeLog index f864302..98e14e7 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,69 @@ +2010-03-04 Daniel Jacobowitz <dan@codesourcery.com> + + * elf32-arm.c (elf32_arm_output_arch_local_syms): Skip non-program + sections. + +2010-03-04 Alan Modra <amodra@gmail.com> + + PR 11302 + * dwarf2.c (read_abbrevs): Return NULL on alloc failures. + (read_attribute_value, decode_line_info): Likewise. + (add_line_info, read_rangelist): Return FALSE on alloc failures. + (arange_add, sort_line_sequences): Likewise. + (find_abstract_instance_name): Handle failures from called funcs. + (scan_unit_for_symbols, parse_comp_unit, decode_line_info): Likewise. + (find_line): Realloc to a temp, and handle alloc fail. + +2010-03-03 Daniel Jacobowitz <dan@codesourcery.com> + + * elf32-arm.c (elf32_arm_output_arch_local_syms): Do not add + a mapping symbol to an empty section. + +2010-03-02 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> + + * elf32-arm.c (elf32_arm_merge_eabi_attributes): Add a check of the + return value from the call to _bfd_elf_merge_object_attributes. + +2010-03-02 Christophe Lyon <christophe.lyon@st.com> + Alan Modra <amodra@gmail.com> + + * elf32-arm.c (a8_erratum_fix): Add st_type field to record the + destination mode of the a8 stub. + (elf32_arm_link_hash_table): Add top_id field. + (elf32_arm_link_hash_table_create): Initialize top_id. + (arm_type_of_stub): Update prototype, st_type can now be updated + by this function. Actual destination address in case of PLT is + computed here, to help factorizing code. + (elf32_arm_stub_name): Update prototype, use stub_type additional + parameter to build stub name. + (elf32_arm_get_stub_entry): Update prototype, use stub_type + additional parameter to build stub entry. + (arm_build_one_stub): Use bfd_put_16/bfd_put_32 instead of + put_thumb_insn/put_arm_insn as BE8 encoding is now handled later. + Call elf32_arm_final_link_relocate to process all in-stub + relocations. + (elf32_arm_setup_section_lists): Update top_id. + (cortex_a8_erratum_scan): Record stub destination mode. + (elf32_arm_size_stubs): Update call to arm_type_of_stub according + to new prototype. + (elf32_arm_final_link_relocate): Enable processing of in-stub + REL32 relocations. Rely on arm_type_of_stub to detect if a stub is + needed, enabling code factorization. + (elf32_arm_final_link): Process stub sections. + (elf32_arm_output_map_sym): Add entry to code/data map. + +2010-03-01 David S. Miller <davem@davemloft.net> + + * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): When STT_GNU_IFUNC and + h->def_regular, set h->ref_regular. + (allocate_dynrelocs): Only force output of STT_GNU_IFUNC plt entries + and dynamic relocations if h->ref_regular. + + * elfxx-sparc.c (struct elf_reloc_map): Delete. + (sparc_reloc_map): Delete. + (_bfd_sparc_elf_reloc_type_lookup): Explicitly handle each + relocation type in switch statements. + 2010-02-25 Alan Modra <amodra@gmail.com> PR ld/11304 diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c index 89d9f4b..1eae5e1 100644 --- a/bfd/dwarf2.c +++ b/bfd/dwarf2.c @@ -646,10 +646,12 @@ read_abbrevs (bfd *abfd, bfd_uint64_t offset, struct dwarf2_debug *stash) if (! read_section (abfd, ".debug_abbrev", ".zdebug_abbrev", stash->syms, offset, &stash->dwarf_abbrev_buffer, &stash->dwarf_abbrev_size)) - return 0; + return NULL; amt = sizeof (struct abbrev_info*) * ABBREV_HASH_SIZE; abbrevs = (struct abbrev_info **) bfd_zalloc (abfd, amt); + if (abbrevs == NULL) + return NULL; abbrev_ptr = stash->dwarf_abbrev_buffer + offset; abbrev_number = read_unsigned_leb128 (abfd, abbrev_ptr, &bytes_read); @@ -660,6 +662,8 @@ read_abbrevs (bfd *abfd, bfd_uint64_t offset, struct dwarf2_debug *stash) { amt = sizeof (struct abbrev_info); cur_abbrev = (struct abbrev_info *) bfd_zalloc (abfd, amt); + if (cur_abbrev == NULL) + return NULL; /* Read in abbrev header. */ cur_abbrev->number = abbrev_number; @@ -773,6 +777,8 @@ read_attribute_value (struct attribute *attr, case DW_FORM_block2: amt = sizeof (struct dwarf_block); blk = (struct dwarf_block *) bfd_alloc (abfd, amt); + if (blk == NULL) + return NULL; blk->size = read_2_bytes (abfd, info_ptr); info_ptr += 2; blk->data = read_n_bytes (abfd, info_ptr, blk->size); @@ -782,6 +788,8 @@ read_attribute_value (struct attribute *attr, case DW_FORM_block4: amt = sizeof (struct dwarf_block); blk = (struct dwarf_block *) bfd_alloc (abfd, amt); + if (blk == NULL) + return NULL; blk->size = read_4_bytes (abfd, info_ptr); info_ptr += 4; blk->data = read_n_bytes (abfd, info_ptr, blk->size); @@ -811,6 +819,8 @@ read_attribute_value (struct attribute *attr, case DW_FORM_block: amt = sizeof (struct dwarf_block); blk = (struct dwarf_block *) bfd_alloc (abfd, amt); + if (blk == NULL) + return NULL; blk->size = read_unsigned_leb128 (abfd, info_ptr, &bytes_read); info_ptr += bytes_read; blk->data = read_n_bytes (abfd, info_ptr, blk->size); @@ -820,6 +830,8 @@ read_attribute_value (struct attribute *attr, case DW_FORM_block1: amt = sizeof (struct dwarf_block); blk = (struct dwarf_block *) bfd_alloc (abfd, amt); + if (blk == NULL) + return NULL; blk->size = read_1_byte (abfd, info_ptr); info_ptr += 1; blk->data = read_n_bytes (abfd, info_ptr, blk->size); @@ -987,7 +999,7 @@ new_line_sorts_after (struct line_info *new_line, struct line_info *line) highest to lowest VMA (with possible duplicates); that is, line_info->prev_line always accesses an equal or smaller VMA. */ -static void +static bfd_boolean add_line_info (struct line_info_table *table, bfd_vma address, char *filename, @@ -999,6 +1011,9 @@ add_line_info (struct line_info_table *table, struct line_sequence* seq = table->sequences; struct line_info* info = (struct line_info *) bfd_alloc (table->abfd, amt); + if (info == NULL) + return FALSE; + /* Set member data of 'info'. */ info->address = address; info->line = line; @@ -1008,8 +1023,9 @@ add_line_info (struct line_info_table *table, if (filename && filename[0]) { info->filename = (char *) bfd_alloc (table->abfd, strlen (filename) + 1); - if (info->filename) - strcpy (info->filename, filename); + if (info->filename == NULL) + return FALSE; + strcpy (info->filename, filename); } else info->filename = NULL; @@ -1045,6 +1061,8 @@ add_line_info (struct line_info_table *table, /* Start a new line sequence. */ amt = sizeof (struct line_sequence); seq = (struct line_sequence *) bfd_malloc (amt); + if (seq == NULL) + return FALSE; seq->low_pc = address; seq->prev_sequence = table->sequences; seq->last_line = info; @@ -1092,6 +1110,7 @@ add_line_info (struct line_info_table *table, if (address < seq->low_pc) seq->low_pc = address; } + return TRUE; } /* Extract a fully qualified filename from a line info table. @@ -1158,8 +1177,9 @@ concat_filename (struct line_info_table *table, unsigned int file) return strdup (filename); } -static void -arange_add (bfd *abfd, struct arange *first_arange, bfd_vma low_pc, bfd_vma high_pc) +static bfd_boolean +arange_add (bfd *abfd, struct arange *first_arange, + bfd_vma low_pc, bfd_vma high_pc) { struct arange *arange; @@ -1168,7 +1188,7 @@ arange_add (bfd *abfd, struct arange *first_arange, bfd_vma low_pc, bfd_vma high { first_arange->low = low_pc; first_arange->high = high_pc; - return; + return TRUE; } /* Next see if we can cheaply extend an existing range. */ @@ -1178,12 +1198,12 @@ arange_add (bfd *abfd, struct arange *first_arange, bfd_vma low_pc, bfd_vma high if (low_pc == arange->high) { arange->high = high_pc; - return; + return TRUE; } if (high_pc == arange->low) { arange->low = low_pc; - return; + return TRUE; } arange = arange->next; } @@ -1192,10 +1212,13 @@ arange_add (bfd *abfd, struct arange *first_arange, bfd_vma low_pc, bfd_vma high /* Need to allocate a new arange and insert it into the arange list. Order isn't significant, so just insert after the first arange. */ arange = (struct arange *) bfd_zalloc (abfd, sizeof (*arange)); + if (arange == NULL) + return FALSE; arange->low = low_pc; arange->high = high_pc; arange->next = first_arange->next; first_arange->next = arange; + return TRUE; } /* Compare function for line sequences. */ @@ -1224,7 +1247,7 @@ compare_sequences (const void* a, const void* b) /* Sort the line sequences for quick lookup. */ -static void +static bfd_boolean sort_line_sequences (struct line_info_table* table) { bfd_size_type amt; @@ -1235,11 +1258,13 @@ sort_line_sequences (struct line_info_table* table) bfd_vma last_high_pc; if (num_sequences == 0) - return; + return TRUE; /* Allocate space for an array of sequences. */ amt = sizeof (struct line_sequence) * num_sequences; sequences = (struct line_sequence *) bfd_alloc (table->abfd, amt); + if (sequences == NULL) + return FALSE; /* Copy the linked list into the array, freeing the original nodes. */ seq = table->sequences; @@ -1285,6 +1310,7 @@ sort_line_sequences (struct line_info_table* table) table->sequences = sequences; table->num_sequences = num_sequences; + return TRUE; } /* Decode the line number information for UNIT. */ @@ -1305,10 +1331,12 @@ decode_line_info (struct comp_unit *unit, struct dwarf2_debug *stash) if (! read_section (abfd, ".debug_line", ".zdebug_line", stash->syms, unit->line_offset, &stash->dwarf_line_buffer, &stash->dwarf_line_size)) - return 0; + return NULL; amt = sizeof (struct line_info_table); table = (struct line_info_table *) bfd_alloc (abfd, amt); + if (table == NULL) + return NULL; table->abfd = abfd; table->comp_dir = unit->comp_dir; @@ -1385,10 +1413,7 @@ decode_line_info (struct comp_unit *unit, struct dwarf2_debug *stash) tmp = (char **) bfd_realloc (table->dirs, amt); if (tmp == NULL) - { - free (table->dirs); - return NULL; - } + goto fail; table->dirs = tmp; } @@ -1411,11 +1436,7 @@ decode_line_info (struct comp_unit *unit, struct dwarf2_debug *stash) tmp = (struct fileinfo *) bfd_realloc (table->files, amt); if (tmp == NULL) - { - free (table->files); - free (table->dirs); - return NULL; - } + goto fail; table->files = tmp; } @@ -1466,7 +1487,8 @@ decode_line_info (struct comp_unit *unit, struct dwarf2_debug *stash) * lh.minimum_instruction_length; line += lh.line_base + (adj_opcode % lh.line_range); /* Append row to matrix using current values. */ - add_line_info (table, address, filename, line, column, 0); + if (!add_line_info (table, address, filename, line, column, 0)) + goto line_fail; if (address < low_pc) low_pc = address; if (address > high_pc) @@ -1484,13 +1506,15 @@ decode_line_info (struct comp_unit *unit, struct dwarf2_debug *stash) { case DW_LNE_end_sequence: end_sequence = 1; - add_line_info (table, address, filename, line, column, - end_sequence); + if (!add_line_info (table, address, filename, line, column, + end_sequence)) + goto line_fail; if (address < low_pc) low_pc = address; if (address > high_pc) high_pc = address; - arange_add (unit->abfd, &unit->arange, low_pc, high_pc); + if (!arange_add (unit->abfd, &unit->arange, low_pc, high_pc)) + goto line_fail; break; case DW_LNE_set_address: address = read_address (unit, line_ptr); @@ -1507,12 +1531,7 @@ decode_line_info (struct comp_unit *unit, struct dwarf2_debug *stash) amt *= sizeof (struct fileinfo); tmp = (struct fileinfo *) bfd_realloc (table->files, amt); if (tmp == NULL) - { - free (table->files); - free (table->dirs); - free (filename); - return NULL; - } + goto line_fail; table->files = tmp; } table->files[table->num_files].name = cur_file; @@ -1534,14 +1553,15 @@ decode_line_info (struct comp_unit *unit, struct dwarf2_debug *stash) default: (*_bfd_error_handler) (_("Dwarf Error: mangled line number section.")); bfd_set_error (bfd_error_bad_value); - free (filename); - free (table->files); - free (table->dirs); - return NULL; + line_fail: + if (filename != NULL) + free (filename); + goto fail; } break; case DW_LNS_copy: - add_line_info (table, address, filename, line, column, 0); + if (!add_line_info (table, address, filename, line, column, 0)) + goto line_fail; if (address < low_pc) low_pc = address; if (address > high_pc) @@ -1601,9 +1621,17 @@ decode_line_info (struct comp_unit *unit, struct dwarf2_debug *stash) free (filename); } - sort_line_sequences (table); + if (sort_line_sequences (table)) + return table; - return table; + fail: + if (table->sequences != NULL) + free (table->sequences); + if (table->files != NULL) + free (table->files); + if (table->dirs != NULL) + free (table->dirs); + return NULL; } /* If ADDR is within TABLE set the output parameters and return TRUE, @@ -1838,7 +1866,10 @@ find_abstract_instance_name (struct comp_unit *unit, { for (i = 0; i < abbrev->num_attrs; ++i) { - info_ptr = read_attribute (&attr, &abbrev->attrs[i], unit, info_ptr); + info_ptr = read_attribute (&attr, &abbrev->attrs[i], unit, + info_ptr); + if (info_ptr == NULL) + break; switch (attr.name) { case DW_AT_name: @@ -1858,11 +1889,12 @@ find_abstract_instance_name (struct comp_unit *unit, } } } - return (name); + return name; } -static void -read_rangelist (struct comp_unit *unit, struct arange *arange, bfd_uint64_t offset) +static bfd_boolean +read_rangelist (struct comp_unit *unit, struct arange *arange, + bfd_uint64_t offset) { bfd_byte *ranges_ptr; bfd_vma base_address = unit->base_address; @@ -1870,7 +1902,7 @@ read_rangelist (struct comp_unit *unit, struct arange *arange, bfd_uint64_t offs if (! unit->stash->dwarf_ranges_buffer) { if (! read_debug_ranges (unit)) - return; + return FALSE; } ranges_ptr = unit->stash->dwarf_ranges_buffer + offset; @@ -1889,8 +1921,13 @@ read_rangelist (struct comp_unit *unit, struct arange *arange, bfd_uint64_t offs if (low_pc == -1UL && high_pc != -1UL) base_address = high_pc; else - arange_add (unit->abfd, arange, base_address + low_pc, base_address + high_pc); + { + if (!arange_add (unit->abfd, arange, + base_address + low_pc, base_address + high_pc)) + return FALSE; + } } + return TRUE; } /* DWARF2 Compilation unit functions. */ @@ -1938,11 +1975,11 @@ scan_unit_for_symbols (struct comp_unit *unit) abbrev = lookup_abbrev (abbrev_number,unit->abbrevs); if (! abbrev) { - (*_bfd_error_handler) (_("Dwarf Error: Could not find abbrev number %u."), - abbrev_number); + (*_bfd_error_handler) + (_("Dwarf Error: Could not find abbrev number %u."), + abbrev_number); bfd_set_error (bfd_error_bad_value); - free (nested_funcs); - return FALSE; + goto fail; } var = NULL; @@ -1952,6 +1989,8 @@ scan_unit_for_symbols (struct comp_unit *unit) { bfd_size_type amt = sizeof (struct funcinfo); func = (struct funcinfo *) bfd_zalloc (abfd, amt); + if (func == NULL) + goto fail; func->tag = abbrev->tag; func->prev_func = unit->function_table; unit->function_table = func; @@ -1973,6 +2012,8 @@ scan_unit_for_symbols (struct comp_unit *unit) { bfd_size_type amt = sizeof (struct varinfo); var = (struct varinfo *) bfd_zalloc (abfd, amt); + if (var == NULL) + goto fail; var->tag = abbrev->tag; var->stack = 1; var->prev_var = unit->variable_table; @@ -1987,13 +2028,16 @@ scan_unit_for_symbols (struct comp_unit *unit) for (i = 0; i < abbrev->num_attrs; ++i) { info_ptr = read_attribute (&attr, &abbrev->attrs[i], unit, info_ptr); + if (info_ptr == NULL) + return FALSE; if (func) hooks/post-receive -- Repository for Project Archer.
next reply other threads:[~2010-03-04 22:28 UTC|newest] Thread overview: 120+ messages / expand[flat|nested] mbox.gz Atom feed top 2010-03-04 22:28 jkratoch [this message] -- strict thread matches above, loose matches on Subject: below -- 2011-02-01 19:25 jkratoch 2011-01-29 16:44 jkratoch 2011-01-25 12:53 pmuldoon 2011-01-25 9:10 jkratoch 2011-01-17 13:31 pmuldoon 2011-01-15 11:35 jkratoch 2011-01-14 8:04 jkratoch 2011-01-10 12:00 pmuldoon 2011-01-10 9:10 jkratoch 2011-01-07 5:57 jkratoch 2011-01-06 12:22 pmuldoon 2011-01-04 4:59 jkratoch 2010-12-31 22:30 jkratoch 2010-12-30 7:22 jkratoch 2010-12-22 20:11 swagiaal 2010-12-14 17:13 jkratoch 2010-12-14 8:27 pmuldoon 2010-12-10 17:16 jkratoch 2010-12-08 15:55 pmuldoon 2010-12-06 6:40 jkratoch 2010-12-04 1:03 jkratoch 2010-12-02 15:47 pmuldoon 2010-11-30 0:15 jkratoch 2010-11-28 18:02 jkratoch 2010-11-28 5:41 jkratoch 2010-11-16 5:04 jkratoch 2010-11-12 11:47 pmuldoon 2010-11-11 11:39 pmuldoon 2010-11-10 9:09 pmuldoon 2010-11-08 9:34 pmuldoon 2010-11-07 18:15 jkratoch 2010-10-22 14:28 pmuldoon 2010-10-20 12:48 pmuldoon 2010-10-19 16:01 pmuldoon 2010-10-17 20:27 jkratoch 2010-10-15 17:07 jkratoch 2010-10-14 20:55 jkratoch 2010-10-13 15:06 jkratoch 2010-10-12 16:45 jkratoch 2010-10-11 9:21 jkratoch 2010-10-11 8:47 pmuldoon 2010-10-06 9:00 pmuldoon 2010-09-30 8:56 pmuldoon 2010-09-27 9:48 jkratoch 2010-09-20 12:34 pmuldoon 2010-09-16 20:49 ratmice 2010-09-04 19:59 jkratoch 2010-09-03 7:26 jkratoch 2010-09-02 15:04 jkratoch 2010-09-01 15:29 swagiaal 2010-08-23 13:54 jkratoch 2010-08-20 17:49 jkratoch 2010-08-12 15:19 swagiaal 2010-08-06 15:32 jkratoch 2010-07-29 19:17 swagiaal 2010-07-22 16:57 jkratoch 2010-07-22 16:26 jkratoch 2010-07-20 18:51 jkratoch 2010-07-09 8:09 jkratoch 2010-06-24 8:55 jkratoch 2010-06-23 20:56 jkratoch 2010-06-17 12:53 jkratoch 2010-06-07 8:14 jkratoch 2010-06-02 19:03 jkratoch 2010-05-28 21:27 jkratoch 2010-05-26 18:36 swagiaal 2010-05-17 18:02 jkratoch 2010-05-17 1:04 jkratoch 2010-05-10 19:30 swagiaal 2010-05-05 14:24 swagiaal 2010-05-03 13:49 jkratoch 2010-05-03 8:48 jkratoch 2010-05-02 23:10 jkratoch 2010-05-02 15:54 jkratoch 2010-04-30 7:11 jkratoch 2010-04-28 11:44 jkratoch 2010-04-25 20:22 jkratoch 2010-04-09 20:37 jkratoch 2010-04-07 1:41 jkratoch 2010-04-05 10:11 jkratoch 2010-04-04 11:58 jkratoch 2010-03-22 23:58 jkratoch 2010-03-20 17:23 jkratoch 2010-03-18 10:01 jkratoch 2010-03-17 18:04 jkratoch 2010-03-12 18:35 jkratoch 2010-03-01 22:16 jkratoch 2010-02-26 22:16 jkratoch 2010-02-26 17:50 jkratoch 2010-02-17 16:01 swagiaal 2010-02-13 22:51 jkratoch 2010-02-11 12:51 jkratoch 2010-02-09 19:01 jkratoch 2010-02-08 21:46 jkratoch 2010-02-03 4:38 jkratoch 2010-01-31 17:25 jkratoch 2010-01-28 19:17 swagiaal 2010-01-28 10:56 jkratoch 2010-01-27 19:21 swagiaal 2010-01-27 8:08 jkratoch 2010-01-26 18:58 swagiaal 2010-01-20 21:48 jkratoch 2010-01-15 2:09 jkratoch 2010-01-15 0:52 jkratoch 2010-01-14 22:23 jkratoch 2010-01-13 20:53 jkratoch 2010-01-10 20:47 jkratoch 2010-01-09 10:03 jkratoch 2010-01-09 8:41 jkratoch 2010-01-08 19:16 jkratoch 2009-12-06 17:43 jkratoch 2009-12-03 16:32 jkratoch 2009-11-30 13:59 jkratoch 2009-11-24 21:21 jkratoch 2009-11-21 9:24 jkratoch 2009-11-20 21:06 jkratoch 2009-11-20 15:57 jkratoch 2009-11-17 19:59 jkratoch 2009-11-16 2:22 jkratoch
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20100304222835.13578.qmail@sourceware.org \ --to=jkratoch@sourceware.org \ --cc=archer-commits@sourceware.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).