public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
* [SCM]  gbenson/rtld-probes: Merge
@ 2013-06-04 11:50 gary
  0 siblings, 0 replies; only message in thread
From: gary @ 2013-06-04 11:50 UTC (permalink / raw)
  To: archer-commits

The branch, gbenson/rtld-probes has been updated
       via  ac9f669afd07f0638ab2420cb6e38230aefd1f15 (commit)
       via  be33098462e01e61d6c9df8e3ad701763c8b0217 (commit)
       via  1f6268b42e3698c70d6d6c1402f59a800b410c92 (commit)
       via  a22c0ea0e9b3f4c44d781b12215b35a482951170 (commit)
       via  1831b542dc3b53aa442cd02af1219a24dca0f9a6 (commit)
       via  4d5659573cb61ae9196d95ef3eba14cf0b9fd685 (commit)
       via  c527d3ccdbfcfe1570f45293e13d2a538e66dc21 (commit)
       via  b1c4bf43f28eaeb557ef691faf6a2783c981c8dc (commit)
       via  cb449309cafb9f8cdc0246c0b1158b1b76254dbc (commit)
       via  4a1b49ebff71d76ea500fac82540f13bf9067c1d (commit)
       via  5f3ca9b0398abbe61e460800a0fc2e6463ee59af (commit)
       via  0a1e6a1891814a2fa65b72a265d2cd52edb3e296 (commit)
       via  87c4ecaa180e412ecc937c8b557ca903c3430877 (commit)
       via  f32f285fa9f4d8ba2584573af3141e9d67b44b04 (commit)
       via  77295e379f6e8cad6b54c6ad19a03448fd802e33 (commit)
       via  8b26d772baef73317f2c92931f991a9afd115652 (commit)
       via  cf5c1b327ec68f1a7e8115296d0aa4162340981a (commit)
       via  61c4e04fba503dc0f487e0f27aa3e488f0d738d0 (commit)
       via  80577ad5b120d6cbc554d256ccf7cfb20e979ac4 (commit)
       via  6dd130dcda5fe19dcc00e86ce61f001d43437016 (commit)
       via  11a307da49aba205e4e478c8265e149763730189 (commit)
       via  4d4f46ce89bfcd710420e953a49dfb7e59ce7b4f (commit)
       via  1eac09fbb5a0298d689e9a2948fd456aee72da69 (commit)
       via  6868414a37859e8f455d7180bb243d89d8889120 (commit)
       via  772ba0012061d30809885e891dd022bb999115de (commit)
       via  9a9a177185ba7001908265435d00f0eb2ebfe3cf (commit)
       via  c260d1c1076b7376edf5e78a35387e490a6a7c1b (commit)
       via  d8122e3514d9882af265f540f7685c0e8b0134e9 (commit)
       via  55b9ec9fe370014dafe940eb31b2606ac3bbce98 (commit)
       via  b1f88d6b4edadd346881ab799412d3b77c964741 (commit)
       via  493ae1d2b38acb0253e698d847efed3b2c01000a (commit)
       via  cd35c0f4d29935cedbe55903abab49fda6376d90 (commit)
       via  60adeb1b551428ac5ae33365c80981db3c676cce (commit)
       via  0abc7a2bdbfb6c3e08c7d89dae7a50297c18ccd0 (commit)
       via  232cf858dc9952f123510778333b2e8ab2dc56f9 (commit)
       via  2ddc5b46e057658b157c26045d74d7d3bbc0c271 (commit)
       via  c5b4e875304c5faf3658e6de1e45d27e4284976c (commit)
       via  5e779115609a2353599ff1a8949b1f562075030f (commit)
       via  5a6ba404ea5b0b9966902369a19218194bb15b76 (commit)
       via  4284b1547b5e95baa1d4121fce9879cf055b8f72 (commit)
       via  071bf1d63dae39f38e3c59208d436c71ec22e534 (commit)
       via  fa5ef4de3adb10fbe3bfb7e758434b315fad9fea (commit)
       via  f2be34e2d2574ca696ad9dfc7122a24a0d582fb7 (commit)
       via  db1d5ba6b2833a2b4fdd360032e5090e9e575bff (commit)
       via  69342dcbbf2ae3793102b3e1450d337910a30e97 (commit)
       via  45e4ebaf10de18859d5b1160854b4b4f9fc7593e (commit)
       via  40228b361e712cd089fff53b7156e2dbfa5181b4 (commit)
       via  a4e3ade070c28d8a59db0413c62720b2f89d4b7c (commit)
       via  95a415b69583178c93bac6b1660e5f2077962200 (commit)
       via  f5603f3daefe89a252201aff5ac977e75309c080 (commit)
       via  dc4a73ac5c6cb797b92c8884d7266d7f4a7b506a (commit)
       via  0caafac6f41bfdb77efa9e2828c2bac9d7d93860 (commit)
       via  b888adba161204724ff72d0c18f78c63e9322a95 (commit)
       via  fe3883c5a86d66f9c29239b71226fae0f358ba08 (commit)
       via  88f77f91c9b0a13109802f2bb44a9d42c16f91ea (commit)
       via  2ee2dd5484d40040254d5ac82c3d07de5057abfe (commit)
       via  5810e2b26a920f0a8eb4ea29a3a8084ad04ebc91 (commit)
       via  8a710779dd2d0e55b9d03e3b6f07ee9ffef590b9 (commit)
       via  b86531d6abb565e5973706271b514c8b92e7629b (commit)
       via  8b50a13a31f4ef572b16144fe832bcd2fd08ece7 (commit)
       via  fcf3be2b715c1defb0e199ac01be903d301372a8 (commit)
       via  0a35c53f8ae0814dddc3a45fc48564945c314a2c (commit)
       via  943e0de82e5997ef54acb296fe71501e5617802a (commit)
       via  ee6093e8c41b580edb74f55987184fc8cc1a1cab (commit)
       via  4d22a621a9e2da0f0d3c8b173f7eabe2f63eda44 (commit)
       via  9cbd8f96c2e4dc667e9a579d448ef473932c4053 (commit)
       via  b2d3b11cb56003dcd2442504ebf204741b335160 (commit)
       via  3782d0506611e59426e64e8c2fecaabf1808d991 (commit)
       via  da4b06c8aab71118e3cac9272b853f60c61e1e1a (commit)
       via  81edeea14f3be9e195bc4ffe8e9eedc78ba2e442 (commit)
       via  89f0731330d8f81551d5c0625dd960eaaa074f07 (commit)
       via  a84f05f9a66d63ec7e940baa636594f11f206a2d (commit)
       via  507bba2bccd95f8eca72ce16af960d2ab1c78773 (commit)
       via  3db02f15de87fa55252f36a5533531a6d2547faf (commit)
       via  4f4a50060707b7f669d7962f6f5976d629d9da90 (commit)
       via  12e31f35b30518836aca25487f8d812804d059e7 (commit)
       via  e7a11fc8cf574dc6a945d1d662c9f38ae4bc79b7 (commit)
       via  365cccf226609730d3e1c82b244b8736682c3cfc (commit)
       via  3f5220a976bd61ecfc9eb432b37f32cb7818a13f (commit)
       via  c26ab3582fedb5cf90072c977586c1cab5cc25c5 (commit)
       via  7f86a6d009ded8da07b2a4fee69adf2f67321da5 (commit)
       via  d1c0e9f41778fa9ead792c53a6b5ae0ad153712f (commit)
       via  de902ddc680881f39f113b08f1b7a7e5081e8c65 (commit)
       via  e76d8f495098c50581b07afaea62b54e0344f301 (commit)
       via  5b8ad497ea4d9a2aedd35c62961fefda16262bd4 (commit)
       via  b6aaf3987b359baea3223e09ec8c43781001696b (commit)
       via  f77992820c37a1e7053e32e95a9103ab0134bcac (commit)
       via  ae0abbcfaffe5460d26641ccd19dd7ee022a81f4 (commit)
       via  b8aa5d2d87720b19aff29ab5210bb7a4fb0f89c3 (commit)
       via  369e9c4f566a6c7c44481fc8434d5008efb61b32 (commit)
       via  d6b71a966ab398e67b2011bdf0f24dc9ca51f9b4 (commit)
       via  07cbf74b89eed441820ac018d0cb2ecd21746f86 (commit)
       via  d8e2260eaed12c7d11e885e82d252b7ea66d6e04 (commit)
       via  80cc28dff3a8cd1ab736016e5c3c3c57125ca09b (commit)
       via  c3c37e6644ca04bd1022dc58e315024789f35083 (commit)
       via  affc6055a06debad749a30a843ea804ebf574601 (commit)
       via  3eb2a51c46804f0be530893e94af559abee8b4f8 (commit)
       via  dc494069c836882834b58d9ddcce138664506407 (commit)
       via  df1d3df3301756235f18919ccea03f9353225eea (commit)
       via  546eb05e3a883af5fcf1513c386eb0db749cb43c (commit)
       via  c86349e2b62a613c60a568a906ebec927aa159ec (commit)
       via  bde79dd528687683b9a3041b91b2c9fce3fb8eed (commit)
       via  8183711475fe01dbe481c63eaf2f7e9194331f05 (commit)
       via  ac26ece4e3fb025f54f1cf56a226a3ad77416586 (commit)
       via  0354583c5e842015f3b54116c89110d43e63b2f0 (commit)
       via  aa5b4b2cb2665ee0fc06885f311f1f2c519ed337 (commit)
       via  091e0eecf207d7557cecb3c015d477fe90f9f560 (commit)
       via  5c0483514a78fd1d07d255241c19b8556dd6a1c6 (commit)
       via  e3f520c455ed113e0eee8e4e85e6f56f3fdb71a7 (commit)
       via  d3a851bf984a159b45f4d92f51ef90d49c84627e (commit)
       via  b0b72d14aefe9252bf4638087fe60174a3a9e10f (commit)
       via  0d49fd8a9a093ecb6f33960a6d2f8793d7958e94 (commit)
       via  86b94567968e87f6ace1dbd63dc913f0284fd133 (commit)
       via  0fd73668f658231452795b53ce348b2ef1eb72e8 (commit)
       via  67bd2c9af4e5366af4ecab5e18ab3d2defce4af1 (commit)
       via  c9e6e004ed57006e3756f42d987922b48e7c6eac (commit)
       via  76dc4bb9cbed27e6c4d802a81c669828c4b80dc2 (commit)
       via  6876850721768f002bdebf47ea013b6283403d37 (commit)
       via  ee9c380976c428455ba465c586e1c945fb1c0e97 (commit)
       via  7ac839d2ea970056e05eb9aabfa2925c6c9d6a13 (commit)
       via  34d2892f76ba085447dad2041ebace48815a45fc (commit)
       via  79aeb20ca9af9669fca91eb85950f816bbe8a4e9 (commit)
      from  6161aaf67931a1f307973ef8d1c533e76701533e (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit ac9f669afd07f0638ab2420cb6e38230aefd1f15
Merge: 61c4e04 be33098
Author: Gary Benson <gbenson@redhat.com>
Date:   Tue Jun 4 12:41:26 2013 +0100

    Merge

commit be33098462e01e61d6c9df8e3ad701763c8b0217
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Tue Jun 4 02:44:34 2013 +0000

    	* ppc-tdep.h (ppc_insns_match_pattern): Update prototype.
    	* rs6000-tdep.c (read_insn): Add frame param, don't assume big-endian.
    	(ppc_insns_match_pattern): Add frame param.  Avoid multiple
    	target mem reads on optional insns.
    	* ppc-linux-tdep.c (ppc_skip_trampoline_code): Update
    	ppc_insns_match_pattern calls.
    	* ppc64-tdep.c (ppc64_standard_linkage2, ppc64_standard_linkage3):
    	Add match for power7 thread safety insns, and new order of
    	std 2,40(1) insn.  Correct code shown for _dl_runtime_resolve
    	invocation in comment, and update rest of comment.
    	(PPC64_STANDARD_LINKAGE1_LEN, PPC64_STANDARD_LINKAGE2_LEN,
    	PPC64_STANDARD_LINKAGE3_LEN): Delete.
    	(ppc64_standard_linkage2_target): Update insn offsets.
    	(ppc64_skip_trampoline_code): Use a single insn buffer.  Match newer
    	stubs first.  Update calls.

commit 1f6268b42e3698c70d6d6c1402f59a800b410c92
Author: qiyao <qiyao>
Date:   Tue Jun 4 01:33:31 2013 +0000

    gdb/
    	* solib.c (solib_find): Don't need dir separator if path has
    	drive spec.

commit a22c0ea0e9b3f4c44d781b12215b35a482951170
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Tue Jun 4 00:00:32 2013 +0000

    *** empty log message ***

commit 1831b542dc3b53aa442cd02af1219a24dca0f9a6
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Tue Jun 4 00:00:05 2013 +0000

    daily update

commit 4d5659573cb61ae9196d95ef3eba14cf0b9fd685
Author: Joel Brobecker <brobecker@gnat.com>
Date:   Mon Jun 3 13:22:29 2013 +0000

    Revert "fix cleanup handling in macho_symfile_read"
    
    This patch indirectly causes a SEGV by creating a dangling pointer.
    Reverting this patch while working on a clearer memory management
    method for this part of the code.
    
    gdb/Changelog:
    
            Revert:
            * machoread.c (macho_symfile_read): Assign first cleanup to
            'back_to'.

commit c527d3ccdbfcfe1570f45293e13d2a538e66dc21
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Mon Jun 3 04:11:09 2013 +0000

    	* syms.c (_bfd_stab_section_find_nearest_line): Add last_str
    	var.  Use it with last_stab.

commit b1c4bf43f28eaeb557ef691faf6a2783c981c8dc
Author: qiyao <qiyao>
Date:   Mon Jun 3 03:16:23 2013 +0000

    gdb/
    	* mi/mi-cmd-var.c (mi_no_values, mi_simple_values): Move to
    	mi-parse.c.  Make them static.
    	(mi_all_values): Likewise.
    	(mi_parse_values_option): Move to mi-parse.c.  Rename it to
    	mi_parse_print_values.  Make it external.
    	* mi/mi-cmds.h (mi_no_values, mi_simple_values, mi_all_values):
    	Remove the declarations.
    	* mi/mi-parse.c (mi_parse_print_values): Moved from mi-cmd-var.c.
    	* mi/mi-parse.h (mi_parse_print_values): Declare.
    	* mi/mi-cmd-stack.c: Include mi-parse.h.
    	(parse_print_values): Remove
    	(mi_cmd_stack_list_locals): Call mi_parse_print_values instead
    	of parse_print_values.
    	(mi_cmd_stack_list_args, mi_cmd_stack_list_variables): Likewise.

commit cb449309cafb9f8cdc0246c0b1158b1b76254dbc
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Mon Jun 3 00:00:04 2013 +0000

    daily update

commit 4a1b49ebff71d76ea500fac82540f13bf9067c1d
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Mon Jun 3 00:00:03 2013 +0000

    *** empty log message ***

commit 5f3ca9b0398abbe61e460800a0fc2e6463ee59af
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Sun Jun 2 00:00:32 2013 +0000

    *** empty log message ***

commit 0a1e6a1891814a2fa65b72a265d2cd52edb3e296
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Sun Jun 2 00:00:05 2013 +0000

    daily update

commit 87c4ecaa180e412ecc937c8b557ca903c3430877
Author: Denis Chertykov <denisc@overta.ru>
Date:   Sat Jun 1 07:14:43 2013 +0000

    	* gas/config/tc-avr.c: Change ISA for devices with USB support to
    	AVR_ISA_XMEGAU
    
    	* include/opcode/avr.h: Rename AVR_ISA_XCH to AVR_ISA_RMW. Remove
    	from AVR_ISA_XMEGA and add new AVR_ISA_XMEGAU

commit f32f285fa9f4d8ba2584573af3141e9d67b44b04
Author: DJ Delorie <dj@delorie.com>
Date:   Sat Jun 1 01:01:43 2013 +0000

    merge from gcc

commit 77295e379f6e8cad6b54c6ad19a03448fd802e33
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Sat Jun 1 00:00:04 2013 +0000

    daily update

commit 8b26d772baef73317f2c92931f991a9afd115652
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Sat Jun 1 00:00:02 2013 +0000

    *** empty log message ***

commit cf5c1b327ec68f1a7e8115296d0aa4162340981a
Author: Doug Evans <dje@google.com>
Date:   Fri May 31 19:14:33 2013 +0000

    	* linux-x86-low.c (ps_get_thread_area): Properly extend address to
    	64 bits in 64-cross-32 environment.

commit 61c4e04fba503dc0f487e0f27aa3e488f0d738d0
Author: Gary Benson <gbenson@redhat.com>
Date:   Fri May 31 13:12:13 2013 +0100

    Use xsnprintf

commit 80577ad5b120d6cbc554d256ccf7cfb20e979ac4
Author: Gary Benson <gbenson@redhat.com>
Date:   Fri May 31 12:50:31 2013 +0100

    Better NEWS, from Pedro and Eli

commit 6dd130dcda5fe19dcc00e86ce61f001d43437016
Author: qiyao <qiyao>
Date:   Fri May 31 10:06:01 2013 +0000

    gdb/
    	* tracepoint.c (all_tracepoint_actions_and_cleanup): Declare.
    	(encode_actions): Move code to ...
    	(all_tracepoint_actions_and_cleanup): ... here.  New.
    	(trace_dump_command): Likewise.

commit 11a307da49aba205e4e478c8265e149763730189
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Fri May 31 00:00:32 2013 +0000

    *** empty log message ***

commit 4d4f46ce89bfcd710420e953a49dfb7e59ce7b4f
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Fri May 31 00:00:04 2013 +0000

    daily update

commit 1eac09fbb5a0298d689e9a2948fd456aee72da69
Author: Catherine Moore <clm@redhat.com>
Date:   Thu May 30 20:27:20 2013 +0000

    2013-05-30  Paul Brook  <paul@codesourcery.com>
    
    	bfd/
    	* bfd-in2.h: Regenerate.
    	* elf32-mips.c (elf_mips_eh_howto): New.
    	(bfd_elf32_bfd_reloc_type_lookup ): Support BFD_RELOC_MIPS_EH.
    	(bfd_elf32_bfd_reloc_name_lookup): Likewise.
    	(mips_elf32_rtype_to_howto): Support R_MIPS_EH.
    	* elf64-mips.c (elf_mips_eh_howto): New.
    	(bfd_elf64_bfd_reloc_type_lookup): Support BFD_RELOC_MIPS_EH.
    	(bfd_elf64_bfd_reloc_name_lookup): Likewise.
    	(mips_elf64_rtype_to_howto): Support R_MIPS_EH.
    	* libbfd.h: Regenerate.
    	* reloc.c (BFD_RELOC_MIPS_EH): New.
    
    	gas/
    	* config/tc-mips.c (md_apply_fix): Support BFD_RELOC_MIPS_EH.
    
    	include/elf
    	* mips.h (R_MIPS_EH): New.

commit 4d22a621a9e2da0f0d3c8b173f7eabe2f63eda44
Author: Gary Benson <gbenson@redhat.com>
Date:   Thu May 30 11:37:52 2013 +0100

    Do the right thing for multi-process

commit 9cbd8f96c2e4dc667e9a579d448ef473932c4053
Author: Gary Benson <gbenson@redhat.com>
Date:   Thu May 30 10:45:57 2013 +0100

    More non-boolean things treated as boolean

commit b2d3b11cb56003dcd2442504ebf204741b335160
Author: Gary Benson <gbenson@redhat.com>
Date:   Thu May 30 10:44:05 2013 +0100

    Missing space

commit 3782d0506611e59426e64e8c2fecaabf1808d991
Author: Gary Benson <gbenson@redhat.com>
Date:   Thu May 30 10:39:16 2013 +0100

    NEWS entry for new remote protocol features

commit 81edeea14f3be9e195bc4ffe8e9eedc78ba2e442
Author: Gary Benson <gbenson@redhat.com>
Date:   Thu May 30 10:28:02 2013 +0100

    Another non-boolean things treated as boolean

commit 89f0731330d8f81551d5c0625dd960eaaa074f07
Author: Gary Benson <gbenson@redhat.com>
Date:   Thu May 30 10:23:20 2013 +0100

    Non-boolean things treated as booleans

commit a84f05f9a66d63ec7e940baa636594f11f206a2d
Author: Gary Benson <gbenson@redhat.com>
Date:   Thu May 30 10:16:49 2013 +0100

    Update copyright years in my patch

commit 507bba2bccd95f8eca72ce16af960d2ab1c78773
Author: Gary Benson <gbenson@redhat.com>
Date:   Thu May 30 10:14:07 2013 +0100

    Update copyright years in Jan's patch

commit 3db02f15de87fa55252f36a5533531a6d2547faf
Author: Gary Benson <gbenson@redhat.com>
Date:   Thu May 30 10:11:15 2013 +0100

    Pedro's catch

commit 7f86a6d009ded8da07b2a4fee69adf2f67321da5
Author: Gary Benson <gbenson@redhat.com>
Date:   Wed May 29 14:56:03 2013 +0100

    Coding standard

commit d1c0e9f41778fa9ead792c53a6b5ae0ad153712f
Author: Gary Benson <gbenson@redhat.com>
Date:   Wed May 29 14:54:46 2013 +0100

    lm_info can never be NULL

commit de902ddc680881f39f113b08f1b7a7e5081e8c65
Author: Gary Benson <gbenson@redhat.com>
Date:   Wed May 29 13:41:33 2013 +0100

    Move the inferior (re)start free_probes_table together with the free_solib_list

commit 5b8ad497ea4d9a2aedd35c62961fefda16262bd4
Author: Gary Benson <gbenson@redhat.com>
Date:   Wed May 29 12:45:04 2013 +0100

    Comment updates relating to IGNORE_FIRST in solist_update_incremental

commit b6aaf3987b359baea3223e09ec8c43781001696b
Author: Gary Benson <gbenson@redhat.com>
Date:   Wed May 29 12:04:31 2013 +0100

    s/hexidecimal/hexadecimal/g

commit f77992820c37a1e7053e32e95a9103ab0134bcac
Author: Gary Benson <gbenson@redhat.com>
Date:   Wed May 29 12:01:30 2013 +0100

    Jan's change

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                         |    5 +
 bfd/ChangeLog                                     |   80 +++++
 bfd/bfd-in2.h                                     |    9 +-
 bfd/cache.c                                       |   38 ++-
 bfd/config.in                                     |    6 +
 bfd/configure                                     |   12 +-
 bfd/configure.in                                  |    4 +-
 bfd/dwarf2.c                                      |  148 ++++++++-
 bfd/elf32-mips.c                                  |   22 ++
 bfd/elf64-aarch64.c                               |   36 +-
 bfd/elf64-mips.c                                  |   23 ++
 bfd/elfn32-mips.c                                 |   23 ++
 bfd/libbfd.h                                      |    5 +-
 bfd/opncls.c                                      |  189 ++++++++--
 bfd/reloc.c                                       |    6 +-
 bfd/syms.c                                        |   10 +-
 bfd/sysdep.h                                      |    4 +
 bfd/version.h                                     |    2 +-
 gdb/ChangeLog                                     |  393 +++++++++++++++++++++
 gdb/NEWS                                          |   30 ++
 gdb/aarch64-tdep.c                                |    2 -
 gdb/breakpoint.c                                  |    9 +-
 gdb/cli/cli-cmds.c                                |   10 +-
 gdb/cli/cli-dump.c                                |    3 +-
 gdb/cli/cli-logging.c                             |    9 +-
 gdb/cli/cli-script.c                              |   25 +-
 gdb/common/filestuff.c                            |   10 +-
 gdb/config.in                                     |    3 +
 gdb/configure                                     |    2 +-
 gdb/configure.ac                                  |    2 +-
 gdb/contrib/cc-with-tweaks.sh                     |   11 +-
 gdb/contrib/cleanup_check.py                      |  335 ++++++++++++++++++
 gdb/contrib/gcc-with-excheck                      |   32 ++-
 gdb/cp-namespace.c                                |    5 +-
 gdb/dbxread.c                                     |   11 +-
 gdb/doc/ChangeLog                                 |   14 +
 gdb/doc/gdb.texinfo                               |   58 +++-
 gdb/dwarf2read.c                                  |   18 +-
 gdb/features/Makefile                             |    2 +-
 gdb/features/aarch64-without-fpu.c                |   54 ---
 gdb/features/aarch64-without-fpu.xml              |   13 -
 gdb/gdbserver/ChangeLog                           |   47 +++
 gdb/gdbserver/Makefile.in                         |    4 +-
 gdb/gdbserver/configure.srv                       |    3 +-
 gdb/gdbserver/linux-aarch64-low.c                 |    3 -
 gdb/gdbserver/linux-low.c                         |   71 +++-
 gdb/gdbserver/linux-low.h                         |    8 +
 gdb/gdbserver/linux-x86-low.c                     |   10 +-
 gdb/gdbserver/server.c                            |   23 ++-
 gdb/gdbserver/target.h                            |   15 +
 gdb/gdbthread.h                                   |   12 +
 gdb/inf-ptrace.c                                  |   14 +-
 gdb/infcmd.c                                      |    8 +-
 gdb/inferior.c                                    |    4 +-
 gdb/infrun.c                                      |   46 ++-
 gdb/interps.c                                     |    5 +-
 gdb/linespec.c                                    |    2 +-
 gdb/linux-thread-db.c                             |    8 +-
 gdb/m32r-rom.c                                    |    1 +
 gdb/mi/mi-cmd-stack.c                             |   30 +--
 gdb/mi/mi-cmd-var.c                               |   36 +--
 gdb/mi/mi-cmds.c                                  |    3 +-
 gdb/mi/mi-cmds.h                                  |    4 -
 gdb/mi/mi-main.c                                  |    5 +-
 gdb/mi/mi-parse.c                                 |   22 ++
 gdb/mi/mi-parse.h                                 |    4 +
 gdb/mips-linux-tdep.c                             |  115 +++---
 gdb/mipsread.c                                    |   25 +-
 gdb/objfiles.c                                    |    2 +-
 gdb/ppc-linux-tdep.c                              |    4 +-
 gdb/ppc-tdep.h                                    |    4 +-
 gdb/ppc64-tdep.c                                  |  142 +++++---
 gdb/printcmd.c                                    |    9 +-
 gdb/probe.c                                       |    9 +-
 gdb/python/py-breakpoint.c                        |    7 +-
 gdb/python/py-frame.c                             |    8 +-
 gdb/python/py-prettyprint.c                       |    2 -
 gdb/python/py-value.c                             |   10 +-
 gdb/python/python-internal.h                      |    5 +-
 gdb/python/python.c                               |    3 +-
 gdb/regformats/aarch64-without-fpu.dat            |   38 --
 gdb/remote-mips.c                                 |   19 +-
 gdb/remote.c                                      |  168 +++++++++-
 gdb/rs6000-tdep.c                                 |   35 ++-
 gdb/solib-aix.c                                   |    4 +-
 gdb/solib-svr4.c                                  |   84 +++--
 gdb/solib.c                                       |    3 +-
 gdb/somread.c                                     |    5 +-
 gdb/source.c                                      |   19 +-
 gdb/stabsread.c                                   |    5 +-
 gdb/symfile.c                                     |   14 +-
 gdb/symmisc.c                                     |    2 +
 gdb/symtab.c                                      |    2 +-
 gdb/testsuite/ChangeLog                           |   49 +++
 gdb/testsuite/boards/fission-dwp.exp              |   49 +++
 gdb/testsuite/gdb.base/break-probes-solib.c       |    2 +-
 gdb/testsuite/gdb.base/break-probes.c             |    2 +-
 gdb/testsuite/gdb.base/break-probes.exp           |    2 +-
 gdb/testsuite/gdb.base/info-shared-solib1.c       |    2 +-
 gdb/testsuite/gdb.base/info-shared-solib2.c       |    2 +-
 gdb/testsuite/gdb.base/info-shared.c              |    2 +-
 gdb/testsuite/gdb.base/info-shared.exp            |   22 +-
 gdb/testsuite/gdb.base/range-stepping.c           |  104 ++++++
 gdb/testsuite/gdb.base/range-stepping.exp         |  245 +++++++++++++
 gdb/testsuite/gdb.base/solib-disc.exp             |    2 +-
 gdb/testsuite/gdb.base/unload.exp                 |    2 +-
 gdb/testsuite/gdb.base/watchpoint-solib.exp       |    2 +-
 gdb/testsuite/gdb.mi/mi-cmd-param-changed.exp     |    2 +
 gdb/testsuite/gdb.mi/mi-dprintf.exp               |   26 ++-
 gdb/testsuite/gdb.threads/dlopen-libpthread-lib.c |    2 +-
 gdb/testsuite/gdb.threads/dlopen-libpthread.c     |    2 +-
 gdb/testsuite/gdb.threads/dlopen-libpthread.exp   |    2 +-
 gdb/testsuite/gdb.trace/range-stepping.c          |   56 +++
 gdb/testsuite/gdb.trace/range-stepping.exp        |   85 +++++
 gdb/testsuite/gdb.trace/tfile.exp                 |    3 +
 gdb/testsuite/lib/range-stepping-support.exp      |   54 +++
 gdb/thread.c                                      |    7 +
 gdb/top.c                                         |    1 +
 gdb/tracepoint.c                                  |  118 +++----
 gdb/tracepoint.h                                  |    2 +-
 gdb/utils.c                                       |    9 +-
 gdb/varobj.c                                      |    4 +-
 gdb/version.in                                    |    2 +-
 gdb/windows-nat.c                                 |    2 +-
 gdb/xml-support.c                                 |   43 +--
 gdb/xml-support.h                                 |    7 -
 include/elf/ChangeLog                             |   11 +
 include/elf/aarch64.h                             |    4 +-
 include/elf/mips.h                                |    1 +
 include/opcode/avr.h                              |   13 +-
 libiberty/ChangeLog                               |   12 +
 libiberty/Makefile.in                             |   24 +-
 libiberty/configure                               |   56 ++--
 libiberty/configure.ac                            |   46 ++--
 opcodes/ChangeLog                                 |    9 +
 opcodes/s390-opc.c                                |    4 +-
 opcodes/s390-opc.txt                              |    2 +-
 137 files changed, 3109 insertions(+), 791 deletions(-)
 create mode 100644 gdb/contrib/cleanup_check.py
 delete mode 100644 gdb/features/aarch64-without-fpu.c
 delete mode 100644 gdb/features/aarch64-without-fpu.xml
 delete mode 100644 gdb/regformats/aarch64-without-fpu.dat
 create mode 100644 gdb/testsuite/boards/fission-dwp.exp
 create mode 100644 gdb/testsuite/gdb.base/range-stepping.c
 create mode 100644 gdb/testsuite/gdb.base/range-stepping.exp
 create mode 100644 gdb/testsuite/gdb.trace/range-stepping.c
 create mode 100644 gdb/testsuite/gdb.trace/range-stepping.exp
 create mode 100644 gdb/testsuite/lib/range-stepping-support.exp

First 500 lines of diff:
diff --git a/ChangeLog b/ChangeLog
index 2d6d310..ed3bc27 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2013-06-01  George Thomas <george.thomas@atmel.com>
+
+        * include/opcode/avr.h: Rename AVR_ISA_XCH to AVR_ISA_RMW. Remove
+        from AVR_ISA_XMEGA and add new AVR_ISA_XMEGAU
+
 2013-05-06  Sandra Loosemore  <sandra@codesourcery.com>
 
 	* COPYING.NEWLIB: Add Altera Corporation copyright.
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index d01e687..1b56e1d 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,83 @@
+2013-06-03  Alan Modra  <amodra@gmail.com>
+
+	* syms.c (_bfd_stab_section_find_nearest_line): Add last_str
+	var.  Use it with last_stab.
+
+2013-05-30  Paul Brook  <paul@codesourcery.com>
+
+	* bfd-in2.h: Regenerate.
+	* elf32-mips.c (elf_mips_eh_howto): New.
+	(bfd_elf32_bfd_reloc_type_lookup ): Support BFD_RELOC_MIPS_EH.
+	(bfd_elf32_bfd_reloc_name_lookup): Likewise.
+	(mips_elf32_rtype_to_howto): Support R_MIPS_EH.
+	* elf64-mips.c (elf_mips_eh_howto): New.
+	(bfd_elf64_bfd_reloc_type_lookup): Support BFD_RELOC_MIPS_EH.
+	(bfd_elf64_bfd_reloc_name_lookup): Likewise.
+	(mips_elf64_rtype_to_howto): Support R_MIPS_EH.
+	* libbfd.h: Regenerate.
+	* reloc.c (BFD_RELOC_MIPS_EH): New.
+
+2013-05-29  Nick Clifton  <nickc@redhat.com>
+
+	* dwarf2.c (struct dwarf2_debug): Add fields for handling
+	alternate debug info source.
+	(dwarf_debug_sections): Add entries for alternate .debug_str and
+	.debug_info sections.
+	(dwarf_debug_section_enum): Likewise.
+	(read_alt_indirect_string): New function.  Handles a
+	DW_FORM_GNU_strp_alt attribute.
+	(read_alt_indirect_ref): New function.  Handles a
+	DW_FORM_GNU_ref_alt attribute.
+	(read_attribute_value): Process DW_FORM_GNU_ref_alt and
+	DW_FORM_GNU_strp_alt.
+	(find_abstract_instance_name): Handle DW_FORM_GNU_ref_alt
+	attributes.
+	(_bfd_dwarf2_cleanup_debug_info): Free alternate debug info
+	sources.
+	* opncls.c (GNU_DEBUGALTLINK): Define.
+	(bfd_get_alt_debug_link_info): New function.
+	(separate_alt_debug_file_exists): New function.
+	(find_separate_debug_file): Add parameters for fetch and check
+	functions.
+	(bfd_follow_gnu_debugaltlink): New function.
+	* bfd-in2.h: Regenerate.
+
+2013-05-28  Yufeng Zhang  <yufeng.zhang@arm.com>
+
+	* reloc.c (BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE): Rename to ...
+	(BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21): ... this.
+	(BFD_RELOC_AARCH64_TLSDESC_LD64_PREL19): Rename to ...
+	(BFD_RELOC_AARCH64_TLSDESC_LD_PREL19): ...  this.
+	* bfd-in2.h: Regenerate.
+	* libbfd.h: Regenerate.
+	* elf64-aarch64.c (IS_AARCH64_TLSDESC_RELOC): Update to use
+	the correct names.
+	(elf64_aarch64_tlsdesc_howto_table): Likewise.
+	(elf64_aarch64_reloc_map): Likewise.
+	(aarch64_resolve_relocation): Likewise.
+	(bfd_elf_aarch64_put_addend): Likewise.
+	(aarch64_tls_transition_without_check): Likewise.
+	(aarch64_reloc_got_type): Likewise.
+	(elf64_aarch64_final_link_relocate): Likewise.
+	(elf64_aarch64_tls_relax): Likewise.
+	(elf64_aarch64_relocate_section): Likewise.
+	(elf64_aarch64_gc_sweep_hook): Likewise.
+	(elf64_aarch64_check_relocs): Likewise.
+
+2013-05-26  Mark Wielaard  <mjw@redhat.com>
+
+	* cache.c (BFD_CACHE_MAX_OPEN): Remove define.
+	(max_open_files): New static int initialized to zero.
+	(bfd_cache_max_open): New static function to set and return
+	max_open_files.
+	(bfd_cache_init): Use bfd_cache_max_open.
+	(bfd_open_file): Likewise.
+	* configure.in (AC_CHECK_HEADERS): Add sys/resource.h.
+	(AC_CHECK_FUNCS): Add getrlimit.
+	* configure: Regenerated.
+	* config.in: Likewise.
+	* sysdep.h: Check and include sys/resource.h for getrlimit.
+
 2013-05-23  Alan Modra  <amodra@gmail.com>
 
 	* format.c (bfd_check_format_matches): Don't match a target in
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index 0050f46..f5b98c5 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -1051,8 +1051,12 @@ unsigned long bfd_calc_gnu_debuglink_crc32
 
 char *bfd_get_debug_link_info (bfd *abfd, unsigned long *crc32_out);
 
+char *bfd_get_alt_debug_link_info (bfd *abfd, unsigned long *crc32_out);
+
 char *bfd_follow_gnu_debuglink (bfd *abfd, const char *dir);
 
+char *bfd_follow_gnu_debugaltlink (bfd *abfd, const char *dir);
+
 struct bfd_section *bfd_create_gnu_debuglink_section
    (bfd *abfd, const char *filename);
 
@@ -2933,6 +2937,7 @@ to compensate for the borrow when the low bits are added.  */
   BFD_RELOC_MICROMIPS_TLS_TPREL_HI16,
   BFD_RELOC_MIPS_TLS_TPREL_LO16,
   BFD_RELOC_MICROMIPS_TLS_TPREL_LO16,
+  BFD_RELOC_MIPS_EH,
 
 
 /* MIPS ELF relocations (VxWorks and PLT extensions).  */
@@ -5350,7 +5355,7 @@ of a signed or unsigned address/value.  */
   BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC,
 
 /* AArch64 TLS DESC relocation.  */
-  BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE,
+  BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21,
 
 /* AArch64 TLS DESC relocation.  */
   BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21,
@@ -5362,7 +5367,7 @@ of a signed or unsigned address/value.  */
   BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC,
 
 /* AArch64 TLS DESC relocation.  */
-  BFD_RELOC_AARCH64_TLSDESC_LD64_PREL19,
+  BFD_RELOC_AARCH64_TLSDESC_LD_PREL19,
 
 /* AArch64 TLS DESC relocation.  */
   BFD_RELOC_AARCH64_TLSDESC_LDR,
diff --git a/bfd/cache.c b/bfd/cache.c
index 5226816..4d46936 100644
--- a/bfd/cache.c
+++ b/bfd/cache.c
@@ -31,7 +31,7 @@ SECTION
 	regard to the underlying operating system's file descriptor
 	limit (often as low as 20 open files).  The module in
 	<<cache.c>> maintains a least recently used list of
-	<<BFD_CACHE_MAX_OPEN>> files, and exports the name
+	<<bfd_cache_max_open>> files, and exports the name
 	<<bfd_cache_lookup>>, which runs around and makes sure that
 	the required BFD is open. If not, then it chooses a file to
 	close, closes it and opens the one wanted, returning its file
@@ -67,9 +67,35 @@ enum cache_flag {
 };
 
 /* The maximum number of files which the cache will keep open at
-   one time.  */
+   one time.  When needed call bfd_cache_max_open to initialize.  */
 
-#define BFD_CACHE_MAX_OPEN 10
+static int max_open_files = 0;
+
+/* Set max_open_files, if not already set, to 12.5% of the allowed open
+   file descriptors, but at least 10, and return the value.  */
+static int
+bfd_cache_max_open (void)
+{
+  if (max_open_files == 0)
+    {
+      int max;
+#ifdef HAVE_GETRLIMIT
+      struct rlimit rlim;
+      if (getrlimit (RLIMIT_NOFILE, &rlim) == 0
+	  && rlim.rlim_cur != RLIM_INFINITY)
+	max = rlim.rlim_cur / 8;
+      else
+#endif /* HAVE_GETRLIMIT */
+#ifdef _SC_OPEN_MAX
+	max = sysconf (_SC_OPEN_MAX) / 8;
+#else
+	max = 10;
+#endif /* _SC_OPEN_MAX */
+      max_open_files = max < 10 ? 10 : max;
+    }
+
+  return max_open_files;
+}
 
 /* The number of BFD files we have open.  */
 
@@ -187,7 +213,7 @@ close_one (void)
 /* Called when the macro <<bfd_cache_lookup>> fails to find a
    quick answer.  Find a file descriptor for @var{abfd}.  If
    necessary, it open it.  If there are already more than
-   <<BFD_CACHE_MAX_OPEN>> files open, it tries to close one first, to
+   <<bfd_cache_max_open>> files open, it tries to close one first, to
    avoid running out of file descriptors.  It will return NULL
    if it is unable to (re)open the @var{abfd}.  */
 
@@ -466,7 +492,7 @@ bfd_boolean
 bfd_cache_init (bfd *abfd)
 {
   BFD_ASSERT (abfd->iostream != NULL);
-  if (open_files >= BFD_CACHE_MAX_OPEN)
+  if (open_files >= bfd_cache_max_open ())
     {
       if (! close_one ())
 	return FALSE;
@@ -553,7 +579,7 @@ bfd_open_file (bfd *abfd)
 {
   abfd->cacheable = TRUE;	/* Allow it to be closed later.  */
 
-  if (open_files >= BFD_CACHE_MAX_OPEN)
+  if (open_files >= bfd_cache_max_open ())
     {
       if (! close_one ())
 	return NULL;
diff --git a/bfd/config.in b/bfd/config.in
index 2fc4897..65fb044 100644
--- a/bfd/config.in
+++ b/bfd/config.in
@@ -112,6 +112,9 @@
 /* Define to 1 if you have the `getpagesize' function. */
 #undef HAVE_GETPAGESIZE
 
+/* Define to 1 if you have the `getrlimit' function. */
+#undef HAVE_GETRLIMIT
+
 /* Define to 1 if you have the `getuid' function. */
 #undef HAVE_GETUID
 
@@ -234,6 +237,9 @@
 /* Define to 1 if you have the <sys/procfs.h> header file. */
 #undef HAVE_SYS_PROCFS_H
 
+/* Define to 1 if you have the <sys/resource.h> header file. */
+#undef HAVE_SYS_RESOURCE_H
+
 /* Define to 1 if you have the <sys/stat.h> header file. */
 #undef HAVE_SYS_STAT_H
 
diff --git a/bfd/configure b/bfd/configure
index 5fc08e4..090f981 100755
--- a/bfd/configure
+++ b/bfd/configure
@@ -12908,7 +12908,7 @@ fi
 
 done
 
-for ac_header in fcntl.h sys/file.h sys/time.h sys/stat.h
+for ac_header in fcntl.h sys/file.h sys/time.h sys/stat.h sys/resource.h
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
@@ -13583,12 +13583,14 @@ _ACEOF
 fi
 done
 
-for ac_func in strtoull
+for ac_func in strtoull getrlimit
 do :
-  ac_fn_c_check_func "$LINENO" "strtoull" "ac_cv_func_strtoull"
-if test "x$ac_cv_func_strtoull" = x""yes; then :
+  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+eval as_val=\$$as_ac_var
+   if test "x$as_val" = x""yes; then :
   cat >>confdefs.h <<_ACEOF
-#define HAVE_STRTOULL 1
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
 
 fi
diff --git a/bfd/configure.in b/bfd/configure.in
index befcf27..ff14270 100644
--- a/bfd/configure.in
+++ b/bfd/configure.in
@@ -211,7 +211,7 @@ AC_SUBST(BFD_HOSTPTR_T)
 BFD_CC_FOR_BUILD
 
 AC_CHECK_HEADERS(alloca.h stddef.h string.h strings.h stdlib.h time.h unistd.h)
-AC_CHECK_HEADERS(fcntl.h sys/file.h sys/time.h sys/stat.h)
+AC_CHECK_HEADERS(fcntl.h sys/file.h sys/time.h sys/stat.h sys/resource.h)
 GCC_HEADER_STDINT(bfd_stdint.h)
 AC_HEADER_TIME
 AC_HEADER_DIRENT
@@ -220,7 +220,7 @@ AC_CHECK_HEADERS(windows.h dlfcn.h)
 
 ACX_HEADER_STRING
 AC_CHECK_FUNCS(fcntl getpagesize setitimer sysconf fdopen getuid getgid fileno)
-AC_CHECK_FUNCS(strtoull)
+AC_CHECK_FUNCS(strtoull getrlimit)
 
 AC_CHECK_DECLS(basename)
 AC_CHECK_DECLS(ftello)
diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c
index 7a1a4ae..c9349da 100644
--- a/bfd/dwarf2.c
+++ b/bfd/dwarf2.c
@@ -1,6 +1,5 @@
 /* DWARF 2 support.
-   Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
-   2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+   Copyright 1994-2013 Free Software Foundation, Inc.
 
    Adapted from gdb/dwarf2read.c by Gavin Koch of Cygnus Solutions
    (gavin@cygnus.com).
@@ -108,6 +107,16 @@ struct dwarf2_debug
   asection *sec;
   bfd_byte *sec_info_ptr;
 
+  /* Support for alternate debug info sections created by the DWZ utility:
+     This includes a pointer to an alternate bfd which contains *extra*,
+     possibly duplicate debug sections, and pointers to the loaded
+     .debug_str and .debug_info sections from this bfd.  */
+  bfd *          alt_bfd_ptr;
+  bfd_byte *     alt_dwarf_str_buffer;
+  bfd_size_type  alt_dwarf_str_size;
+  bfd_byte *     alt_dwarf_info_buffer;
+  bfd_size_type  alt_dwarf_info_size;
+
   /* A pointer to the memory block allocated for info_ptr.  Neither
      info_ptr nor sec_info_ptr are guaranteed to stay pointing to the
      beginning of the malloc block.  This is used only to free the
@@ -290,6 +299,7 @@ const struct dwarf_debug_section dwarf_debug_sections[] =
   { ".debug_aranges",		".zdebug_aranges" },
   { ".debug_frame",		".zdebug_frame" },
   { ".debug_info",		".zdebug_info" },
+  { ".debug_info",		".zdebug_info" },
   { ".debug_line",		".zdebug_line" },
   { ".debug_loc",		".zdebug_loc" },
   { ".debug_macinfo",		".zdebug_macinfo" },
@@ -300,6 +310,7 @@ const struct dwarf_debug_section dwarf_debug_sections[] =
   { ".debug_static_func",	".zdebug_static_func" },
   { ".debug_static_vars",	".zdebug_static_vars" },
   { ".debug_str",		".zdebug_str", },
+  { ".debug_str",		".zdebug_str", },
   { ".debug_types",		".zdebug_types" },
   /* GNU DWARF 1 extensions */
   { ".debug_sfnames",		".zdebug_sfnames" },
@@ -312,12 +323,15 @@ const struct dwarf_debug_section dwarf_debug_sections[] =
   { NULL,			NULL },
 };
 
+/* NB/ Numbers in this enum must match up with indicies
+   into the dwarf_debug_sections[] array above.  */
 enum dwarf_debug_section_enum
 {
   debug_abbrev = 0,
   debug_aranges,
   debug_frame,
   debug_info,
+  debug_info_alt,
   debug_line,
   debug_loc,
   debug_macinfo,
@@ -328,6 +342,7 @@ enum dwarf_debug_section_enum
   debug_static_func,
   debug_static_vars,
   debug_str,
+  debug_str_alt,
   debug_types,
   debug_sfnames,
   debug_srcinfo,
@@ -484,8 +499,8 @@ read_section (bfd *           abfd,
   asection *msec;
   const char *section_name = sec->uncompressed_name;
 
-  /* read_section is a noop if the section has already been read.  */
-  if (!*section_buffer)
+  /* The section may have already been read.  */
+  if (*section_buffer == NULL)
     {
       msec = bfd_get_section_by_name (abfd, section_name);
       if (! msec)
@@ -626,6 +641,104 @@ read_indirect_string (struct comp_unit * unit,
   return str;
 }
 
+/* Like read_indirect_string but uses a .debug_str located in
+   an alternate filepointed to by the .gnu_debuglink section.
+   Used to impement DW_FORM_GNU_strp_alt.  */
+
+static char *
+read_alt_indirect_string (struct comp_unit * unit,
+			  bfd_byte *         buf,
+			  unsigned int *     bytes_read_ptr)
+{
+  bfd_uint64_t offset;
+  struct dwarf2_debug *stash = unit->stash;
+  char *str;
+
+  if (unit->offset_size == 4)
+    offset = read_4_bytes (unit->abfd, buf);
+  else
+    offset = read_8_bytes (unit->abfd, buf);
+
+  *bytes_read_ptr = unit->offset_size;
+
+  if (stash->alt_bfd_ptr == NULL)
+    {
+      bfd *  debug_bfd;
+      char * debug_filename = bfd_follow_gnu_debugaltlink (unit->abfd, DEBUGDIR);
+
+      if (debug_filename == NULL)
+	return NULL;
+
+      if ((debug_bfd = bfd_openr (debug_filename, NULL)) == NULL
+	  || ! bfd_check_format (debug_bfd, bfd_object))
+	{
+	  if (debug_bfd)
+	    bfd_close (debug_bfd);
+
+	  /* FIXME: Should we report our failure to follow the debuglink ?  */
+	  free (debug_filename);
+	  return NULL;
+	}
+      stash->alt_bfd_ptr = debug_bfd;
+    }
+  
+  if (! read_section (unit->stash->alt_bfd_ptr,
+		      stash->debug_sections + debug_str_alt,
+		      NULL, /* FIXME: Do we need to load alternate symbols ?  */
+		      offset,
+		      &stash->alt_dwarf_str_buffer,
+		      &stash->alt_dwarf_str_size))
+    return NULL;
+
+  str = (char *) stash->alt_dwarf_str_buffer + offset;
+  if (*str == '\0')
+    return NULL;
+
+  return str;
+}
+
+/* Resolve an alternate reference from UNIT at OFFSET.
+   Returns a pointer into the loaded alternate CU upon success
+   or NULL upon failure.  */
+
+static bfd_byte *
+read_alt_indirect_ref (struct comp_unit * unit,
+		       bfd_uint64_t       offset)
+{
+  struct dwarf2_debug *stash = unit->stash;
+
+  if (stash->alt_bfd_ptr == NULL)
+    {
+      bfd *  debug_bfd;
+      char * debug_filename = bfd_follow_gnu_debugaltlink (unit->abfd, DEBUGDIR);
+
+      if (debug_filename == NULL)
+	return FALSE;
+
+      if ((debug_bfd = bfd_openr (debug_filename, NULL)) == NULL
+	  || ! bfd_check_format (debug_bfd, bfd_object))
+	{
+	  if (debug_bfd)
+	    bfd_close (debug_bfd);
+
+	  /* FIXME: Should we report our failure to follow the debuglink ?  */
+	  free (debug_filename);
+	  return NULL;
+	}
+      stash->alt_bfd_ptr = debug_bfd;
+    }
+  
+  if (! read_section (unit->stash->alt_bfd_ptr,
+		      stash->debug_sections + debug_info_alt,
+		      NULL, /* FIXME: Do we need to load alternate symbols ?  */
+		      offset,
+		      &stash->alt_dwarf_info_buffer,
+		      &stash->alt_dwarf_info_size))
+    return NULL;
+
+  return stash->alt_dwarf_info_buffer + offset;
+}
+
 static bfd_uint64_t
 read_address (struct comp_unit *unit, bfd_byte *buf)
 {
@@ -829,6 +942,7 @@ read_attribute_value (struct attribute *attr,
       attr->u.val = read_address (unit, info_ptr);
       info_ptr += unit->addr_size;
       break;
+    case DW_FORM_GNU_ref_alt:
     case DW_FORM_sec_offset:
       if (unit->offset_size == 4)
 	attr->u.val = read_4_bytes (unit->abfd, info_ptr);
@@ -878,6 +992,10 @@ read_attribute_value (struct attribute *attr,
       attr->u.str = read_indirect_string (unit, info_ptr, &bytes_read);
       info_ptr += bytes_read;
       break;
+    case DW_FORM_GNU_strp_alt:
+      attr->u.str = read_alt_indirect_string (unit, info_ptr, &bytes_read);
+      info_ptr += bytes_read;


hooks/post-receive
--
Repository for Project Archer.


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2013-06-04 11:50 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-06-04 11:50 [SCM] gbenson/rtld-probes: Merge gary

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).