From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9135 invoked by alias); 23 Dec 2009 09:24:12 -0000 Received: (qmail 8743 invoked by uid 22791); 23 Dec 2009 09:24:09 -0000 X-SWARE-Spam-Status: No, hits=-1.7 required=5.0 tests=AWL,BAYES_00,SARE_MSGID_LONG40,SPF_PASS X-Spam-Check-By: sourceware.org Received: from mail-pw0-f49.google.com (HELO mail-pw0-f49.google.com) (209.85.160.49) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 23 Dec 2009 09:23:42 +0000 Received: by pwj12 with SMTP id 12so5007832pwj.8 for ; Wed, 23 Dec 2009 01:23:41 -0800 (PST) MIME-Version: 1.0 Received: by 10.143.26.32 with SMTP id d32mr6670974wfj.297.1261560221113; Wed, 23 Dec 2009 01:23:41 -0800 (PST) In-Reply-To: <20091223065141.GT2788@adacore.com> References: <4B2BD97E.1020106@vmware.com> <20091220133009.GI2788@adacore.com> <20091223065141.GT2788@adacore.com> From: Hui Zhu Date: Wed, 23 Dec 2009 09:24:00 -0000 Message-ID: Subject: Re: [RFC] Add support of software single step to process record To: Joel Brobecker Cc: Michael Snyder , shuchang zhou , paawan oza , Tom Tromey , gdb-patches ml Content-Type: multipart/mixed; boundary=001636e0ac8fd7a02d047b61e0d8 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-12/txt/msg00359.txt.bz2 --001636e0ac8fd7a02d047b61e0d8 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-length: 1287 Cool. I think your idea is more better than I did. Thanks. This is the new patch. Best regards, Hui On Wed, Dec 23, 2009 at 14:51, Joel Brobecker wrote: >> Joel, I remove the current_gdbarch() from this patch, but for >> get_current_frame, I cannot find any function that fit for replace it. >> =A0Could you help me with it? > > Upon further investigation, I believe that this is the only way to do > this. =A0I don't think you can get the frame from the arguments provided > to "resume". I did a quick research and infrun.c:resume does the same > thing (actually, it's maybe_software_singlestep). > >> + =A0if (single_step_breakpoints[0] !=3D NULL >> + =A0 =A0 =A0|| single_step_breakpoints[1] !=3D NULL) >> + =A0 =A0return 1; >> + >> + =A0return 0; > > Style nit: You really don't have to fix this, as this is a matter of > style more than correctness, but we usually write the above code as > > =A0return (single_step_breakpoints[0] !=3D NULL > =A0 =A0 =A0 =A0 =A0|| single_step_breakpoints[1] !=3D NULL) > > This avoids the type of mistake you made. =A0I tend to like the style > you used when there are several consecutive if conditions that allow > me to return early (a type of soft assert), or to avoid unreasonable > nesting levels. > > -- > Joel > --001636e0ac8fd7a02d047b61e0d8 Content-Type: text/plain; charset=US-ASCII; name="prec_software_single_step.txt" Content-Disposition: attachment; filename="prec_software_single_step.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g3jwo1v90 Content-length: 4645 LS0tCiBicmVha3BvaW50LmMgfCAgIDEwICsrKysrKysrKysKIGJyZWFrcG9p bnQuaCB8ICAgIDEgKwogcmVjb3JkLmMgICAgIHwgICAzMyArKysrKysrKysr KysrKysrKysrKysrKysrKysrKystLS0KIDMgZmlsZXMgY2hhbmdlZCwgNDEg aW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCi0tLSBhL2JyZWFrcG9p bnQuYworKysgYi9icmVha3BvaW50LmMKQEAgLTk2MjQsNiArOTYyNCwxNiBA QCBpbnNlcnRfc2luZ2xlX3N0ZXBfYnJlYWtwb2ludCAoc3RydWN0IGdkCiAJ ICAgICBwYWRkcmVzcyAoZ2RiYXJjaCwgbmV4dF9wYykpOwogfQogCisvKiBD aGVjayBpZiB0aGUgYnJlYWtwb2ludHMgdXNlZCBmb3Igc29mdHdhcmUgc2lu Z2xlIHN0ZXBwaW5nCisgICB3ZXJlIGluc2VydGVkIG9yIG5vdC4gICovCisK K2ludAorc2luZ2xlX3N0ZXBfYnJlYWtwb2ludHNfaW5zZXJ0ZWQgKHZvaWQp Cit7CisgIHJldHVybiAoc2luZ2xlX3N0ZXBfYnJlYWtwb2ludHNbMF0gIT0g TlVMTAorICAgICAgICAgIHx8IHNpbmdsZV9zdGVwX2JyZWFrcG9pbnRzWzFd ICE9IE5VTEwpOworfQorCiAvKiBSZW1vdmUgYW5kIGRlbGV0ZSBhbnkgYnJl YWtwb2ludHMgdXNlZCBmb3Igc29mdHdhcmUgc2luZ2xlIHN0ZXAuICAqLwog CiB2b2lkCi0tLSBhL2JyZWFrcG9pbnQuaAorKysgYi9icmVha3BvaW50LmgK QEAgLTk0NCw2ICs5NDQsNyBAQCBleHRlcm4gaW50IHJlbW92ZV9od193YXRj aHBvaW50cyAodm9pZCk7CiAgICB0d2ljZSBiZWZvcmUgcmVtb3ZlIGlzIGNh bGxlZC4gICovCiBleHRlcm4gdm9pZCBpbnNlcnRfc2luZ2xlX3N0ZXBfYnJl YWtwb2ludCAoc3RydWN0IGdkYmFyY2ggKiwKIAkJCQkJICAgc3RydWN0IGFk ZHJlc3Nfc3BhY2UgKiwgQ09SRV9BRERSKTsKK2V4dGVybiBpbnQgc2luZ2xl X3N0ZXBfYnJlYWtwb2ludHNfaW5zZXJ0ZWQgKHZvaWQpOwogZXh0ZXJuIHZv aWQgcmVtb3ZlX3NpbmdsZV9zdGVwX2JyZWFrcG9pbnRzICh2b2lkKTsKIAog LyogTWFuYWdlIG1hbnVhbCBicmVha3BvaW50cywgc2VwYXJhdGUgZnJvbSB0 aGUgbm9ybWFsIGNoYWluIG9mCi0tLSBhL3JlY29yZC5jCisrKyBiL3JlY29y ZC5jCkBAIC0xMDAyLDkgKzEwMDIsMjMgQEAgcmVjb3JkX3Jlc3VtZSAoc3Ry dWN0IHRhcmdldF9vcHMgKm9wcywgcAogCiAgIGlmICghUkVDT1JEX0lTX1JF UExBWSkKICAgICB7CisgICAgICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9 IHRhcmdldF90aHJlYWRfYXJjaGl0ZWN0dXJlIChwdGlkKTsKKwogICAgICAg cmVjb3JkX21lc3NhZ2UgKGdldF9jdXJyZW50X3JlZ2NhY2hlICgpLCBzaWdu YWwpOwogICAgICAgcmVjb3JkX2JlbmVhdGhfdG9fcmVzdW1lIChyZWNvcmRf YmVuZWF0aF90b19yZXN1bWVfb3BzLCBwdGlkLCAxLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzaWduYWwpOworCisgICAgICAgaWYgKGdk YmFyY2hfc29mdHdhcmVfc2luZ2xlX3N0ZXBfcCAoZ2RiYXJjaCkpCisgICAg ICAgICB7CisgICAgICAgICAgIGlmICghaW5zZXJ0ZWRfc2luZ2xlX3N0ZXBf YnJlYWtwb2ludF9wICgpKQorICAgICAgICAgICAgIGdkYmFyY2hfc29mdHdh cmVfc2luZ2xlX3N0ZXAgKGdkYmFyY2gsIGdldF9jdXJyZW50X2ZyYW1lICgp KTsKKyAgICAgICAgICAgcmVjb3JkX2JlbmVhdGhfdG9fcmVzdW1lIChyZWNv cmRfYmVuZWF0aF90b19yZXN1bWVfb3BzLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHB0aWQsIHN0ZXAsIHNpZ25hbCk7CisgICAg ICAgICAgIHJlY29yZF9yZXN1bWVfc3RlcCA9IDA7CisgICAgICAgICB9Cisg ICAgICAgZWxzZQorICAgICAgICAgcmVjb3JkX2JlbmVhdGhfdG9fcmVzdW1l IChyZWNvcmRfYmVuZWF0aF90b19yZXN1bWVfb3BzLCBwdGlkLCAxLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaWduYWwpOwogICAg IH0KIH0KIApAQCAtMTA3Nyw2ICsxMDkxLDcgQEAgcmVjb3JkX3dhaXQgKHN0 cnVjdCB0YXJnZXRfb3BzICpvcHMsCiAJICAvKiBUaGlzIGlzIG5vdCBhIHNp bmdsZSBzdGVwLiAgKi8KIAkgIHB0aWRfdCByZXQ7CiAJICBDT1JFX0FERFIg dG1wX3BjOworICAgICAgICAgIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoID0g dGFyZ2V0X3RocmVhZF9hcmNoaXRlY3R1cmUgKGluZmVyaW9yX3B0aWQpOwog CiAJICB3aGlsZSAoMSkKIAkgICAgewpAQCAtMTA5OSw2ICsxMTE0LDkgQEAg cmVjb3JkX3dhaXQgKHN0cnVjdCB0YXJnZXRfb3BzICpvcHMsCiAJCSAgdG1w X3BjID0gcmVnY2FjaGVfcmVhZF9wYyAocmVnY2FjaGUpOwogCQkgIGFzcGFj ZSA9IGdldF9yZWdjYWNoZV9hc3BhY2UgKHJlZ2NhY2hlKTsKIAorICAgICAg ICAgICAgICAgICAgaWYgKGdkYmFyY2hfc29mdHdhcmVfc2luZ2xlX3N0ZXBf cCAoZ2RiYXJjaCkpCisgICAgICAgICAgICAgICAgICAgIHJlbW92ZV9zaW5n bGVfc3RlcF9icmVha3BvaW50cyAoKTsKKwogCQkgIGlmICh0YXJnZXRfc3Rv cHBlZF9ieV93YXRjaHBvaW50ICgpKQogCQkgICAgewogCQkgICAgICAvKiBB bHdheXMgaW50ZXJlc3RlZCBpbiB3YXRjaHBvaW50cy4gICovCkBAIC0xMTI5 LDkgKzExNDcsMTggQEAgcmVjb3JkX3dhaXQgKHN0cnVjdCB0YXJnZXRfb3Bz ICpvcHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAg CQkJfQogCi0JCSAgICAgIHJlY29yZF9iZW5lYXRoX3RvX3Jlc3VtZSAocmVj b3JkX2JlbmVhdGhfdG9fcmVzdW1lX29wcywKLQkJCQkJCXB0aWQsIDEsCi0J CQkJCQlUQVJHRVRfU0lHTkFMXzApOworICAgICAgICAgICAgICAgICAgICAg IGlmIChnZGJhcmNoX3NvZnR3YXJlX3NpbmdsZV9zdGVwX3AgKGdkYmFyY2gp KQorICAgICAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAg ICAgICAgICAgICBnZGJhcmNoX3NvZnR3YXJlX3NpbmdsZV9zdGVwIChnZGJh cmNoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBnZXRfY3VycmVudF9mcmFtZSAoKSk7CisgICAg ICAgICAgICAgICAgICAgICAgICAgIHJlY29yZF9iZW5lYXRoX3RvX3Jlc3Vt ZSAocmVjb3JkX2JlbmVhdGhfdG9fcmVzdW1lX29wcywKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdGlk LCAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFRBUkdFVF9TSUdOQUxfMCk7CisgICAgICAgICAgICAg ICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgZWxzZQorCQkg ICAgICAgIHJlY29yZF9iZW5lYXRoX3RvX3Jlc3VtZSAocmVjb3JkX2JlbmVh dGhfdG9fcmVzdW1lX29wcywKKwkJCQkJCSAgcHRpZCwgMSwKKwkJCQkJCSAg VEFSR0VUX1NJR05BTF8wKTsKIAkJICAgICAgY29udGludWU7CiAJCSAgICB9 CiAJCX0K --001636e0ac8fd7a02d047b61e0d8--