From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20235 invoked by alias); 7 May 2012 18:11:55 -0000 Received: (qmail 20222 invoked by uid 22791); 7 May 2012 18:11:52 -0000 X-SWARE-Spam-Status: No, hits=-4.5 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,KHOP_RCVD_TRUST,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; Mon, 07 May 2012 18:11:26 +0000 Received: by qady23 with SMTP id y23so3336018qad.14 for ; Mon, 07 May 2012 11:11:25 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type :x-system-of-record:x-gm-message-state; bh=VaDPN9dn2PxBP9+r6dYSmDXkb+qQonKRv2h7V+PZwxI=; b=kROblKQhk5oTqKl/PxpOStvs0Ebb//mCHteErgJ3rzvOsFx5Ej0WNqcop2Ay3utEqy 9rTcp70cBtl7hezTBkytogkp1rFQy32nCX0Vof7sCSByIKINpI96TKei9hPEOnGpZ2ym 2fJ2TL0JvfaqYPVMbhFwpxcb2AhZXRaO5FWOpn14EI/H/3Dlgw+8haDcycQ4LQMTgI4k +XG3pkcppUukG3NyiR6kMF9q3T1gFdQryjT9g6bh4y5dELc0OaphUDwX7xhliNxZEadz GFmjlA+Au/Js5ghqHzweO57fIAvjBra1vU5iGY6CWpmvJlMyeAGXZJUN6qO/gT1ZnTKC TK5w== Received: by 10.229.135.141 with SMTP id n13mr8054668qct.25.1336414285777; Mon, 07 May 2012 11:11:25 -0700 (PDT) MIME-Version: 1.0 Received: by 10.229.135.141 with SMTP id n13mr8054660qct.25.1336414285641; Mon, 07 May 2012 11:11:25 -0700 (PDT) Received: by 10.224.215.132 with HTTP; Mon, 7 May 2012 11:11:25 -0700 (PDT) Date: Mon, 07 May 2012 18:11:00 -0000 Message-ID: Subject: [RFC] - Exposing find_pc_line through Python API From: Siva Chandra To: gdb-patches@sourceware.org Content-Type: multipart/mixed; boundary=e0cb4e59348ac4b7ff04bf76327e X-System-Of-Record: true X-Gm-Message-State: ALoCoQn9FRk9rb7H6iavsjdiW531usAAFkCUltm2haXeRbUu514MICWOt3ipc2qHvCFSopkiC7JAZkO43QQikoJiCiyDMjpY2vUgHQhVV/C+EslECSCwFLv8zONp/tx+8x9t0n2KNBE9yxgXM1h+oAQGJ5Ar1Yqp7g== 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/msg00184.txt.bz2 --e0cb4e59348ac4b7ff04bf76327e Content-Type: text/plain; charset=ISO-8859-1 Content-length: 835 Hi all, I wanted a way to get the actual line number given a PC value using the Python API. The currently available Symtab_and_line.line gives the line number which the user thinks the current execution is, but not the actual. Attached is a patch which adds gdb.find_pc_line corresponding to the C function find_pc_line. 2012-05-07 Siva Chandra Reddy Add a new function gdb.find_pc_line to the Python API. * python/python.c (gdbpy_find_pc_line): New function which implements gdb.find_pc_line. doc/ * gdb.texinfo (Basic Python): Add description about the function gdb.find_pc_line testsuite/ * gdb.python/python.c: Add a new breakpoint location. * gdb.python/python.exp: Add tests to test gdb.find_pc_line. Thanks, Siva Chandra --e0cb4e59348ac4b7ff04bf76327e Content-Type: text/plain; charset=US-ASCII; name="pc_line_patch_v1.txt" Content-Disposition: attachment; filename="pc_line_patch_v1.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_h1xuhfi90 Content-length: 7837 SW5kZXg6IGRvYy9nZGIudGV4aW5mbwo9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 ClJDUyBmaWxlOiAvY3ZzL3NyYy9zcmMvZ2RiL2RvYy9nZGIudGV4aW5mbyx2 CnJldHJpZXZpbmcgcmV2aXNpb24gMS45NTUKZGlmZiAtdSAtcCAtcjEuOTU1 IGdkYi50ZXhpbmZvCi0tLSBkb2MvZ2RiLnRleGluZm8JNiBNYXkgMjAxMiAx NTozMTowNCAtMDAwMAkxLjk1NQorKysgZG9jL2dkYi50ZXhpbmZvCTcgTWF5 IDIwMTIgMTc6NTU6NTMgLTAwMDAKQEAgLTIyMzkyLDYgKzIyMzkyLDUzIEBA IGNvbXB1dGUgdmFsdWVzLCBmb3IgZXhhbXBsZSwgaXQgaXMgdGhlIG8KIGNv bnZlbmllbmNlIHZhcmlhYmxlIChAcHhyZWZ7Q29udmVuaWVuY2UgVmFyc30p IGFzIGEgQGNvZGV7Z2RiLlZhbHVlfS4KIEBlbmQgZGVmdW4KIAorQGZpbmRl eCBnZGIuZmluZF9wY19saW5lCitAZGVmdW4gZ2RiLmZpbmRfcGNfbGluZSAo cGMgWywgYWN0dWFsXSkKK1JldHVybiB0aGUgQGNvZGV7Z2RiLlN5bXRhYl9h bmRfbGluZX0gb2JqZWN0IGNvcnJlc3BvbmRpbmcgdG8gdGhlCitAdmFye3Bj fSB2YWx1ZS4gIElmIEB2YXJ7YWN0dWFsfSBpcyBAY29kZXtUcnVlfSwgaXQg cmV0dXJucyB0aGUKK0Bjb2Rle2dkYi5TeW10YWJfYW5kX2xpbmV9IG9iamVj dCB3aXRoIHRoZSBhY3R1YWwgbGluZSBjb3JyZXNwb25kaW5nCit0byB0aGUg cGMgdmFsdWUuICBPdGhlcndpc2UsIGl0IHJldHVybnMgdGhlIEBjb2Rle2dk Yi5TeW10YWJfYW5kX2xpbmV9CitvYmplY3Qgd2l0aCBhIGxpbmUgd2hpY2gg dGhlIHVzZXIgZmVlbHMgdGhlIGV4ZWN1dGlvbiBpcyBjdXJyZW50bHkgYXQu CitJZiBAdmFye2FjdHVhbH0gaXMgbm90IHNwZWNpZmllZCwgaXQgZGVmYXVs dHMgdG8gQGNvZGV7VHJ1ZX0uCitAeHJlZntTeW1ib2wgVGFibGVzIEluIFB5 dGhvbn0KKworVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBAdmFye2FjdHVhbH0g YmVpbmcgQGNvZGV7VHJ1ZX0gb3IgQGNvZGV7RmFsc2V9CitjYW4gYmUgaWxs dXN0cmF0ZWQgd2l0aCBhbiBleGFtcGxlLiAgTGV0IGEgY2FsbCB0byBhIGZ1 bmN0aW9uIEBjb2Rle2Z1bmN9CitiZSBvbiBsaW5lIDIwIGluIGEgQyBzb3Vy Y2UgZmlsZSBhcworCitAc21hbGxleGFtcGxlCisxOCAgLi4uCisxOQorMjAg IGZ1bmMgKCk7CisyMQorMjIgIHJldHVybiAwOworMjMKKzI0ICAuLi4KK0Bl bmQgc21hbGxleGFtcGxlCisKK0FmdGVyIGV4ZWN1dGluZyBAdmFsdWV7R0RC Tn0gY29tbWFuZHMgQGNvZGV7c3RlcH0gZm9sbG93ZWQgYnkgQGNvZGV7dXB9 CithdCBsaW5lIDIwLCB0aGUgYWN0dWFsIHZhbHVlIG9mIHRoZSBAY29kZXtQ Q30gcmVnaXN0ZXIgc2hvdWxkIGNvcnJlc3BvbmQKK3RvIHRoZSBuZXh0IGNv ZGUgbGluZSBhdCBsaW5lIDIyLiAgSG93ZXZlciwgc2luY2UgdGhlIGZ1bmN0 aW9uCitAY29kZXtmdW5jfSBoYXMgbm90IHlldCBiZWVuIGV4ZWN1dGVkLCB0 aGUgdXNlciBmZWVscyB0aGF0IHRoZSBleGVjdXRpb24KK2lzIHN0aWxsIGF0 IGxpbmUgMjAgKHRoZSBjYWxsIHNpdGUpIGluIHRoZSBjYWxsZXIuICBIZW5j ZSwgaW52b2tpbmcgCisKK0BzbWFsbGV4YW1wbGUKK2dkYi5maW5kX3BjX2xp bmUgKGdkYi5zZWxlY3RlZF9mcmFtZSgpLnBjKCksIFRydWUpCitAZW5kIHNt YWxsZXhhbXBsZQorCitAbm9pbmRlbnQKK3dpbGwgcmV0dXJuIGEgQGNvZGV7 Z2RiLlN5bXRhYl9hbmRfbGluZX0gb2JqZWN0IGNvcnJlc3BvbmRpbmcgdG8g dGhlCithY3R1YWwgbGluZSAyMiwgd2hpbGUgaW52b2tpbmcKKworQHNtYWxs ZXhhbXBsZQorZ2RiLmZpbmRfcGNfbGluZSAoZ2RiLnNlbGVjdGVkX2ZyYW1l KCkucGMoKSwgRmFsc2UpCitAZW5kIHNtYWxsZXhhbXBsZQorCitAbm9pbmRl bnQKK3dpbGwgcmV0dXJuIGEgQGNvZGV7Z2RiLlN5bXRhYl9hbmRfbGluZX0g b2JqZWN0IGNvcnJlc3BvbmRpbmcgdG8gdGhlCitjYWxsIHNpdGUgbGluZSAy MC4KK0BlbmQgZGVmdW4KKwogQGZpbmRleCBnZGIucG9zdF9ldmVudAogQGRl ZnVuIGdkYi5wb3N0X2V2ZW50IChldmVudCkKIFB1dCBAdmFye2V2ZW50fSwg YSBjYWxsYWJsZSBvYmplY3QgdGFraW5nIG5vIGFyZ3VtZW50cywgaW50bwpJ bmRleDogcHl0aG9uL3B5dGhvbi5jCj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K UkNTIGZpbGU6IC9jdnMvc3JjL3NyYy9nZGIvcHl0aG9uL3B5dGhvbi5jLHYK cmV0cmlldmluZyByZXZpc2lvbiAxLjg2CmRpZmYgLXUgLXAgLXIxLjg2IHB5 dGhvbi5jCi0tLSBweXRob24vcHl0aG9uLmMJMzAgTWFyIDIwMTIgMjA6MDU6 NTUgLTAwMDAJMS44NgorKysgcHl0aG9uL3B5dGhvbi5jCTcgTWF5IDIwMTIg MTc6NTU6NTQgLTAwMDAKQEAgLTYzMSw2ICs2MzEsMjggQEAgZ2RicHlfcGFy c2VfYW5kX2V2YWwgKFB5T2JqZWN0ICpzZWxmLCBQeQogICByZXR1cm4gdmFs dWVfdG9fdmFsdWVfb2JqZWN0IChyZXN1bHQpOwogfQogCisvKiBJbXBsZW1l bnRhdGlvbiBvZiBnZGIuZmluZF9wY19saW5lIGZ1bmN0aW9uLgorICAgUmV0 dXJucyB0aGUgZ2RiLlN5bXRhYl9hbmRfbGluZSBvYmplY3QgY29ycmVzcG9u ZGluZyB0byBhIFBDIHZhbHVlLiAgKi8KKworc3RhdGljIFB5T2JqZWN0ICoK K2dkYnB5X2ZpbmRfcGNfbGluZSAoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0 ICphcmdzKQoreworICBzdHJ1Y3Qgc3ltdGFiX2FuZF9saW5lIHNhbDsKKyAg Q09SRV9BRERSIHBjOworICBQeU9iamVjdCAqYWN0dWFsID0gTlVMTDsKKyAg aW50IG5vdGN1cnJlbnQgPSAwOworCisgIGlmICghUHlBcmdfUGFyc2VUdXBs ZSAoYXJncywgKEdEQl9QWV9MTFVfQVJHICJ8TyEiKSwgJnBjLCAmUHlCb29s X1R5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgJmFjdHVhbCkpCisg ICAgcmV0dXJuIE5VTEw7CisKKyAgaWYgKGFjdHVhbCkKKyAgICAgIG5vdGN1 cnJlbnQgPSAhUHlPYmplY3RfSXNUcnVlIChhY3R1YWwpOworCisgIHNhbCA9 IGZpbmRfcGNfbGluZSAocGMsIG5vdGN1cnJlbnQpOworICByZXR1cm4gc3lt dGFiX2FuZF9saW5lX3RvX3NhbF9vYmplY3QgKHNhbCk7Cit9CisKIC8qIFJl YWQgYSBmaWxlIGFzIFB5dGhvbiBjb2RlLgogICAgRklMRSBpcyB0aGUgZmls ZSB0byBydW4uICBGSUxFTkFNRSBpcyBuYW1lIG9mIHRoZSBmaWxlIEZJTEUu CiAgICBUaGlzIGRvZXMgbm90IHRocm93IGFueSBlcnJvcnMuICBJZiBhbiBl eGNlcHRpb24gb2NjdXJzIHB5dGhvbiB3aWxsIHByaW50CkBAIC0xNDU4LDYg KzE0ODAsMTQgQEAgZ2RiLlN5bXRhYl9hbmRfbGluZSBvYmplY3RzIChvciBO b25lKS4ifQogICAgICJwYXJzZV9hbmRfZXZhbCAoU3RyaW5nKSAtPiBWYWx1 ZS5cblwKIFBhcnNlIFN0cmluZyBhcyBhbiBleHByZXNzaW9uLCBldmFsdWF0 ZSBpdCwgYW5kIHJldHVybiB0aGUgcmVzdWx0IGFzIGEgVmFsdWUuIgogICB9 LAorICB7ICJmaW5kX3BjX2xpbmUiLCBnZGJweV9maW5kX3BjX2xpbmUsICBN RVRIX1ZBUkFSR1MsCisgICAgImZpbmRfcGNfbGluZSAocGNbLCBhY3R1YWxd KSAtPiBTeW10YWJfYW5kX2xpbmUuXG5cCitSZXR1cm4gdGhlIGdkYi5TeW10 YWJfYW5kX2xpbmUgb2JqZWN0IGNvcnJlc3BvbmRpbmcgdG8gdGhlIHBjIHZh bHVlLiAgSWZcblwKK2FjdHVhbCBpcyBUcnVlLCBpdCByZXR1cm5zIHRoZSBn ZGIuU3ltdGFiX2FuZF9saW5lIG9iamVjdCB3aXRoIHRoZSBhY3R1YWxcblwK K2xpbmUgY29ycmVzcG9uZGluZyB0byB0aGUgcGMgdmFsdWUuICBPdGhlcndp c2UsIGl0IHJldHVybnMgdGhlXG5cCitnZGIuU3ltdGFiX2FuZF9saW5lIG9i amVjdCB3aXRoIGEgbGluZSB3aGljaCB0aGUgdXNlcnMgZmVlbHMgdGhlIGV4 ZWN1dGlvblxuXAoraXMgY3VycmVudGx5IGF0LiAgSWYgYWN0dWFsIGlzIG5v dCBzcGVjaWZpZWQsIGl0IGRlZmF1bHRzIHRvIFRydWUuIgorICB9LAogCiAg IHsgInBvc3RfZXZlbnQiLCBnZGJweV9wb3N0X2V2ZW50LCBNRVRIX1ZBUkFS R1MsCiAgICAgIlBvc3QgYW4gZXZlbnQgaW50byBnZGIncyBldmVudCBsb29w LiIgfSwKSW5kZXg6IHRlc3RzdWl0ZS9nZGIucHl0aG9uL3B5dGhvbi5jCj09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvc3JjL3NyYy9n ZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHl0aG9uLmMsdgpyZXRyaWV2aW5n IHJldmlzaW9uIDEuNApkaWZmIC11IC1wIC1yMS40IHB5dGhvbi5jCi0tLSB0 ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weXRob24uYwk0IEphbiAyMDEyIDA4OjI3 OjQ5IC0wMDAwCTEuNAorKysgdGVzdHN1aXRlL2dkYi5weXRob24vcHl0aG9u LmMJNyBNYXkgMjAxMiAxNzo1NTo1OSAtMDAwMApAQCAtMjMsNiArMjMsNiBA QCBpbnQKIG1haW4gKGludCBhcmdjLCBjaGFyICphcmd2W10pCiB7CiAgIGZ1 bmMxICgpOwotICBmdW5jMiAoKTsKKyAgZnVuYzIgKCk7ICAgICAgLyogQnJl YWsgYXQgZnVuYzIgY2FsbCBzaXRlLiAgKi8KICAgcmV0dXJuIDA7ICAgICAg LyogQnJlYWsgdG8gZW5kLiAgKi8KIH0KSW5kZXg6IHRlc3RzdWl0ZS9nZGIu cHl0aG9uL3B5dGhvbi5leHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1Mg ZmlsZTogL2N2cy9zcmMvc3JjL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9w eXRob24uZXhwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjMyCmRpZmYgLXUg LXAgLXIxLjMyIHB5dGhvbi5leHAKLS0tIHRlc3RzdWl0ZS9nZGIucHl0aG9u L3B5dGhvbi5leHAJMzAgTWFyIDIwMTIgMTk6MTY6NTIgLTAwMDAJMS4zMgor KysgdGVzdHN1aXRlL2dkYi5weXRob24vcHl0aG9uLmV4cAk3IE1heSAyMDEy IDE3OjU1OjU5IC0wMDAwCkBAIC0zNjcsMyArMzY3LDIzIEBAIGdkYl90ZXN0 X211bHRpcGxlICJweXRob24gZ2RiLnByb21wdF9ob28KIAogZ2RiX3B5X3Rl c3Rfc2lsZW50X2NtZCAicHl0aG9uIGdkYi5wcm9tcHRfaG9vayA9IE5vbmUi IFwKICAgICAic2V0IHRoZSBob29rIHRvIGRlZmF1bHQiIDEKKworIyBTdGFy dCB3aXRoIGEgZnJlc2ggZ2RiLgorY2xlYW5fcmVzdGFydCAke3Rlc3RmaWxl fQorCisjIFRoZSBmb2xsb3dpbmcgdGVzdHMgcmVxdWlyZSBleGVjdXRpb24u CisKK2lmICFbcnVudG9fbWFpbl0gdGhlbiB7CisgICAgZmFpbCAiQ2FuJ3Qg cnVuIHRvIG1haW4iCisgICAgcmV0dXJuIDAKK30KKworcnVudG8gW2dkYl9n ZXRfbGluZV9udW1iZXIgIkJyZWFrIGF0IGZ1bmMyIGNhbGwgc2l0ZS4iXQor CitnZGJfcHlfdGVzdF9zaWxlbnRfY21kICJzdGVwIiAiU3RlcCBpbnRvIGZ1 bmMyIiAxCitnZGJfcHlfdGVzdF9zaWxlbnRfY21kICJ1cCIgIlN0ZXAgb3V0 IG9mIGZ1bmMyIiAxCitnZGJfcHlfdGVzdF9zaWxlbnRfY21kICJweXRob24g bGluZSA9IGdkYi5zZWxlY3RlZF9mcmFtZSgpLmZpbmRfc2FsKCkubGluZSIg IkdldCBsaW5lIG51bWJlciBvZiBmdW5jMiBjYWxsIHNpdGUiIDEKKworIyBU ZXN0IGdkYi5maW5kX3BjX2xpbmUKK2dkYl90ZXN0ICJweXRob24gcHJpbnQg Z2RiLmZpbmRfcGNfbGluZShnZGIuc2VsZWN0ZWRfZnJhbWUoKS5wYygpLCBU cnVlKS5saW5lID4gbGluZSIgIlRydWUiICJHZXQgYWN0dWFsIGxpbmUiCitn ZGJfdGVzdCAicHl0aG9uIHByaW50IGdkYi5maW5kX3BjX2xpbmUoZ2RiLnNl bGVjdGVkX2ZyYW1lKCkucGMoKSwgRmFsc2UpLmxpbmUgPT0gbGluZSIgIlRy dWUiICJHZXQgdXNlciBsaW5lIgo= --e0cb4e59348ac4b7ff04bf76327e--