From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from relay9-d.mail.gandi.net (relay9-d.mail.gandi.net [217.70.183.199]) by sourceware.org (Postfix) with ESMTPS id 0D533394B003 for ; Wed, 18 Mar 2020 21:17:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 0D533394B003 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=scottlinder.com Authentication-Results: sourceware.org; spf=none smtp.mailfrom=scott@scottlinder.com Received: from webmail.eu.com (webmail21.sd4.0x35.net [10.200.201.21]) (Authenticated sender: scott@scottlinder.com) by relay9-d.mail.gandi.net (Postfix) with ESMTPA id 3CD4AFF807 for ; Wed, 18 Mar 2020 21:17:53 +0000 (UTC) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=_3d3ad3fb178bd4598beb477b00a6f866" Date: Wed, 18 Mar 2020 17:17:53 -0400 From: scott@scottlinder.com To: Gdb Patches Subject: Re: [RFC][PATCH] Support frames inlined into the outer frame In-Reply-To: <237802b049d5e89a6d556559815b6f20@scottlinder.com> References: <237802b049d5e89a6d556559815b6f20@scottlinder.com> Message-ID: X-Sender: scott@scottlinder.com User-Agent: Roundcube Webmail/1.3.8 X-Spam-Status: No, score=-24.7 required=5.0 tests=GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_DMARC_STATUS, KAM_LAZY_DOMAIN_SECURITY, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 21:17:55 -0000 --=_3d3ad3fb178bd4598beb477b00a6f866 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed It was pointed out that posting patches directly to the list is preferred over Gerrit, so I abandoned the Gerrit review and I'm attaching the patch here. The wiki says a git-format-patch'd attachment is OK, but let me know if it isn't the norm! Scott On 2020-03-18 16:43, scott@scottlinder.com wrote: > AMD is working on a port of GDB for our GPUs based on the ROCm stack > (https://rocm.github.io/). We recently open-sourced the fork at > https://github.com/ROCm-Developer-Tools/ROCgdb. We hope to begin > upstreaming > patches where possible, > and https://gnutoolchain-gerrit.osci.io/r/c/binutils-gdb/+/767 is the > first > such patch. > > We frequently have functions inlined into the outermost frame. The > current > implementation which introduced `outer_frame_id` as a "valid" ID > distinct from > `null_frame_id` does not support this, asserting the need for both a > valid > and non-`outer_frame_id` ID to base the ID of the inlined frame on. > > This patch changes the definition of `outer_frame_id` slightly to > effectively > represent a class of IDs which identify a frame inlined into the outer > frame. > These differ in `artificial_depth`, but otherwise behave just as > `outer_frame_id` in that they are `FID_STACK_INVALID`, yet `frame_id_p` > returns > `true` and they compare equal to each other. > > Running the testsuite both with and without the patch doesn't yield any > obvious > regressions, although I have not come up with a test case to prove this > out on > e.g. x86. > > Does this seem reasonable? It is a bit of a hack on a hack, considering > the > existing issues with `outer_frame_id` and the obvious desire to remove > it > completely. At the same time, there is a fair amount of thought and > effort > involved in making that change, and I think it can/should be done > independently > of fixing this bug. My feeling is this patch is a pretty non-invasive > change > that doesn't make the situation fundamentally worse, but any feedback > is > appreciated. > > Cheers, > Scott --=_3d3ad3fb178bd4598beb477b00a6f866 Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=0001-gdb-Support-frames-inlined-into-the-outer-frame.patch Content-Disposition: attachment; filename=0001-gdb-Support-frames-inlined-into-the-outer-frame.patch; size=4267 RnJvbSA5ODNiYWFkMmU4N2YxZDdiYjc5MDU4NTliMjRhNmE5ZmI3ZDEwM2YzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTY290dCBMaW5kZXIgPHNjb3R0QHNjb3R0bGluZGVyLmNvbT4K RGF0ZTogV2VkLCAxOCBNYXIgMjAyMCAxNTo0MTo1MyAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIFtn ZGJdIFN1cHBvcnQgZnJhbWVzIGlubGluZWQgaW50byB0aGUgb3V0ZXIgZnJhbWUKCkJyb2FkZW4g dGhlIGRlZmluaXRpb24gb2YgYG91dGVyX2ZyYW1lX2lkYCB0byBlZmZlY3RpdmVseSBjcmVhdGUg YSBuZXcKY2xhc3Mgb2YgImludmFsaWQiIElEcyB0byByZXByZXNlbnQgZnJhbWVzIGlubGluZWQg aW50byB0aGUgb3V0ZXIgZnJhbWUuClRoZXNlIG5ldyBJRHMgYmVoYXZlIGxpa2UgdGhlIG91dGVy IGZyYW1lLCBpbiB0aGF0IHRoZXkgYXJlICJpbnZhbGlkIiwKeWV0IHJldHVybiB0cnVlIGZyb20g YGZyYW1lX2lkX3BgIGFuZCBjb21wYXJlIGVxdWFsIHRvIHRoZW1zZWx2ZXMuCgoyMDIwLTAzLTE4 ICBTY290dCBMaW5kZXIgIDxzY290dEBzY290dGxpbmRlci5jb20+CgoJKiBmcmFtZS5jIChmcmFt ZV9pZF9wKTogQ29uc2lkZXIgZnVuY3Rpb25zIGlubGluZWQgaW50byBvdXRlciBmcmFtZQoJYXMg dmFsaWQuCgkoZnJhbWVfaWRfZXEpOiBDb25zaWRlciBmdW5jdGlvbnMgaW5saW5lZCBpbnRvIG91 dGVyIGZyYW1lIHdpdGggc2FtZQoJYXJ0aWZpY2lhbF9kZXB0aCBhcyBlcXVhbC4KCgkqIGZyYW1l LmggKG91dGVyX2ZyYW1lX2lkKTogVXBkYXRlIGNvbW1lbnQuCgkoZnJhbWVfaWRfcCk6IFVwZGF0 ZSBjb21tZW50LgoKCSogaW5saW5lLWZyYW1lLmMgKGlubGluZV9mcmFtZV90aGlzX2lkKTogUmVt b3ZlIGFzc2VydCB0aGF0IHByZXZlbnRzCglpbmxpbmUgZnJhbWUgaWRzIGluIG91dGVyIGZyYW1l LgoKQ2hhbmdlLUlkOiBJOGFhMTI5YzY2N2RjY2MzMTU5MGZmZGY0MjY1ODY0MTg0OTNhNmViZQot LS0KIGdkYi9mcmFtZS5jICAgICAgICB8IDExICsrKysrKy0tLS0tCiBnZGIvZnJhbWUuaCAgICAg ICAgfCAgNyArKysrLS0tCiBnZGIvaW5saW5lLWZyYW1lLmMgfCAgNCAtLS0tCiAzIGZpbGVzIGNo YW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2dk Yi9mcmFtZS5jIGIvZ2RiL2ZyYW1lLmMKaW5kZXggZDc0ZDFkNWM3Yy4uYjYyZDY4ZjEyYSAxMDA2 NDQKLS0tIGEvZ2RiL2ZyYW1lLmMKKysrIGIvZ2RiL2ZyYW1lLmMKQEAgLTY5NCw4ICs2OTQsOCBA QCBmcmFtZV9pZF9wIChzdHJ1Y3QgZnJhbWVfaWQgbCkKIAogICAvKiBUaGUgZnJhbWUgaXMgdmFs aWQgaWZmIGl0IGhhcyBhIHZhbGlkIHN0YWNrIGFkZHJlc3MuICAqLwogICBwID0gbC5zdGFja19z dGF0dXMgIT0gRklEX1NUQUNLX0lOVkFMSUQ7Ci0gIC8qIG91dGVyX2ZyYW1lX2lkIGlzIGFsc28g dmFsaWQuICAqLwotICBpZiAoIXAgJiYgbWVtY21wICgmbCwgJm91dGVyX2ZyYW1lX2lkLCBzaXpl b2YgKGwpKSA9PSAwKQorICAvKiBvdXRlcl9mcmFtZV9pZCBhbmQgZnVuY3Rpb25zIGlubGluZWQg aW50byBpdCBhcmUgYWxzbyB2YWxpZC4gICovCisgIGlmICghcCAmJiBsLnNwZWNpYWxfYWRkcl9w KQogICAgIHAgPSAxOwogICBpZiAoZnJhbWVfZGVidWcpCiAgICAgewpAQCAtNzIyLDEyICs3MjIs MTMgQEAgZnJhbWVfaWRfZXEgKHN0cnVjdCBmcmFtZV9pZCBsLCBzdHJ1Y3QgZnJhbWVfaWQgcikK IAogICBpZiAobC5zdGFja19zdGF0dXMgPT0gRklEX1NUQUNLX0lOVkFMSUQgJiYgbC5zcGVjaWFs X2FkZHJfcAogICAgICAgJiYgci5zdGFja19zdGF0dXMgPT0gRklEX1NUQUNLX0lOVkFMSUQgJiYg ci5zcGVjaWFsX2FkZHJfcCkKLSAgICAvKiBUaGUgb3V0ZXJtb3N0IGZyYW1lIG1hcmtlciBpcyBl cXVhbCB0byBpdHNlbGYuICBUaGlzIGlzIHRoZQotICAgICAgIGRvZGd5IHRoaW5nIGFib3V0IG91 dGVyX2ZyYW1lX2lkLCBzaW5jZSBiZXR3ZWVuIGV4ZWN1dGlvbiBzdGVwcworICAgIC8qIFRoZSBv dXRlcm1vc3QgZnJhbWUgbWFya2VyLCBhbmQgYW55IGlubGluZSBmcmFtZSBtYXJrZXJzCisgICAg ICAgZGVyaXZlZCBmcm9tIGl0LCBhcmUgZXF1YWwgdG8gdGhlbXNlbHZlcy4gIFRoaXMgaXMgdGhl IGRvZGd5CisgICAgICAgdGhpbmcgYWJvdXQgb3V0ZXJfZnJhbWVfaWQsIHNpbmNlIGJldHdlZW4g ZXhlY3V0aW9uIHN0ZXBzCiAgICAgICAgd2UgbWlnaHQgc3RlcCBpbnRvIGFub3RoZXIgZnVuY3Rp b24gLSBmcm9tIHdoaWNoIHdlIGNhbid0CiAgICAgICAgdW53aW5kIGVpdGhlci4gIE1vcmUgdGhv dWdodCByZXF1aXJlZCB0byBnZXQgcmlkIG9mCiAgICAgICAgb3V0ZXJfZnJhbWVfaWQuICAqLwot ICAgIGVxID0gMTsKKyAgICBlcSA9IGwuYXJ0aWZpY2lhbF9kZXB0aCA9PSByLmFydGlmaWNpYWxf ZGVwdGg7CiAgIGVsc2UgaWYgKGwuc3RhY2tfc3RhdHVzID09IEZJRF9TVEFDS19JTlZBTElECiAJ ICAgfHwgci5zdGFja19zdGF0dXMgPT0gRklEX1NUQUNLX0lOVkFMSUQpCiAgICAgLyogTGlrZSBh IE5hTiwgaWYgZWl0aGVyIElEIGlzIGludmFsaWQsIHRoZSByZXN1bHQgaXMgZmFsc2UuCmRpZmYg LS1naXQgYS9nZGIvZnJhbWUuaCBiL2dkYi9mcmFtZS5oCmluZGV4IGNmYzE1MDIyZWQuLmQzOTQz ODI5MDMgMTAwNjQ0Ci0tLSBhL2dkYi9mcmFtZS5oCisrKyBiL2dkYi9mcmFtZS5oCkBAIC0xOTUs NyArMTk1LDggQEAgZXh0ZXJuIGNvbnN0IHN0cnVjdCBmcmFtZV9pZCBzZW50aW5lbF9mcmFtZV9p ZDsKIAogLyogVGhpcyBtZWFucyAidGhlcmUgaXMgbm8gZnJhbWUgSUQsIGJ1dCB0aGVyZSBpcyBh IGZyYW1lIi4gIEl0IHNob3VsZCBiZQogICAgcmVwbGFjZWQgYnkgYmVzdC1lZmZvcnQgZnJhbWUg SURzIGZvciB0aGUgb3V0ZXJtb3N0IGZyYW1lLCBzb21laG93LgotICAgVGhlIGltcGxlbWVudGF0 aW9uIGlzIG9ubHkgc3BlY2lhbF9hZGRyX3Agc2V0LiAgKi8KKyAgIFRoZSBpbXBsZW1lbnRhdGlv biBpcyBvbmx5IHNwZWNpYWxfYWRkcl9wLCBhbmQgcG9zc2libHkKKyAgIGFydGlmaWNpYWxfZGVw dGgsIHNldC4gICovCiBleHRlcm4gY29uc3Qgc3RydWN0IGZyYW1lX2lkIG91dGVyX2ZyYW1lX2lk OwogCiAvKiBGbGFnIHRvIGNvbnRyb2wgZGVidWdnaW5nLiAgKi8KQEAgLTIzNyw4ICsyMzgsOCBA QCBleHRlcm4gc3RydWN0IGZyYW1lX2lkCiBleHRlcm4gc3RydWN0IGZyYW1lX2lkIGZyYW1lX2lk X2J1aWxkX3dpbGQgKENPUkVfQUREUiBzdGFja19hZGRyKTsKIAogLyogUmV0dXJucyBub24temVy byB3aGVuIEwgaXMgYSB2YWxpZCBmcmFtZSAoYSB2YWxpZCBmcmFtZSBoYXMgYQotICAgbm9uLXpl cm8gLmJhc2UpLiAgVGhlIG91dGVybW9zdCBmcmFtZSBpcyB2YWxpZCBldmVuIHdpdGhvdXQgYW4K LSAgIElELiAgKi8KKyAgIG5vbi16ZXJvIC5iYXNlKS4gIFRoZSBvdXRlcm1vc3QgZnJhbWUgYW5k IGFueSBmcmFtZXMgaW5saW5lZCBpbnRvIGl0CisgICBhcmUgdmFsaWQgZXZlbiB3aXRob3V0IGFu IElELiAgKi8KIGV4dGVybiBpbnQgZnJhbWVfaWRfcCAoc3RydWN0IGZyYW1lX2lkIGwpOwogCiAv KiBSZXR1cm5zIG5vbi16ZXJvIHdoZW4gTCBpcyBhIHZhbGlkIGZyYW1lIHJlcHJlc2VudGluZyBh IGZyYW1lIG1hZGUgdXAgYnkgR0RCCmRpZmYgLS1naXQgYS9nZGIvaW5saW5lLWZyYW1lLmMgYi9n ZGIvaW5saW5lLWZyYW1lLmMKaW5kZXggYzY1MDE5NWU1Ny4uYTE4NzYzMDg0MCAxMDA2NDQKLS0t IGEvZ2RiL2lubGluZS1mcmFtZS5jCisrKyBiL2dkYi9pbmxpbmUtZnJhbWUuYwpAQCAtMTcxLDEw ICsxNzEsNiBAQCBpbmxpbmVfZnJhbWVfdGhpc19pZCAoc3RydWN0IGZyYW1lX2luZm8gKnRoaXNf ZnJhbWUsCiAgICAgIGZyYW1lIikuICBUaGlzIHdpbGwgdGFrZSB3b3JrLiAgKi8KICAgZ2RiX2Fz c2VydCAoZnJhbWVfaWRfcCAoKnRoaXNfaWQpKTsKIAotICAvKiBGb3Igbm93LCByZXF1aXJlIHdl IGRvbid0IG1hdGNoIG91dGVyX2ZyYW1lX2lkIGVpdGhlciAoc2VlCi0gICAgIGNvbW1lbnQgYWJv dmUpLiAgKi8KLSAgZ2RiX2Fzc2VydCAoIWZyYW1lX2lkX2VxICgqdGhpc19pZCwgb3V0ZXJfZnJh bWVfaWQpKTsKLQogICAvKiBGdXR1cmUgd29yayBOT1RFOiBBbGV4YW5kcmUgT2xpdmEgYXBwbGll ZCBhIHBhdGNoIHRvIEdDQyA0LjMKICAgICAgd2hpY2ggZ2VuZXJhdGVzIERXX0FUX2VudHJ5X3Bj IGZvciBpbmxpbmVkIGZ1bmN0aW9ucyB3aGVuCiAgICAgIHBvc3NpYmxlLiAgSWYgdGhpcyBhdHRy aWJ1dGUgaXMgYXZhaWxhYmxlLCB3ZSBzaG91bGQgdXNlIGl0Ci0tIAoyLjE3LjEKCg== --=_3d3ad3fb178bd4598beb477b00a6f866--