Message ID | alpine.DEB.2.00.1708041500090.17596@tp.orcam.me.uk |
---|---|
State | Committed |
Headers |
Received: (qmail 88970 invoked by alias); 4 Aug 2017 14:13:22 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: <gdb-patches.sourceware.org> List-Unsubscribe: <mailto:gdb-patches-unsubscribe-##L=##H@sourceware.org> List-Subscribe: <mailto:gdb-patches-subscribe@sourceware.org> List-Archive: <http://sourceware.org/ml/gdb-patches/> List-Post: <mailto:gdb-patches@sourceware.org> List-Help: <mailto:gdb-patches-help@sourceware.org>, <http://sourceware.org/ml/#faqs> Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 86572 invoked by uid 89); 4 Aug 2017 14:13:20 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-11.2 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, RP_MATCHES_RCVD, SPF_PASS autolearn=ham version=3.3.2 spammy=Quotation X-HELO: mailapp01.imgtec.com Received: from mailapp01.imgtec.com (HELO mailapp01.imgtec.com) (195.59.15.196) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 04 Aug 2017 14:13:18 +0000 Received: from HHMAIL01.hh.imgtec.org (unknown [10.100.10.19]) by Forcepoint Email with ESMTPS id 46D7CBBC3B789; Fri, 4 Aug 2017 15:13:12 +0100 (IST) Received: from [10.20.78.21] (10.20.78.21) by HHMAIL01.hh.imgtec.org (10.100.10.21) with Microsoft SMTP Server id 14.3.294.0; Fri, 4 Aug 2017 15:13:11 +0100 Date: Fri, 4 Aug 2017 15:12:27 +0100 From: "Maciej W. Rozycki" <macro@imgtec.com> To: Yao Qi <qiyaoltc@gmail.com> CC: <gdb-patches@sourceware.org>, Yao Qi <yao.qi@linaro.org>, Joel Brobecker <brobecker@adacore.com> Subject: [PATCH v2] PR breakpoints/21886: mem-break: Fix breakpoint insertion location In-Reply-To: <86zibf1n5e.fsf@gmail.com> Message-ID: <alpine.DEB.2.00.1708041500090.17596@tp.orcam.me.uk> References: <alpine.DEB.2.00.1708011707230.29991@tp.orcam.me.uk> <86zibf1n5e.fsf@gmail.com> User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" |
Commit Message
Maciej W. Rozycki
Aug. 4, 2017, 2:12 p.m. UTC
Fix a commit cd6c3b4ffc4e ("New gdbarch methods breakpoint_kind_from_pc and sw_breakpoint_from_kind") regression and restore the use of `->placed_address' rather than `->reqstd_address' as the location for a memory breakpoint to be inserted at. Previously `gdbarch_breakpoint_from_pc' was used that made that adjustment in `default_memory_insert_breakpoint' from the preinitialized value, however with the said commit that call is gone, so the passed `->placed_address' has to be used for the initialization. The regression manifests itself as the inability to debug any MIPS/Linux compressed ISA dynamic executable as GDB corrupts the dynamic loader with one of its implicit breakpoints, causing the program to crash, as seen for example with the `mips-linux-gnu' target, o32 ABI, MIPS16 code, and the gdb.base/advance.exp test case: (gdb) continue Continuing. Program received signal SIGBUS, Bus error. _dl_debug_initialize (ldbase=0, ns=0) at dl-debug.c:51 51 r = &_r_debug; (gdb) FAIL: gdb.base/advance.exp: Can't run to main gdb/ PR breakpoints/21886 * mem-break.c (default_memory_insert_breakpoint): Use `->placed_address' rather than `->reqstd_address' for the breakpoint location. --- On Fri, 4 Aug 2017, Yao Qi wrote: > "Maciej W. Rozycki" <macro@imgtec.com> writes: > > > Fix a commit cd6c3b4ffc4e ("New gdbarch methods breakpoint_kind_from_pc > > and sw_breakpoint_from_kind") regression and restore the use of > > ->placed_size rather than ->reqstd_address as the location for a memory > > s/placed_size/placed_address/ Oh, I see you've noticed it too! :) > The patch looks good to me, but please give me two or three days to run > the tests on an armv7 board. The board is being used for other tests, > and I'll start the regression test on Monday next week. Sure. Here's v2 with an updated description. No changes to the patch itself. Maciej Changes from v1: - Description corrected, s/->placed_size/->placed_address/, - Quotation made consistent across the description, e.g. `->reqstd_address' vs previous ->reqstd_address, - PR annotation added. --- gdb/mem-break.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) gdb-mem-break-placed-address.diff
Comments
"Maciej W. Rozycki" <macro@imgtec.com> writes: >> The patch looks good to me, but please give me two or three days to run >> the tests on an armv7 board. The board is being used for other tests, >> and I'll start the regression test on Monday next week. > > Sure. Here's v2 with an updated description. No changes to the patch > itself. My test is done. No regression. Could you please push it in?
On Mon, 7 Aug 2017, Yao Qi wrote: > > Sure. Here's v2 with an updated description. No changes to the patch > > itself. > > My test is done. No regression. Could you please push it in? Thanks for your review and testing. I have committed it to master now. How about the 8.0 branch? Maciej
"Maciej W. Rozycki" <macro@imgtec.com> writes: > Thanks for your review and testing. I have committed it to master now. > How about the 8.0 branch? Yes, please. Are you able to edit page https://sourceware.org/gdb/wiki/GDB_8.0_Release and add this PR in 8.0.1 release? If you don't have the permission to edit, I can do it for you.
On Wed, 9 Aug 2017, Yao Qi wrote: > > Thanks for your review and testing. I have committed it to master now. > > How about the 8.0 branch? > > Yes, please. Are you able to edit page > https://sourceware.org/gdb/wiki/GDB_8.0_Release and add this PR in 8.0.1 > release? If you don't have the permission to edit, I can do it for you. I have backported the change now and, after a hiccup, managed to create a wiki account. However as you suspected, I seem unable to edit the page as it shows as immutable, at least to me. Would you be able to do anything about my editing permission? FWIW I have no issues with the sibling GLIBC wiki. I'm user `macro' in both wikis. Thanks for your review. Maciej
On 17-08-11 15:31:25, Maciej W. Rozycki wrote: > On Wed, 9 Aug 2017, Yao Qi wrote: > > > > Thanks for your review and testing. I have committed it to master now. > > > How about the 8.0 branch? > > > > Yes, please. Are you able to edit page > > https://sourceware.org/gdb/wiki/GDB_8.0_Release and add this PR in 8.0.1 > > release? If you don't have the permission to edit, I can do it for you. > > I have backported the change now and, after a hiccup, managed to create a > wiki account. However as you suspected, I seem unable to edit the page as > it shows as immutable, at least to me. Would you be able to do anything > about my editing permission? FWIW I have no issues with the sibling GLIBC > wiki. I'm user `macro' in both wikis. AFAIK, users on https://sourceware.org/gdb/wiki/EditorGroup have the permission to edit the wiki. I add `macro' in the list. Does it work?
On Fri, 11 Aug 2017, Yao Qi wrote: > > I have backported the change now and, after a hiccup, managed to create a > > wiki account. However as you suspected, I seem unable to edit the page as > > it shows as immutable, at least to me. Would you be able to do anything > > about my editing permission? FWIW I have no issues with the sibling GLIBC > > wiki. I'm user `macro' in both wikis. > > AFAIK, users on https://sourceware.org/gdb/wiki/EditorGroup have the > permission to edit the wiki. I add `macro' in the list. Does it work? It does, thank you! Page updated. BTW, PR 21555 still has to be closed it would seem. I'm not sure if it's bugzilla or my browser (or myself), but I had troubles closing PR 21886 as well, as the intended status flipped from RESOLVED to WAITING as I was typing in the comment. Maciej
Index: binutils/gdb/mem-break.c =================================================================== --- binutils.orig/gdb/mem-break.c 2017-07-30 22:45:34.000000000 +0100 +++ binutils/gdb/mem-break.c 2017-07-30 23:41:28.595612206 +0100 @@ -37,7 +37,7 @@ int default_memory_insert_breakpoint (struct gdbarch *gdbarch, struct bp_target_info *bp_tgt) { - CORE_ADDR addr = bp_tgt->reqstd_address; + CORE_ADDR addr = bp_tgt->placed_address; const unsigned char *bp; gdb_byte *readbuf; int bplen;