From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24118 invoked by alias); 9 Mar 2009 23:31:13 -0000 Received: (qmail 24106 invoked by uid 22791); 9 Mar 2009 23:31:10 -0000 X-SWARE-Spam-Status: No, hits=-1.5 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_63,SARE_MSGID_LONG40,SPF_PASS X-Spam-Check-By: sourceware.org Received: from smtp-out.google.com (HELO smtp-out.google.com) (216.239.45.13) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 09 Mar 2009 23:31:03 +0000 Received: from zps38.corp.google.com (zps38.corp.google.com [172.25.146.38]) by smtp-out.google.com with ESMTP id n29NV0Cb028339 for ; Mon, 9 Mar 2009 16:31:00 -0700 Received: from yx-out-2324.google.com (yxg8.prod.google.com [10.190.2.136]) by zps38.corp.google.com with ESMTP id n29NUdPU031826 for ; Mon, 9 Mar 2009 16:30:59 -0700 Received: by yx-out-2324.google.com with SMTP id 8so2772159yxg.87 for ; Mon, 09 Mar 2009 16:30:59 -0700 (PDT) MIME-Version: 1.0 Received: by 10.142.102.5 with SMTP id z5mr2753186wfb.334.1236641088873; Mon, 09 Mar 2009 16:24:48 -0700 (PDT) In-Reply-To: <20090309183316.GA4561@adacore.com> References: <20090223010759.GA30997@adacore.com> <8ac60eac0903021830w363783ear7d4c8fc1177d6448@mail.gmail.com> <8ac60eac0903041124s1aafb562u225f268c4d1511dd@mail.gmail.com> <20090305200415.GC3744@adacore.com> <8ac60eac0903051546r1eaffc89tf1f35b21e6dc1b40@mail.gmail.com> <8ac60eac0903051906r5d41990bwcaccdfb4accef562@mail.gmail.com> <20090306174822.GJ3744@adacore.com> <8ac60eac0903061406t610ba1a1y1c62e5ee30332c7c@mail.gmail.com> <20090309183316.GA4561@adacore.com> Date: Tue, 10 Mar 2009 02:05:00 -0000 Message-ID: <8ac60eac0903091624w6ec724e7s14fbfd9febc7e9c3@mail.gmail.com> Subject: Re: [patch] Fix a crash when displaying variables from shared library. From: Paul Pluzhnikov To: Joel Brobecker Cc: tromey@redhat.com, Pedro Alves , gdb-patches@sourceware.org Content-Type: multipart/mixed; boundary=001636e90f1dd1242c0464b7f086 X-System-Of-Record: true X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2009-03/txt/msg00136.txt.bz2 --001636e90f1dd1242c0464b7f086 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-length: 1804 On Mon, Mar 9, 2009 at 11:33 AM, Joel Brobecker wrote: >> 2009-03-06 Paul Pluzhnikov >> >> * solib.c (solib_contains_address_p): New function. > > Looks great to me. Go ahead and check it in. Thanks, so committed. And now we come back to the shlib_disable question. With the change above, I believe it to be quite reasonable to update breakpoint.c as attached patch does. But doing that breaks attach.exp again: FAIL: gdb.base/attach.exp: attach1 detach due to: warning: Temporarily disabling breakpoints for unloaded shared library "/lib64/ld-linux-x86-64.so.2" With current code we don't issue the warning, but only because ld-linux has already been removed from the so_list_head, and so solib_name_from_address() returns NULL. It looks to me that this works purely by accident, and so I ask again: shouldn't all types of breakpoints, and not just bp_breakpoint and bp_hardware_breakpoint, be shlib_disabled in disable_breakpoints_in_shlibs? I went ahead and did this: diff -u -p -u -r1.382 breakpoint.c --- breakpoint.c 6 Mar 2009 18:51:05 -0000 1.382 +++ breakpoint.c 9 Mar 2009 22:55:02 -0000 @@ -4434,8 +4434,7 @@ disable_breakpoints_in_shlibs (void) becomes enabled, or the duplicate is removed, gdb will try to insert all breakpoints. If we don't set shlib_disabled here, we'll try to insert those breakpoints and fail. */ - if (((b->type == bp_breakpoint) || (b->type == bp_hardware_breakpoint)) - && !loc->shlib_disabled + if (!loc->shlib_disabled #ifdef PC_SOLIB && PC_SOLIB (loc->address) #else And that did not produce any new failures on Linux/x86_64. It appears to me that this is the logically correct thing to do. Thanks, -- Paul Pluzhnikov --001636e90f1dd1242c0464b7f086 Content-Type: text/plain; charset=US-ASCII; name="gdb-display-crash-20090309.txt" Content-Disposition: attachment; filename="gdb-display-crash-20090309.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_fs3r0p5f0 Content-length: 2400 SW5kZXg6IGJyZWFrcG9pbnQuYwo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJD UyBmaWxlOiAvY3ZzL3NyYy9zcmMvZ2RiL2JyZWFrcG9pbnQuYyx2CnJldHJp ZXZpbmcgcmV2aXNpb24gMS4zODIKZGlmZiAtdSAtcCAtdSAtcjEuMzgyIGJy ZWFrcG9pbnQuYwotLS0gYnJlYWtwb2ludC5jCTYgTWFyIDIwMDkgMTg6NTE6 MDUgLTAwMDAJMS4zODIKKysrIGJyZWFrcG9pbnQuYwk5IE1hciAyMDA5IDIy OjUxOjQ1IC0wMDAwCkBAIC00NDcwLDI4ICs0NDcwLDIxIEBAIGRpc2FibGVf YnJlYWtwb2ludHNfaW5fdW5sb2FkZWRfc2hsaWIgKHMKICAgICBzdHJ1Y3Qg YnJlYWtwb2ludCAqYiA9IGxvYy0+b3duZXI7CiAgICAgaWYgKChsb2MtPmxv Y190eXBlID09IGJwX2xvY19oYXJkd2FyZV9icmVha3BvaW50CiAJIHx8IGxv Yy0+bG9jX3R5cGUgPT0gYnBfbG9jX3NvZnR3YXJlX2JyZWFrcG9pbnQpCi0J JiYgIWxvYy0+c2hsaWJfZGlzYWJsZWQpCisJJiYgIWxvYy0+c2hsaWJfZGlz YWJsZWQKKwkmJiBzb2xpYl9jb250YWluc19hZGRyZXNzX3AgKHNvbGliLCBs b2MtPmFkZHJlc3MpKQogICAgICAgewotI2lmZGVmIFBDX1NPTElCCi0JY2hh ciAqc29fbmFtZSA9IFBDX1NPTElCIChsb2MtPmFkZHJlc3MpOwotI2Vsc2UK LQljaGFyICpzb19uYW1lID0gc29saWJfbmFtZV9mcm9tX2FkZHJlc3MgKGxv Yy0+YWRkcmVzcyk7Ci0jZW5kaWYKLQlpZiAoc29fbmFtZSAmJiAhc3RyY21w IChzb19uYW1lLCBzb2xpYi0+c29fbmFtZSkpCi0gICAgICAgICAgewotCSAg ICBsb2MtPnNobGliX2Rpc2FibGVkID0gMTsKLQkgICAgLyogQXQgdGhpcyBw b2ludCwgd2UgY2Fubm90IHJlbHkgb24gcmVtb3ZlX2JyZWFrcG9pbnQKLQkg ICAgICAgc3VjY2VlZGluZyBzbyB3ZSBtdXN0IG1hcmsgdGhlIGJyZWFrcG9p bnQgYXMgbm90IGluc2VydGVkCi0JICAgICAgIHRvIHByZXZlbnQgZnV0dXJl IGVycm9ycyBvY2N1cnJpbmcgaW4gcmVtb3ZlX2JyZWFrcG9pbnRzLiAgKi8K LQkgICAgbG9jLT5pbnNlcnRlZCA9IDA7Ci0JICAgIGlmICghZGlzYWJsZWRf c2hsaWJfYnJlYWtzKQotCSAgICAgIHsKLQkJdGFyZ2V0X3Rlcm1pbmFsX291 cnNfZm9yX291dHB1dCAoKTsKLQkJd2FybmluZyAoXygiVGVtcG9yYXJpbHkg ZGlzYWJsaW5nIGJyZWFrcG9pbnRzIGZvciB1bmxvYWRlZCBzaGFyZWQgbGli cmFyeSBcIiVzXCIiKSwKLQkJCSAgc29fbmFtZSk7Ci0JICAgICAgfQotCSAg ICBkaXNhYmxlZF9zaGxpYl9icmVha3MgPSAxOworCWxvYy0+c2hsaWJfZGlz YWJsZWQgPSAxOworCS8qIEF0IHRoaXMgcG9pbnQsIHdlIGNhbm5vdCByZWx5 IG9uIHJlbW92ZV9icmVha3BvaW50CisJICAgc3VjY2VlZGluZyBzbyB3ZSBt dXN0IG1hcmsgdGhlIGJyZWFrcG9pbnQgYXMgbm90IGluc2VydGVkCisJICAg dG8gcHJldmVudCBmdXR1cmUgZXJyb3JzIG9jY3VycmluZyBpbiByZW1vdmVf YnJlYWtwb2ludHMuICAqLworCWxvYy0+aW5zZXJ0ZWQgPSAwOworCWlmICgh ZGlzYWJsZWRfc2hsaWJfYnJlYWtzKQorCSAgeworCSAgICB0YXJnZXRfdGVy bWluYWxfb3Vyc19mb3Jfb3V0cHV0ICgpOworCSAgICB3YXJuaW5nIChfKCJU ZW1wb3JhcmlseSBkaXNhYmxpbmcgYnJlYWtwb2ludHMgZm9yIHVubG9hZGVk IHNoYXJlZCBsaWJyYXJ5IFwiJXNcIiIpLAorCQkgICAgIHNvbGliLT5zb19u YW1lKTsKIAkgIH0KKwlkaXNhYmxlZF9zaGxpYl9icmVha3MgPSAxOwogICAg ICAgfQogICB9CiB9Cg== --001636e90f1dd1242c0464b7f086--