From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20596 invoked by alias); 9 Oct 2008 02:39:04 -0000 Received: (qmail 20582 invoked by uid 22791); 9 Oct 2008 02:39:03 -0000 X-Spam-Check-By: sourceware.org Received: from smtp-outbound-1.vmware.com (HELO smtp-outbound-1.vmware.com) (65.113.40.141) by sourceware.org (qpsmtpd/0.31) with ESMTP; Thu, 09 Oct 2008 02:38:18 +0000 Received: from mailhost5.vmware.com (mailhost5.vmware.com [10.16.68.131]) by smtp-outbound-1.vmware.com (Postfix) with ESMTP id C4AC46649; Wed, 8 Oct 2008 19:38:16 -0700 (PDT) Received: from [10.20.92.59] (promb-2s-dhcp59.eng.vmware.com [10.20.92.59]) by mailhost5.vmware.com (Postfix) with ESMTP id A2E43DC07D; Wed, 8 Oct 2008 19:38:16 -0700 (PDT) Message-ID: <48ED6E13.1040704@vmware.com> Date: Thu, 09 Oct 2008 02:39:00 -0000 From: Michael Snyder User-Agent: Thunderbird 1.5.0.12 (X11/20080411) MIME-Version: 1.0 To: Pedro Alves CC: "gdb-patches@sourceware.org" Subject: Re: [RFA] Resubmit reverse debugging [4/5] References: <48EC18B9.5050209@vmware.com> <200810090135.56035.pedro@codesourcery.com> <48ED5BD0.7050107@vmware.com> <200810090312.16021.pedro@codesourcery.com> In-Reply-To: <200810090312.16021.pedro@codesourcery.com> Content-Type: multipart/mixed; boundary="------------000904030808010504040405" 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: 2008-10/txt/msg00270.txt.bz2 This is a multi-part message in MIME format. --------------000904030808010504040405 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Content-length: 1520 Pedro Alves wrote: > A Thursday 09 October 2008 02:18:08, Michael Snyder wrote: >> Sorry, it's an artifact of the fact that I've been on a >> fork for so long. When I copied this code from finish_command, >> the code that I copied had a similar call to internal_error. >> >> In fact, finish_command_continuation still does. > > Yeah, the continuation has a check for `function != NULL', > though. > >> In fact, it's the same call that used to be in "finish_command". >> >> So what should it be? Just "error"? > > Ah, I think I see what's going on. "finish" is not meaningful > in the outermost frame, so, you'd get an error before reaching > here, if you had no symbols. > > (gdb) finish > "finish" not meaningful in the outermost frame. > (gdb) reverse-finish > "finish" not meaningful in the outermost frame. > > Is it possible to be at frame != #0 and not find a function? I have no idea, I was just checking the return value on general principals. [sucking out "frame 0" discussion for separate reply] >> I think I understand that you think it would be more "local" >> to put the error here -- but is it worth it if it makes us >> add complexity? >> >> finish_command already tests a number of things, including >> whether we are async and (now) whether we are reverse, and >> contains a number of error calls already. > > No biggie with me. Just thought you had signed up to do > the function split. ;-) Well I didn't, but I will. How does this look to you (as an add-on to the present patch)? --------------000904030808010504040405 Content-Type: text/plain; name="finish_forward.txt" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="finish_forward.txt" Content-length: 5922 SW5kZXg6IGluZmNtZC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZp bGU6IC9jdnMvc3JjL3NyYy9nZGIvaW5mY21kLmMsdgpyZXRyaWV2aW5nIHJl dmlzaW9uIDEuMjEyLjIuNwpkaWZmIC11IC1wIC1yMS4yMTIuMi43IGluZmNt ZC5jCi0tLSBpbmZjbWQuYwk4IE9jdCAyMDA4IDAwOjI2OjI4IC0wMDAwCTEu MjEyLjIuNworKysgaW5mY21kLmMJOSBPY3QgMjAwOCAwMjozMjozMyAtMDAw MApAQCAtMTM3MCw5ICsxMzcwLDEwIEBAIGZpbmlzaF9jb21tYW5kX2NvbnRp bnVhdGlvbl9mcmVlX2FyZyAodm8KIC8qIGZpbmlzaF9iYWNrd2FyZCAtLSBo ZWxwZXIgZnVuY3Rpb24gZm9yIGZpbmlzaF9jb21tYW5kLiAgKi8KIAogc3Rh dGljIHZvaWQKLWZpbmlzaF9iYWNrd2FyZCAoc3RydWN0IHN5bWJvbCAqZnVu Y3Rpb24sIHN0cnVjdCB0aHJlYWRfaW5mbyAqdHApCitmaW5pc2hfYmFja3dh cmQgKHN0cnVjdCBzeW1ib2wgKmZ1bmN0aW9uKQogewogICBzdHJ1Y3Qgc3lt dGFiX2FuZF9saW5lIHNhbDsKKyAgc3RydWN0IHRocmVhZF9pbmZvICp0cCA9 IGluZmVyaW9yX3RocmVhZCAoKTsKICAgc3RydWN0IGJyZWFrcG9pbnQgKmJy ZWFrcG9pbnQ7CiAgIHN0cnVjdCBjbGVhbnVwICpvbGRfY2hhaW47CiAgIENP UkVfQUREUiBmdW5jX2FkZHI7CkBAIC0xMzg1LDggKzEzODYsNiBAQCBmaW5p c2hfYmFja3dhcmQgKHN0cnVjdCBzeW1ib2wgKmZ1bmN0aW9uCiAKICAgc2Fs ID0gZmluZF9wY19saW5lIChmdW5jX2FkZHIsIDApOwogCi0gIC8qIFRPRE86 IExldCdzIG5vdCB3b3JyeSBhYm91dCBhc3luYyB1bnRpbCBsYXRlci4gICov Ci0KICAgLyogV2UgZG9uJ3QgbmVlZCBhIHJldHVybiB2YWx1ZS4gICovCiAg IHRwLT5wcm9jZWVkX3RvX2ZpbmlzaCA9IDA7CiAgIC8qIFNwZWNpYWwgY2Fz ZTogaWYgd2UncmUgc2l0dGluZyBhdCB0aGUgZnVuY3Rpb24gZW50cnkgcG9p bnQsCkBAIC0xNDIxLDI2ICsxNDIwLDU2IEBAIGZpbmlzaF9iYWNrd2FyZCAo c3RydWN0IHN5bWJvbCAqZnVuY3Rpb24KICAgICAgIC8qIElmIGluIGZhY3Qg d2UgaGl0IHRoZSBzdGVwLXJlc3VtZSBicmVha3BvaW50IChhbmQgbm90CiAJ IHNvbWUgb3RoZXIgYnJlYWtwb2ludCksIHRoZW4gd2UncmUgYWxtb3N0IHRo ZXJlIC0tCiAJIHdlIGp1c3QgbmVlZCB0byBiYWNrIHVwIGJ5IG9uZSBtb3Jl IHNpbmdsZS1zdGVwLiAgKi8KLSAgICAgIC8qIChLbHVkZ3kgd2F5IG9mIGxl dHRpbmcgd2FpdF9mb3JfaW5mZXJpb3Iga25vdy4uLikgKi8KICAgICAgIHRw LT5zdGVwX3JhbmdlX3N0YXJ0ID0gdHAtPnN0ZXBfcmFuZ2VfZW5kID0gMTsK ICAgICAgIHByb2NlZWQgKChDT1JFX0FERFIpIC0xLCBUQVJHRVRfU0lHTkFM X0RFRkFVTFQsIDEpOwogICAgIH0KICAgcmV0dXJuOwogfQogCisvKiBmaW5p c2hfZm9yd2FyZCAtLSBoZWxwZXIgZnVuY3Rpb24gZm9yIGZpbmlzaF9jb21t YW5kLiAgKi8KKworc3RhdGljIHZvaWQKK2ZpbmlzaF9mb3J3YXJkIChzdHJ1 Y3Qgc3ltYm9sICpmdW5jdGlvbiwgc3RydWN0IGZyYW1lX2luZm8gKmZyYW1l KQoreworICBzdHJ1Y3Qgc3ltdGFiX2FuZF9saW5lIHNhbDsKKyAgc3RydWN0 IHRocmVhZF9pbmZvICp0cCA9IGluZmVyaW9yX3RocmVhZCAoKTsKKyAgc3Ry dWN0IGJyZWFrcG9pbnQgKmJyZWFrcG9pbnQ7CisgIHN0cnVjdCBjbGVhbnVw ICpvbGRfY2hhaW47CisgIHN0cnVjdCBmaW5pc2hfY29tbWFuZF9jb250aW51 YXRpb25fYXJncyAqY2FyZ3M7CisKKyAgc2FsID0gZmluZF9wY19saW5lIChn ZXRfZnJhbWVfcGMgKGZyYW1lKSwgMCk7CisgIHNhbC5wYyA9IGdldF9mcmFt ZV9wYyAoZnJhbWUpOworCisgIGJyZWFrcG9pbnQgPSBzZXRfbW9tZW50YXJ5 X2JyZWFrcG9pbnQgKHNhbCwgZ2V0X2ZyYW1lX2lkIChmcmFtZSksCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJwX2Zpbmlz aCk7CisKKyAgb2xkX2NoYWluID0gbWFrZV9jbGVhbnVwX2RlbGV0ZV9icmVh a3BvaW50IChicmVha3BvaW50KTsKKworICB0cC0+cHJvY2VlZF90b19maW5p c2ggPSAxOyAgICAvKiBXZSB3YW50IHN0b3BfcmVnaXN0ZXJzLCBwbGVhc2Uu Li4gICovCisgIG1ha2VfY2xlYW51cF9yZXN0b3JlX2ludGVnZXIgKCZzdXBw cmVzc19zdG9wX29ic2VydmVyKTsKKyAgc3VwcHJlc3Nfc3RvcF9vYnNlcnZl ciA9IDE7CisgIHByb2NlZWQgKChDT1JFX0FERFIpIC0xLCBUQVJHRVRfU0lH TkFMX0RFRkFVTFQsIDApOworCisgIGNhcmdzID0geG1hbGxvYyAoc2l6ZW9m ICgqY2FyZ3MpKTsKKworICBjYXJncy0+YnJlYWtwb2ludCA9IGJyZWFrcG9p bnQ7CisgIGNhcmdzLT5mdW5jdGlvbiA9IGZ1bmN0aW9uOworICBhZGRfY29u dGludWF0aW9uICh0cCwgZmluaXNoX2NvbW1hbmRfY29udGludWF0aW9uLCBj YXJncywKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoX2NvbW1hbmRfY29u dGludWF0aW9uX2ZyZWVfYXJnKTsKKworICBkaXNjYXJkX2NsZWFudXBzIChv bGRfY2hhaW4pOworICBpZiAoIXRhcmdldF9jYW5fYXN5bmNfcCAoKSkKKyAg ICBkb19hbGxfY29udGludWF0aW9ucyAoKTsKK30KKwogLyogImZpbmlzaCI6 IFNldCBhIHRlbXBvcmFyeSBicmVha3BvaW50IGF0IHRoZSBwbGFjZSB0aGUg c2VsZWN0ZWQKICAgIGZyYW1lIHdpbGwgcmV0dXJuIHRvLCB0aGVuIGNvbnRp bnVlLiAgKi8KIAogc3RhdGljIHZvaWQKIGZpbmlzaF9jb21tYW5kIChjaGFy ICphcmcsIGludCBmcm9tX3R0eSkKIHsKLSAgc3RydWN0IHN5bXRhYl9hbmRf bGluZSBzYWw7CiAgIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZTsKICAgc3Ry dWN0IHN5bWJvbCAqZnVuY3Rpb247Ci0gIHN0cnVjdCBicmVha3BvaW50ICpi cmVha3BvaW50OwotICBzdHJ1Y3QgY2xlYW51cCAqb2xkX2NoYWluOwotICBz dHJ1Y3QgZmluaXNoX2NvbW1hbmRfY29udGludWF0aW9uX2FyZ3MgKmNhcmdz OwotICBzdHJ1Y3QgdGhyZWFkX2luZm8gKnRwOwogCiAgIGludCBhc3luY19l eGVjID0gMDsKIApAQCAtMTQ3NCw4ICsxNTAzLDYgQEAgZmluaXNoX2NvbW1h bmQgKGNoYXIgKmFyZywgaW50IGZyb21fdHR5KQogICBpZiAoZnJhbWUgPT0g MCkKICAgICBlcnJvciAoXygiXCJmaW5pc2hcIiBub3QgbWVhbmluZ2Z1bCBp biB0aGUgb3V0ZXJtb3N0IGZyYW1lLiIpKTsKIAotICB0cCA9IGluZmVyaW9y X3RocmVhZCAoKTsKLQogICBjbGVhcl9wcm9jZWVkX3N0YXR1cyAoKTsKIAog ICAvKiBGaW5kIHRoZSBmdW5jdGlvbiB3ZSB3aWxsIHJldHVybiBmcm9tLiAg Ki8KQEAgLTE0OTUsMzUgKzE1MjIsOSBAQCBmaW5pc2hfY29tbWFuZCAoY2hh ciAqYXJnLCBpbnQgZnJvbV90dHkpCiAgICAgfQogCiAgIGlmIChleGVjdXRp b25fZGlyZWN0aW9uID09IEVYRUNfUkVWRVJTRSkKLSAgICB7Ci0gICAgICAv KiBTcGxpdCBvZmYgYXQgdGhpcyBwb2ludC4gICovCi0gICAgICBmaW5pc2hf YmFja3dhcmQgKGZ1bmN0aW9uLCB0cCk7Ci0gICAgICByZXR1cm47Ci0gICAg fQotCi0gIHNhbCA9IGZpbmRfcGNfbGluZSAoZ2V0X2ZyYW1lX3BjIChmcmFt ZSksIDApOwotICBzYWwucGMgPSBnZXRfZnJhbWVfcGMgKGZyYW1lKTsKLQot ICBicmVha3BvaW50ID0gc2V0X21vbWVudGFyeV9icmVha3BvaW50IChzYWws IGdldF9mcmFtZV9pZCAoZnJhbWUpLCAKLQkJCQkJIGJwX2ZpbmlzaCk7Ci0K LSAgb2xkX2NoYWluID0gbWFrZV9jbGVhbnVwX2RlbGV0ZV9icmVha3BvaW50 IChicmVha3BvaW50KTsKLQotICB0cC0+cHJvY2VlZF90b19maW5pc2ggPSAx OwkvKiBXZSB3YW50IHN0b3BfcmVnaXN0ZXJzLCBwbGVhc2UuLi4gICovCi0g IG1ha2VfY2xlYW51cF9yZXN0b3JlX2ludGVnZXIgKCZzdXBwcmVzc19zdG9w X29ic2VydmVyKTsKLSAgc3VwcHJlc3Nfc3RvcF9vYnNlcnZlciA9IDE7Ci0g IHByb2NlZWQgKChDT1JFX0FERFIpIC0xLCBUQVJHRVRfU0lHTkFMX0RFRkFV TFQsIDApOwotCi0gIGNhcmdzID0geG1hbGxvYyAoc2l6ZW9mICgqY2FyZ3Mp KTsKLQotICBjYXJncy0+YnJlYWtwb2ludCA9IGJyZWFrcG9pbnQ7Ci0gIGNh cmdzLT5mdW5jdGlvbiA9IGZ1bmN0aW9uOwotICBhZGRfY29udGludWF0aW9u ICh0cCwgZmluaXNoX2NvbW1hbmRfY29udGludWF0aW9uLCBjYXJncywKLQkJ ICAgIGZpbmlzaF9jb21tYW5kX2NvbnRpbnVhdGlvbl9mcmVlX2FyZyk7Ci0K LSAgZGlzY2FyZF9jbGVhbnVwcyAob2xkX2NoYWluKTsKLSAgaWYgKCF0YXJn ZXRfY2FuX2FzeW5jX3AgKCkpCi0gICAgZG9fYWxsX2NvbnRpbnVhdGlvbnMg KCk7CisgICAgZmluaXNoX2JhY2t3YXJkIChmdW5jdGlvbik7CisgIGVsc2UK KyAgICBmaW5pc2hfZm9yd2FyZCAoZnVuY3Rpb24sIGZyYW1lKTsKIH0KIAwK IAo= --------------000904030808010504040405--