From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9703 invoked by alias); 9 May 2012 07:35:20 -0000 Received: (qmail 9413 invoked by uid 22791); 9 May 2012 07:35:17 -0000 X-SWARE-Spam-Status: No, hits=-5.3 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,KHOP_RCVD_TRUST,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mail-qa0-f48.google.com (HELO mail-qa0-f48.google.com) (209.85.216.48) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 09 May 2012 07:35:02 +0000 Received: by qady23 with SMTP id y23so69841qad.14 for ; Wed, 09 May 2012 00:35:01 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:x-system-of-record:x-gm-message-state; bh=KW3HoL+whAqGk4kiExD3nphQrNFsi4PZ/ZsgCqAoQBg=; b=ZSkSk6cpC1GwBakfBMsbhOuY+nH6tY3qHLa4UhD3Qf/FexdBdsfKcnKLXq5q+6ksSu Lb3dqEO61/9HLgRInr0veGagr4dSgA9OlXYWbBY8+/NcV1K01WiNwYn3Z1VD7QmbreoQ jGU5PO7s7hn1Z9S6fXDTaL9+HuKSTp2PVPO3D/zDEMyRINBQzvo5rV5UB87YKNV3++NQ EU0MKMmlpkZvbvBVCH2tRozuR87rp2+Cx8BKilVKSFC4y0SJvhk+6B5d2p8LtEl7j0rH gt5XSkbXACdQjQW+ek8kmFZj3XD5oFbGuL9Rx1owqLcbdto4aJfriwD0kNdLh6HDTLMz rotQ== Received: by 10.224.212.195 with SMTP id gt3mr3150644qab.80.1336548901385; Wed, 09 May 2012 00:35:01 -0700 (PDT) MIME-Version: 1.0 Received: by 10.224.212.195 with SMTP id gt3mr3150633qab.80.1336548901266; Wed, 09 May 2012 00:35:01 -0700 (PDT) Received: by 10.224.215.132 with HTTP; Wed, 9 May 2012 00:35:01 -0700 (PDT) In-Reply-To: <8362c73huz.fsf@gnu.org> References: <8362c73huz.fsf@gnu.org> Date: Wed, 09 May 2012 07:35:00 -0000 Message-ID: Subject: Re: [RFC] - Exposing find_pc_line through Python API From: Siva Chandra To: Eli Zaretskii Cc: gdb-patches@sourceware.org Content-Type: multipart/mixed; boundary=20cf300fab697c248704bf958af2 X-System-Of-Record: true X-Gm-Message-State: ALoCoQlo45nPZEO9szsajerDrC2kcDUjrRRXE9XDsNDSHTJkmGuVC2W1exJfnc+8u9mPA+ap7L8fr8IRb3tIgPPZnJyenntPXwEVSHOEIJgNIymP0qe0UdhQQWbDVelcZdfWI5xuxfhAUHyCUz/fR30x43umvDrJDQ== 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: 2012-05/txt/msg00257.txt.bz2 --20cf300fab697c248704bf958af2 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-length: 1912 Eli> If I were that user, I would "feel" that the execution is at the first Eli> line (or maybe in the prologue) of 'func', since PC is (in my mind) Eli> unaffected by commands that walk the call stack. =A0And if you are Eli> talking about the value of PC saved in the frame of the caller of Eli> 'func', then saying that line 22 is the "actual" location is again Eli> confusing, because execution did not yet reach that point. Eli> So I have hard time understanding why we need the distinction. =A0And Eli> since you say that the current Symtab_and_line.line gives the second Eli> alternatives, I'm confused even more. Eli> It's possible that I'm the only confused person here, but in that Eli> case, at least the example should be fixed to show and explain the Eli> distinction more clearly and unequivocally, and also in which Eli> situations the "actual" value is useful. The more I think about your comments, the more I feel that exposing this 'actual' argument is not a good idea. I am now of the opinion that the 'notcurrent' argument to the internal function find_pc_line caters to a internal usage which depends on much more than just what the user feels. Hence, I have modified the patch to remove the 'actual' argument. The new version of the patch is attached. 2012-05-07 Siva Chandra Reddy Add a new function gdb.find_pc_line to the Python API. * NEWS (Python Scripting): Add entry about the new function. * python/python.c (gdbpy_find_pc_line): New function which implements gdb.find_pc_line. (GdbMethods): Add entry for the new function. doc/ * gdb.texinfo (Basic Python): Add description about the function gdb.find_pc_line testsuite/ * gdb.python/python.c: Add a new breakpoint comment. * gdb.python/python.exp: Add tests to test gdb.find_pc_line. Thanks, Siva Chandra --20cf300fab697c248704bf958af2 Content-Type: text/plain; charset=US-ASCII; name="pc_line_patch_v2.txt" Content-Disposition: attachment; filename="pc_line_patch_v2.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_h202jra10 Content-length: 6271 SW5kZXg6IE5FV1MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTog L2N2cy9zcmMvc3JjL2dkYi9ORVdTLHYKcmV0cmlldmluZyByZXZpc2lvbiAx LjUxNApkaWZmIC11IC1wIC1yMS41MTQgTkVXUwotLS0gTkVXUwkzIE1heSAy MDEyIDA3OjA3OjI0IC0wMDAwCTEuNTE0CisrKyBORVdTCTkgTWF5IDIwMTIg MDY6MjM6MjYgLTAwMDAKQEAgLTQzLDYgKzQzLDkgQEAKICAgICAgd2hpY2gg cmV0dXJuIHRoZSBnbG9iYWwgYW5kIHN0YXRpYyBibG9ja3MgKGFzIGdkYi5C bG9jayBvYmplY3RzKSwKICAgICAgb2YgdGhlIHVuZGVybHlpbmcgc3ltYm9s IHRhYmxlLCByZXNwZWN0aXZlbHkuCiAKKyAgKiogTmV3IGZ1bmN0aW9uIGdk Yi5maW5kX3BjX2xpbmUgd2hpY2ggcmV0dXJucyB0aGUgZ2RiLlN5bXRhYl9h bmRfbGluZQorICAgICBvYmplY3QgYXNzb2NpYXRlZCB3aXRoIGEgUEMgdmFs dWUuCisKICogR28gbGFuZ3VhZ2Ugc3VwcG9ydC4KICAgR0RCIG5vdyBzdXBw b3J0cyBkZWJ1Z2dpbmcgcHJvZ3JhbXMgd3JpdHRlbiBpbiB0aGUgR28gcHJv Z3JhbW1pbmcKICAgbGFuZ3VhZ2UuCkluZGV4OiBkb2MvZ2RiLnRleGluZm8K PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9zcmMvc3Jj L2dkYi9kb2MvZ2RiLnRleGluZm8sdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEu OTU1CmRpZmYgLXUgLXAgLXIxLjk1NSBnZGIudGV4aW5mbwotLS0gZG9jL2dk Yi50ZXhpbmZvCTYgTWF5IDIwMTIgMTU6MzE6MDQgLTAwMDAJMS45NTUKKysr IGRvYy9nZGIudGV4aW5mbwk5IE1heSAyMDEyIDA2OjIzOjMyIC0wMDAwCkBA IC0yMjM5Miw2ICsyMjM5MiwxMiBAQCBjb21wdXRlIHZhbHVlcywgZm9yIGV4 YW1wbGUsIGl0IGlzIHRoZSBvCiBjb252ZW5pZW5jZSB2YXJpYWJsZSAoQHB4 cmVme0NvbnZlbmllbmNlIFZhcnN9KSBhcyBhIEBjb2Rle2dkYi5WYWx1ZX0u CiBAZW5kIGRlZnVuCiAKK0BmaW5kZXggZ2RiLmZpbmRfcGNfbGluZQorQGRl ZnVuIGdkYi5maW5kX3BjX2xpbmUgKHBjKQorUmV0dXJuIHRoZSBAY29kZXtn ZGIuU3ltdGFiX2FuZF9saW5lfSBvYmplY3QgY29ycmVzcG9uZGluZyB0byB0 aGUKK0B2YXJ7cGN9IHZhbHVlLiAgQHhyZWZ7U3ltYm9sIFRhYmxlcyBJbiBQ eXRob259LgorQGVuZCBkZWZ1bgorCiBAZmluZGV4IGdkYi5wb3N0X2V2ZW50 CiBAZGVmdW4gZ2RiLnBvc3RfZXZlbnQgKGV2ZW50KQogUHV0IEB2YXJ7ZXZl bnR9LCBhIGNhbGxhYmxlIG9iamVjdCB0YWtpbmcgbm8gYXJndW1lbnRzLCBp bnRvCkluZGV4OiBweXRob24vcHl0aG9uLmMKPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQpSQ1MgZmlsZTogL2N2cy9zcmMvc3JjL2dkYi9weXRob24vcHl0aG9u LmMsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuODYKZGlmZiAtdSAtcCAtcjEu ODYgcHl0aG9uLmMKLS0tIHB5dGhvbi9weXRob24uYwkzMCBNYXIgMjAxMiAy MDowNTo1NSAtMDAwMAkxLjg2CisrKyBweXRob24vcHl0aG9uLmMJOSBNYXkg MjAxMiAwNjoyMzozMiAtMDAwMApAQCAtNjMxLDYgKzYzMSwyNSBAQCBnZGJw eV9wYXJzZV9hbmRfZXZhbCAoUHlPYmplY3QgKnNlbGYsIFB5CiAgIHJldHVy biB2YWx1ZV90b192YWx1ZV9vYmplY3QgKHJlc3VsdCk7CiB9CiAKKy8qIElt cGxlbWVudGF0aW9uIG9mIGdkYi5maW5kX3BjX2xpbmUgZnVuY3Rpb24uCisg ICBSZXR1cm5zIHRoZSBnZGIuU3ltdGFiX2FuZF9saW5lIG9iamVjdCBjb3Jy ZXNwb25kaW5nIHRvIGEgUEMgdmFsdWUuICAqLworCitzdGF0aWMgUHlPYmpl Y3QgKgorZ2RicHlfZmluZF9wY19saW5lIChQeU9iamVjdCAqc2VsZiwgUHlP YmplY3QgKmFyZ3MpCit7CisgIHN0cnVjdCBzeW10YWJfYW5kX2xpbmUgc2Fs OworICBDT1JFX0FERFIgcGM7CisgIHVuc2lnbmVkIGxvbmcgbG9uZyBwY19s bHU7CisgIFB5T2JqZWN0ICphY3R1YWwgPSBOVUxMOworCisgIGlmICghUHlB cmdfUGFyc2VUdXBsZSAoYXJncywgR0RCX1BZX0xMVV9BUkcsICZwY19sbHUp KQorICAgIHJldHVybiBOVUxMOworCisgIHBjID0gKENPUkVfQUREUikgcGNf bGx1OworICBzYWwgPSBmaW5kX3BjX2xpbmUgKHBjLCAwKTsKKyAgcmV0dXJu IHN5bXRhYl9hbmRfbGluZV90b19zYWxfb2JqZWN0IChzYWwpOworfQorCiAv KiBSZWFkIGEgZmlsZSBhcyBQeXRob24gY29kZS4KICAgIEZJTEUgaXMgdGhl IGZpbGUgdG8gcnVuLiAgRklMRU5BTUUgaXMgbmFtZSBvZiB0aGUgZmlsZSBG SUxFLgogICAgVGhpcyBkb2VzIG5vdCB0aHJvdyBhbnkgZXJyb3JzLiAgSWYg YW4gZXhjZXB0aW9uIG9jY3VycyBweXRob24gd2lsbCBwcmludApAQCAtMTQ1 OCw2ICsxNDc3LDkgQEAgZ2RiLlN5bXRhYl9hbmRfbGluZSBvYmplY3RzIChv ciBOb25lKS4ifQogICAgICJwYXJzZV9hbmRfZXZhbCAoU3RyaW5nKSAtPiBW YWx1ZS5cblwKIFBhcnNlIFN0cmluZyBhcyBhbiBleHByZXNzaW9uLCBldmFs dWF0ZSBpdCwgYW5kIHJldHVybiB0aGUgcmVzdWx0IGFzIGEgVmFsdWUuIgog ICB9LAorICB7ICJmaW5kX3BjX2xpbmUiLCBnZGJweV9maW5kX3BjX2xpbmUs IE1FVEhfVkFSQVJHUywKKyAgICAiZmluZF9wY19saW5lIChwYykgLT4gU3lt dGFiX2FuZF9saW5lLlxuXAorUmV0dXJuIHRoZSBnZGIuU3ltdGFiX2FuZF9s aW5lIG9iamVjdCBjb3JyZXNwb25kaW5nIHRvIHRoZSBwYyB2YWx1ZS4iIH0s CiAKICAgeyAicG9zdF9ldmVudCIsIGdkYnB5X3Bvc3RfZXZlbnQsIE1FVEhf VkFSQVJHUywKICAgICAiUG9zdCBhbiBldmVudCBpbnRvIGdkYidzIGV2ZW50 IGxvb3AuIiB9LApJbmRleDogdGVzdHN1aXRlL2dkYi5weXRob24vcHl0aG9u LmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9zcmMv c3JjL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weXRob24uYyx2CnJldHJp ZXZpbmcgcmV2aXNpb24gMS40CmRpZmYgLXUgLXAgLXIxLjQgcHl0aG9uLmMK LS0tIHRlc3RzdWl0ZS9nZGIucHl0aG9uL3B5dGhvbi5jCTQgSmFuIDIwMTIg MDg6Mjc6NDkgLTAwMDAJMS40CisrKyB0ZXN0c3VpdGUvZ2RiLnB5dGhvbi9w eXRob24uYwk5IE1heSAyMDEyIDA2OjIzOjMyIC0wMDAwCkBAIC0yMyw2ICsy Myw2IEBAIGludAogbWFpbiAoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKIHsK ICAgZnVuYzEgKCk7Ci0gIGZ1bmMyICgpOworICBmdW5jMiAoKTsgICAgICAv KiBCcmVhayBhdCBmdW5jMiBjYWxsIHNpdGUuICAqLwogICByZXR1cm4gMDsg ICAgICAvKiBCcmVhayB0byBlbmQuICAqLwogfQpJbmRleDogdGVzdHN1aXRl L2dkYi5weXRob24vcHl0aG9uLmV4cAo9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 ClJDUyBmaWxlOiAvY3ZzL3NyYy9zcmMvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0 aG9uL3B5dGhvbi5leHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMzIKZGlm ZiAtdSAtcCAtcjEuMzIgcHl0aG9uLmV4cAotLS0gdGVzdHN1aXRlL2dkYi5w eXRob24vcHl0aG9uLmV4cAkzMCBNYXIgMjAxMiAxOToxNjo1MiAtMDAwMAkx LjMyCisrKyB0ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weXRob24uZXhwCTkgTWF5 IDIwMTIgMDY6MjM6MzIgLTAwMDAKQEAgLTM2NywzICszNjcsMjMgQEAgZ2Ri X3Rlc3RfbXVsdGlwbGUgInB5dGhvbiBnZGIucHJvbXB0X2hvbwogCiBnZGJf cHlfdGVzdF9zaWxlbnRfY21kICJweXRob24gZ2RiLnByb21wdF9ob29rID0g Tm9uZSIgXAogICAgICJzZXQgdGhlIGhvb2sgdG8gZGVmYXVsdCIgMQorCisj IFN0YXJ0IHdpdGggYSBmcmVzaCBnZGIuCitjbGVhbl9yZXN0YXJ0ICR7dGVz dGZpbGV9CisKKyMgVGhlIGZvbGxvd2luZyB0ZXN0cyByZXF1aXJlIGV4ZWN1 dGlvbi4KKworaWYgIVtydW50b19tYWluXSB0aGVuIHsKKyAgICBmYWlsICJD YW4ndCBydW4gdG8gbWFpbiIKKyAgICByZXR1cm4gMAorfQorCitydW50byBb Z2RiX2dldF9saW5lX251bWJlciAiQnJlYWsgYXQgZnVuYzIgY2FsbCBzaXRl LiJdCisKK2dkYl9weV90ZXN0X3NpbGVudF9jbWQgInB5dGhvbiBsaW5lID0g Z2RiLnNlbGVjdGVkX2ZyYW1lKCkuZmluZF9zYWwoKS5saW5lIiAiR2V0IGxp bmUgbnVtYmVyIG9mIGZ1bmMyIGNhbGwgc2l0ZSIgMQorZ2RiX3Rlc3QgInB5 dGhvbiBwcmludCBnZGIuZmluZF9wY19saW5lKGdkYi5zZWxlY3RlZF9mcmFt ZSgpLnBjKCkpLmxpbmUgPT0gbGluZSIgIlRydWUiICJUZXN0IGZpbmRfcGNf bGluZSBhdCBmdW5jMiBjYWxsIHNpdGUiCisKK2dkYl9weV90ZXN0X3NpbGVu dF9jbWQgInN0ZXAiICJTdGVwIGludG8gZnVuYzIiIDEKK2dkYl9weV90ZXN0 X3NpbGVudF9jbWQgInVwIiAiU3RlcCBvdXQgb2YgZnVuYzIiIDEKKworZ2Ri X3Rlc3QgInB5dGhvbiBwcmludCBnZGIuZmluZF9wY19saW5lKGdkYi5zZWxl Y3RlZF9mcmFtZSgpLnBjKCkpLmxpbmUgPiBsaW5lIiAiVHJ1ZSIgIlRlc3Qg ZmluZF9wY19saW5lIHdpdGggcmVzdW1lIGFkZHJlc3MiCg== --20cf300fab697c248704bf958af2--