From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24837 invoked by alias); 3 Nov 2009 02:17:59 -0000 Received: (qmail 24825 invoked by uid 22791); 3 Nov 2009 02:17:58 -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-px0-f189.google.com (HELO mail-px0-f189.google.com) (209.85.216.189) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 03 Nov 2009 02:17:52 +0000 Received: by pxi27 with SMTP id 27so3813403pxi.25 for ; Mon, 02 Nov 2009 18:17:50 -0800 (PST) MIME-Version: 1.0 Received: by 10.142.9.41 with SMTP id 41mr968100wfi.122.1257214670501; Mon, 02 Nov 2009 18:17:50 -0800 (PST) In-Reply-To: References: <20090928160728.GB9003@adacore.com> <20091014024202.GQ5272@adacore.com> <20091015045834.GY5272@adacore.com> <20091015162326.GA5272@adacore.com> <4AD75806.9070705@vmware.com> From: Hui Zhu Date: Tue, 03 Nov 2009 02:17:00 -0000 Message-ID: Subject: Re: [RFA] let record_resume fail immediately on error To: Michael Snyder Cc: Joel Brobecker , "gdb-patches@sourceware.org" Content-Type: multipart/mixed; boundary=00504502be42d779b004776e190e 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-11/txt/msg00038.txt.bz2 --00504502be42d779b004776e190e Content-Type: text/plain; charset=ISO-8859-1 Content-length: 2138 Hi Michael, Now we have a lot of patch in running. Could you please help me review this patch first? Thanks, Hui 2009-11-03 Hui Zhu * record.c (record_resume_error): Deleted. (record_resume): Call record_message. (record_wait): Deleted record_resume_error. Set status when do_record_message need stop the inferior. --- record.c | 29 ++++++++++------------------- 1 file changed, 10 insertions(+), 19 deletions(-) --- a/record.c +++ b/record.c @@ -954,7 +954,6 @@ record_close (int quitting) } static int record_resume_step = 0; -static int record_resume_error; /* "to_resume" target method. Resume the process record target. */ @@ -966,15 +965,11 @@ record_resume (struct target_ops *ops, p if (!RECORD_IS_REPLAY) { - if (do_record_message (get_current_regcache (), signal)) - { - record_resume_error = 0; - } - else - { - record_resume_error = 1; - return; - } + struct record_message_args args; + + args.regcache = get_current_regcache (); + args.signal = signal; + record_message (&args); record_beneath_to_resume (record_beneath_to_resume_ops, ptid, 1, signal); } @@ -1038,14 +1033,6 @@ record_wait (struct target_ops *ops, if (!RECORD_IS_REPLAY && ops != &record_core_ops) { - if (record_resume_error) - { - /* If record_resume get error, return directly. */ - status->kind = TARGET_WAITKIND_STOPPED; - status->value.sig = TARGET_SIGNAL_ABRT; - return inferior_ptid; - } - if (record_resume_step) { /* This is a single step. */ @@ -1091,7 +1078,11 @@ record_wait (struct target_ops *ops, Therefore we will not return to gdb. Record the insn and resume. */ if (!do_record_message (regcache, TARGET_SIGNAL_0)) - break; + { + status->kind = TARGET_WAITKIND_STOPPED; + status->value.sig = TARGET_SIGNAL_0; + break; + } record_beneath_to_resume (record_beneath_to_resume_ops, ptid, 1, --00504502be42d779b004776e190e Content-Type: text/plain; charset=US-ASCII; name="prec-fix-error-handler.txt" Content-Disposition: attachment; filename="prec-fix-error-handler.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g1k1dgyk0 Content-length: 2436 LS0tCiByZWNvcmQuYyB8ICAgMjkgKysrKysrKysrKy0tLS0tLS0tLS0tLS0t LS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCAxOSBk ZWxldGlvbnMoLSkKCi0tLSBhL3JlY29yZC5jCisrKyBiL3JlY29yZC5jCkBA IC05NTQsNyArOTU0LDYgQEAgcmVjb3JkX2Nsb3NlIChpbnQgcXVpdHRpbmcp CiB9CiAKIHN0YXRpYyBpbnQgcmVjb3JkX3Jlc3VtZV9zdGVwID0gMDsKLXN0 YXRpYyBpbnQgcmVjb3JkX3Jlc3VtZV9lcnJvcjsKIAogLyogInRvX3Jlc3Vt ZSIgdGFyZ2V0IG1ldGhvZC4gIFJlc3VtZSB0aGUgcHJvY2VzcyByZWNvcmQg dGFyZ2V0LiAgKi8KIApAQCAtOTY2LDE1ICs5NjUsMTEgQEAgcmVjb3JkX3Jl c3VtZSAoc3RydWN0IHRhcmdldF9vcHMgKm9wcywgcAogCiAgIGlmICghUkVD T1JEX0lTX1JFUExBWSkKICAgICB7Ci0gICAgICBpZiAoZG9fcmVjb3JkX21l c3NhZ2UgKGdldF9jdXJyZW50X3JlZ2NhY2hlICgpLCBzaWduYWwpKQotICAg ICAgICB7Ci0gICAgICAgICAgcmVjb3JkX3Jlc3VtZV9lcnJvciA9IDA7Ci0g ICAgICAgIH0KLSAgICAgIGVsc2UKLSAgICAgICAgewotICAgICAgICAgIHJl Y29yZF9yZXN1bWVfZXJyb3IgPSAxOwotICAgICAgICAgIHJldHVybjsKLSAg ICAgICAgfQorICAgICAgc3RydWN0IHJlY29yZF9tZXNzYWdlX2FyZ3MgYXJn czsKKworICAgICAgYXJncy5yZWdjYWNoZSA9IGdldF9jdXJyZW50X3JlZ2Nh Y2hlICgpOworICAgICAgYXJncy5zaWduYWwgPSBzaWduYWw7CisgICAgICBy ZWNvcmRfbWVzc2FnZSAoJmFyZ3MpOwogICAgICAgcmVjb3JkX2JlbmVhdGhf dG9fcmVzdW1lIChyZWNvcmRfYmVuZWF0aF90b19yZXN1bWVfb3BzLCBwdGlk LCAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaWduYWwp OwogICAgIH0KQEAgLTEwMzgsMTQgKzEwMzMsNiBAQCByZWNvcmRfd2FpdCAo c3RydWN0IHRhcmdldF9vcHMgKm9wcywKIAogICBpZiAoIVJFQ09SRF9JU19S RVBMQVkgJiYgb3BzICE9ICZyZWNvcmRfY29yZV9vcHMpCiAgICAgewotICAg ICAgaWYgKHJlY29yZF9yZXN1bWVfZXJyb3IpCi0JewotCSAgLyogSWYgcmVj b3JkX3Jlc3VtZSBnZXQgZXJyb3IsIHJldHVybiBkaXJlY3RseS4gICovCi0J ICBzdGF0dXMtPmtpbmQgPSBUQVJHRVRfV0FJVEtJTkRfU1RPUFBFRDsKLQkg IHN0YXR1cy0+dmFsdWUuc2lnID0gVEFSR0VUX1NJR05BTF9BQlJUOwotCSAg cmV0dXJuIGluZmVyaW9yX3B0aWQ7Ci0JfQotCiAgICAgICBpZiAocmVjb3Jk X3Jlc3VtZV9zdGVwKQogCXsKIAkgIC8qIFRoaXMgaXMgYSBzaW5nbGUgc3Rl cC4gICovCkBAIC0xMDkxLDcgKzEwNzgsMTEgQEAgcmVjb3JkX3dhaXQgKHN0 cnVjdCB0YXJnZXRfb3BzICpvcHMsCiAJCQkgVGhlcmVmb3JlIHdlIHdpbGwg bm90IHJldHVybiB0byBnZGIuCiAJCSAgICAgICAgIFJlY29yZCB0aGUgaW5z biBhbmQgcmVzdW1lLiAgKi8KIAkJICAgICAgaWYgKCFkb19yZWNvcmRfbWVz c2FnZSAocmVnY2FjaGUsIFRBUkdFVF9TSUdOQUxfMCkpCi0JCQlicmVhazsK KyAgCQkJeworICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzLT5r aW5kID0gVEFSR0VUX1dBSVRLSU5EX1NUT1BQRUQ7CisgICAgICAgICAgICAg ICAgICAgICAgICAgICBzdGF0dXMtPnZhbHVlLnNpZyA9IFRBUkdFVF9TSUdO QUxfMDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAJ CQl9CiAKIAkJICAgICAgcmVjb3JkX2JlbmVhdGhfdG9fcmVzdW1lIChyZWNv cmRfYmVuZWF0aF90b19yZXN1bWVfb3BzLAogCQkJCQkJcHRpZCwgMSwK --00504502be42d779b004776e190e--