From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id I1oOKpfdgmpb7ysAWB0awg (envelope-from ) for ; Mon, 17 Aug 2026 06:08:23 -0400 Authentication-Results: simark.ca; dkim=pass (1024-bit key; unprotected) header.d=qq.com header.i=@qq.com header.a=rsa-sha256 header.s=s201512 header.b=S0jTUNw+; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 9D1CD1E033; Mon, 17 Aug 2026 06:08:23 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-5.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=ham autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (vm01.sourceware.org [IPv6:2620:52:6:3111::32]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 91EBD1E033 for ; Mon, 17 Aug 2026 06:08:21 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 6CD024BA23E7 for ; Mon, 17 Aug 2026 10:08:20 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6CD024BA23E7 Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=qq.com header.i=@qq.com header.a=rsa-sha256 header.s=s201512 header.b=S0jTUNw+ Received: from out203-205-221-149.mail.qq.com (out203-205-221-149.mail.qq.com [203.205.221.149]) by sourceware.org (Postfix) with ESMTPS id 37DC04BA2E23 for ; Mon, 17 Aug 2026 10:07:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 37DC04BA2E23 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=qq.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=qq.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 37DC04BA2E23 Authentication-Results: sourceware.org; arc=none smtp.remote-ip=203.205.221.149 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1786961277; cv=none; b=heDaufu25Rh4XMmHKLtWG7CWa70jXkBJ17rJNnoLUU2k/t3grvjyyUJgoW84kDvfvIrl/exu5DxqhW1ZTmrJ+DKlwrrUQTDyP0KIkGox1iTlGhVhhDF19wO4PXZppKtW0G2gK0S28l9n4uHaFJUWla5XXPM95DvYLNwE2dqaD5s= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1786961277; c=relaxed/simple; bh=L/WO6aJaGJbcNen86w8LA4/32KyPHTbl7vUlb1pyocg=; h=DKIM-Signature:From:To:Subject:Mime-Version:Date:Message-ID; b=nbtW/LA82HY/uHrCJHXKePQZP7kRFH3TxqF8vg2hyDjJORUV0vP4vvcrTkqZnaiyztOzqy3hszzxbDTKfYkWWDm1XWbz3ZgjuzY7m+y5VN/+z1zIVMVBafSauI7GWcdJMXLrHR5idXNenTHibN45udloIhiNJRi6G7p47D9cVRk= ARC-Authentication-Results: i=1; sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=qq.com header.i=@qq.com header.a=rsa-sha256 header.s=s201512 header.b=S0jTUNw+ DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 37DC04BA2E23 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qq.com; s=s201512; t=1786961273; bh=0IpqHswguGBoe1msJamzu8QlBTdIQ2QVXKLunZIRsdU=; h=From:To:Subject:Date; b=S0jTUNw+fmYHlWhJa+ezOY7ugtpawgsz0gWIgdvy+tBcGfE4drn5UIXWVMKpysC7u 9ERyHjBy+1MdbnNhXB5KDw8t6gK4sTTRFDehaT4isprr0O9MvEAVB5Gm+v+QcMQxGl ZEob1rkvirNYg23c92v4LphtUmIY2kPsiM8Is37A= X-QQ-XMRINFO: Nq+8W0+stu50tPAe92KXseR0ZZmBTk3gLg== X-QQ-XMAILINFO: M/7aYRxQgGxsLA/Dy3vMBQ88JzpU7Efevn3xwyp3QvRmmt5UWk+aSs8CZ1KWII AKrydFzbuwHEydSLBZsRx3oGdORKRSFdru5A0UP7haCKHsAHVzKwX5cz3SjwIcCEQSo7bw3hX0WDh FAQD3lj2AWHW8kEdcrQtRxDdmlHSc0GMTvc16GSEtFLl8ks9pys/TbiTPQ3vpW6yryobqvXTo+k3A bPsJevRNXGARoS3LTFnDrhjBIA7se88NkRchFVLQ2x1lhtO5JQIOQO501cb8LZf5nk7WVb80Z6lYC WbNrOykPR1SRGvs+cOCIZOYfxEKuSLMlnIdRO7y683b7Ihz4Qa7gQNJorwSEYNveEF3bZG6qS4Fyr jGBOUfPpgbmwsUkr0dH5qnAEPQ2x0G7FI2vKkn6MdsnOLTzDByRnsMRCCK6WOgu51lUXEdpLVYWlP b3eIbLJDsvFMNBDvJ7wzBKzmsn+s2bbVrckgBYzQEtQrZwPjKRPdFq8OxYD1ThALgcG4IETOJnVkq 8MqN5orOY16gWuLlaOd+skUn88MwE2exFFjYSXYoL4VJUddz0Xe5UL6NIzgx2mPJi0yWnTIIpBeBB ARatYMih5hNC+bAYrDiPK2/eON754cHEGKikD9f8hEbNOwUYSIz7Vlo4iS1JmCMeCx5rSxCldO1j3 RSBlUeSzD+xpw66CIeQ0jpMmRlcCnBGzi7a1FdfKIieKps9UqBfwrz93FHel872yFoWvNzUNN3TTI C6Cb36Ol8L3RvpKuckcUCBSwPGDK0N19dAQe4vUid8KfbrJjpuY8JvSNKd6ylwrRsqxrbXF+D0Cpe ltNod88Eb+rzuOPGfyghWCmOC9s7j8fg+hHJAeEmx67iGvFUyVZm3Tymf0ONMEsmEmRn/an8fTFMw HnDqVXbyGOkBSKXTevW0HAJzCMJ86M2CKQNh5zrpP6N94/wARwe2l3BOXug/XzDfeXhEKdityyA5V u/Ek0hx7XhY634anfMzHJsE52FOboe2zg7lAcgVet3n8fg/v2ZesuAexjYHfrz4EHO7uuliJe7ihl j4jPvChT+78EqlHT15/nQswH+q8qNt5v5QRdTihICn4yPLsY= From: "=?utf-8?B?55m9?=" <597498687@qq.com> To: "=?utf-8?B?Z2RiLXBhdGNoZXM=?=" Subject: [PATCH] infrun: Introduce empty-loop step heuristic Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_6A82DD77_EA2FABE0_67F9577F" Content-Transfer-Encoding: 8Bit Date: Mon, 17 Aug 2026 18:07:51 +0800 X-Priority: 3 Message-ID: X-QQ-MIME: TCMime 1.0 by Tencent X-Mailer: QQMail 2.x X-QQ-Mailer: QQMail 2.x X-QQ-mid: xmseza56-1t1786961271t65n0o7dw X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org This is a multi-part message in MIME format. ------=_NextPart_6A82DD77_EA2FABE0_67F9577F Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGksCgpUaGlzIHBhdGNoIGFkZHJlc3NlcyBQUiBnZGIvMjEyMjEuICBXaGVuIGEgdXNlciBz aW5nbGUtc3RlcHMgYSBzb3VyY2UKbGluZSBjb250YWluaW5nIGEgdGlnaHQgZW1wdHkgbG9v cCwgR0RCIGN1cnJlbnRseSBzdGVwcyBldmVyeQppdGVyYXRpb24gYW5kIG9ubHkgc3RvcHMg b25jZSB0aGUgbG9vcCBmaW5pc2hlcy4gIFRoZSBwYXRjaCBpbnRyb2R1Y2VzIGEKaGV1cmlz dGljIHRoYXQgZW5kcyB0aGUgc3RlcCBhZnRlciBvbmUgaXRlcmF0aW9uIGJ5IGRldGVjdGlu ZyB3aGVuIHRoZQppbmZlcmlvciByZXR1cm5zIHRvIHRoZSBmaXJzdCBzdG9wIFBDIG9ic2Vy dmVkIG9uIHRoZSBzYW1lIHNvdXJjZSBsaW5lLgoKVGhlIGhldXJpc3RpYyBpcyBvbmx5IGFj dGl2ZSBpbiBmb3J3YXJkIGV4ZWN1dGlvbiBhbmQgaW5jbHVkZXMgYQpzYWZldHkgdGhyZXNo b2xkIHRvIGF2b2lkIHJ1bmF3YXkgc3RlcHMuICBBIHVpX291dCBtZXNzYWdlIGlzIGVtaXR0 ZWQKc28gZnJvbnQtZW5kcyBjYW4gcGFyc2UgdGhlIHN0b3AgcmVhc29uLgoKVGVzdGVkIGJ5 IGdkYi5iYXNlL2VtcHR5LWxvb3Atc3RlcC5leHAuCgpUaGFua3MsCueZvQo= ------=_NextPart_6A82DD77_EA2FABE0_67F9577F Content-Type: application/octet-stream; charset="utf-8"; name="0001-infrun-Introduce-empty-loop-step-heuristic.patch" Content-Disposition: attachment; filename="0001-infrun-Introduce-empty-loop-step-heuristic.patch" Content-Transfer-Encoding: base64 RnJvbSAzMGQ5ODdlMjU2YTZiZWVhYzg0NzcxYWE2NmQ2YTcyMWNlY2IwYTQzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiDnmb0gPDU5NzQ5ODY4N0BxcS5jb20+CkRhdGU6IEZy aSwgMTQgQXVnIDIwMjYgMTU6MDI6MTYgKzA4MDAKU3ViamVjdDogW1BBVENIXSBpbmZydW46 IEludHJvZHVjZSBlbXB0eS1sb29wIHN0ZXAgaGV1cmlzdGljCgpQUiBnZGIvMjEyMjEKCldo ZW4gYSB1c2VyIHNpbmdsZS1zdGVwcyBhIHNvdXJjZSBsaW5lIHRoYXQgY29udGFpbnMgYSB0 aWdodCBsb29wIHdpdGgKYW4gZW1wdHkgYm9keSwgR0RCIGN1cnJlbnRseSBzaW5nbGUtc3Rl cHMgZXZlcnkgaXRlcmF0aW9uIGFuZCBvbmx5CnN0b3BzIGFmdGVyIHRoZSB3aG9sZSBsb29w IGNvbXBsZXRlcy4gIFRoaXMgaXMgY29uZnVzaW5nIGJlY2F1c2UgYQpzaW5nbGUgJ3N0ZXAn IGNvbW1hbmQgY2FuIHJ1biBhbiB1bmJvdW5kZWQgbnVtYmVyIG9mIGl0ZXJhdGlvbnMuCgpJ bnRyb2R1Y2UgYSBoZXVyaXN0aWMgdGhhdCBkZXRlY3RzIHdoZW4gYSBzaW5nbGUgc291cmNl LWxldmVsIHN0ZXAgaXMKc3RvcHBpbmcgcmVwZWF0ZWRseSBvbiB0aGUgc2FtZSBzb3VyY2Ug bGluZSwgYW5kIGVuZHMgdGhlIHN0ZXAgYWZ0ZXIKb25lIGl0ZXJhdGlvbi4gIFRoZSBkZXRl Y3Rpb24gcmVjb3JkcyB0aGUgZmlyc3Qgc3RvcCBQQyBvYnNlcnZlZCBvbiB0aGUKc291cmNl IGxpbmUgd2hpbGUgdGhlIHN0ZXAgaXMgYWN0aXZlLCBhbmQgZW5kcyB0aGUgc3RlcCB3aGVu IHRoZQppbmZlcmlvciByZXR1cm5zIHRvIHRoYXQgUEMgYWZ0ZXIgaGF2aW5nIGxlZnQgaXQu ICBUaGlzIGNvcnJlY3RseSBoYW5kbGVzCmxvb3BzIHdoZXJlIHRoZSBjb21waWxlciBoYXMg cGxhY2VkIHRoZSB0ZXN0IGFmdGVyIHRoZSBib2R5LCB3aGljaAp3b3VsZCBvdGhlcndpc2Ug Y2F1c2UgYSBiYWNrd2FyZCBqdW1wIHRvIHRoZSBib2R5IGJlZm9yZSB0aGUgZmlyc3QKaXRl cmF0aW9uIGlzIGNvbXBsZXRlLgoKQSBzYWZldHkgdGhyZXNob2xkIHByZXZlbnRzIHJ1bmF3 YXkgc3RlcHMgaWYgdGhlIGhldXJpc3RpYyBzb21laG93CmZhaWxzIHRvIGRldGVjdCB0aGUg bG9vcC4gIFRoZSBzdG9wIG1lc3NhZ2UgaXMgZW1pdHRlZCB0aHJvdWdoIHVpX291dApzbyBm cm9udC1lbmRzIGNhbiBwYXJzZSBpdC4KClRlc3RlZCBieSBnZGIuYmFzZS9lbXB0eS1sb29w LXN0ZXAuZXhwLgotLS0KIGdkYi9ORVdTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICAgNCArCiBnZGIvZ2RidGhyZWFkLmggICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgMTAgKysKIGdkYi9pbmZydW4uYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8IDEwNiArKysrKysrKysrKysrKysrKysrKysKIGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv ZW1wdHktbG9vcC1zdGVwLmMgICB8ICAzMyArKysrKysrCiBnZGIvdGVzdHN1aXRlL2dkYi5i YXNlL2VtcHR5LWxvb3Atc3RlcC5leHAgfCAgNDEgKysrKysrKysKIDUgZmlsZXMgY2hhbmdl ZCwgMTk0IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRl L2dkYi5iYXNlL2VtcHR5LWxvb3Atc3RlcC5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS9lbXB0eS1sb29wLXN0ZXAuZXhwCgpkaWZmIC0tZ2l0IGEvZ2Ri L05FV1MgYi9nZGIvTkVXUwppbmRleCAxMGMxODIwLi41YWNlZmRiIDEwMDY0NAotLS0gYS9n ZGIvTkVXUworKysgYi9nZGIvTkVXUwpAQCAtMyw2ICszLDEwIEBACiAKICoqKiBDaGFuZ2Vz IHNpbmNlIEdEQiAxOAogCisqIEdEQiBub3cgZGV0ZWN0cyBzb3VyY2UtbGV2ZWwgZW1wdHkt bG9vcCBib2RpZXMgZHVyaW5nIHN0ZXBwaW5nIGFuZAorICBlbmRzIGEgc2luZ2xlIHN0ZXAg YXQgdGhlIGVuZCBvZiBvbmUgbG9vcCBpdGVyYXRpb24sIGF2b2lkaW5nCisgIHNpbmdsZS1z dGVwcGluZyBldmVyeSBpdGVyYXRpb24uCisKICoqKiBDaGFuZ2VzIGluIEdEQiAxOAogCiAq IFN1cHBvcnQgZm9yIHRoZSBDb21tb24gVHJhY2UgRm9ybWF0IChDVEYpIGhhcyBiZWVuIHJl bW92ZWQuICBHREIgbm93CmRpZmYgLS1naXQgYS9nZGIvZ2RidGhyZWFkLmggYi9nZGIvZ2Ri dGhyZWFkLmgKaW5kZXggMjI0ZjFjYy4uZDkwNTM4ZSAxMDA2NDQKLS0tIGEvZ2RiL2dkYnRo cmVhZC5oCisrKyBiL2dkYi9nZGJ0aHJlYWQuaApAQCAtMjEyLDYgKzIxMiwxNiBAQCBzdHJ1 Y3QgdGhyZWFkX2NvbnRyb2xfc3RhdGUKICAgICAgc2luZ2xlLXN0ZXBwaW5nLiAgKi8KICAg Ym9vbCBjdXJyZW50bHlfc3RlcHBpbmcgPSBmYWxzZTsKIAorICAvKiBDb3VudGVyIHVzZWQg YnkgdGhlIGVtcHR5LWxvb3Agc3RlcCBoZXVyaXN0aWMuICAqLworICB1bnNpZ25lZCBpbnQg ZW1wdHlfbG9vcF9zdGVwX2NvdW50ID0gMDsKKworICAvKiBGaXJzdCBzdG9wIFBDIG9ic2Vy dmVkIHdoaWxlIHRoZSBlbXB0eS1sb29wIHN0ZXAgaGV1cmlzdGljIGlzCisgICAgIGFjdGl2 ZS4gICovCisgIENPUkVfQUREUiBlbXB0eV9sb29wX2ZpcnN0X3BjID0gMDsKKworICAvKiBQ cmV2aW91cyBzdG9wIFBDIHdoaWxlIHRoZSBlbXB0eS1sb29wIHN0ZXAgaGV1cmlzdGljIGlz IGFjdGl2ZS4gICovCisgIENPUkVfQUREUiBsYXN0X3N0b3BfcGMgPSAwOworCiAgIC8qIE5v bnplcm8gaWYgdGhlIHRocmVhZCBpcyBiZWluZyBwcm9jZWVkZWQgZm9yIGEgImZpbmlzaCIg Y29tbWFuZAogICAgICBvciBhIHNpbWlsYXIgc2l0dWF0aW9uIHdoZW4gcmV0dXJuIHZhbHVl IHNob3VsZCBiZSBwcmludGVkLiAgKi8KICAgaW50IHByb2NlZWRfdG9fZmluaXNoID0gMDsK ZGlmZiAtLWdpdCBhL2dkYi9pbmZydW4uYyBiL2dkYi9pbmZydW4uYwppbmRleCBjMDc2N2U3 Li5lM2Y2MWUwIDEwMDY0NAotLS0gYS9nZGIvaW5mcnVuLmMKKysrIGIvZ2RiL2luZnJ1bi5j CkBAIC00MzksNiArNDM5LDEyIEBAIHNob3dfc3RvcF9vbl9zb2xpYl9ldmVudHMgKHN0cnVj dCB1aV9maWxlICpmaWxlLCBpbnQgZnJvbV90dHksCiAKIHN0YXRpYyBib29sIHN0b3BfcHJp bnRfZnJhbWU7CiAKKy8qIE1heGltdW0gbnVtYmVyIG9mIHNpbmdsZSBzdGVwcyBvbiB0aGUg c2FtZSBzb3VyY2UgbGluZSBiZWZvcmUgdGhlCisgICBlbXB0eS1sb29wIGhldXJpc3RpYyBn aXZlcyB1cCBhbmQgZW5kcyB0aGUgc3RlcCBhbnl3YXkuICBUaGlzIGlzIGEKKyAgIHNhZmV0 eSBuZXQgZm9yIGNhc2VzIHdoZXJlIHRoZSBiYWNrd2FyZC1icmFuY2ggaGV1cmlzdGljIGJl bG93IGRvZXMKKyAgIG5vdCBkZXRlY3QgdGhlIGxvb3AuICAqLworI2RlZmluZSBFTVBUWV9M T09QX1NURVBfVEhSRVNIT0xEIDEwMAorCiAvKiBUaGlzIGlzIGEgY2FjaGVkIGNvcHkgb2Yg dGhlIHRhcmdldC9wdGlkL3dhaXRzdGF0dXMgb2YgdGhlIGxhc3QKICAgIGV2ZW50IHJldHVy bmVkIGJ5IHRhcmdldF93YWl0KCkuCiAgICBUaGlzIGluZm9ybWF0aW9uIGlzIHJldHVybmVk IGJ5IGdldF9sYXN0X3RhcmdldF9zdGF0dXMoKS4gICovCkBAIC00OTU4LDYgKzQ5NjQsOSBA QCBpbml0X3RocmVhZF9zdGVwcGluZ19zdGF0ZSAoc3RydWN0IHRocmVhZF9pbmZvICp0c3Mp CiAgIHRzcy0+c3RlcHBpbmdfb3Zlcl9icmVha3BvaW50ID0gMDsKICAgdHNzLT5zdGVwcGlu Z19vdmVyX3dhdGNocG9pbnQgPSAwOwogICB0c3MtPnN0ZXBfYWZ0ZXJfc3RlcF9yZXN1bWVf YnJlYWtwb2ludCA9IDA7CisgIHRzcy0+Y29udHJvbC5lbXB0eV9sb29wX3N0ZXBfY291bnQg PSAwOworICB0c3MtPmNvbnRyb2wuZW1wdHlfbG9vcF9maXJzdF9wYyA9IDA7CisgIHRzcy0+ Y29udHJvbC5sYXN0X3N0b3BfcGMgPSAwOwogfQogCiAvKiBTZWUgaW5mcnVuLmguICAqLwpA QCAtNzUxNiw2ICs3NTI1LDk3IEBAIHByaXZhdGU6CiAKIH0KIAorLyogUmVwb3J0IHRoYXQg d2UgaGF2ZSBzdG9wcGVkIGJlY2F1c2Ugd2UgZGV0ZWN0ZWQgYW4gZW1wdHktbG9vcCBib2R5 LgorICAgRlVOQ19OQU1FIG1heSBiZSBOVUxMLiAgKi8KKworc3RhdGljIHZvaWQKK3JlcG9y dF9lbXB0eV9sb29wX3N0b3AgKHN0cnVjdCB1aV9vdXQgKnVpb3V0LCBjb25zdCBjaGFyICpm dW5jX25hbWUsCisJc3RydWN0IHN5bXRhYiAqc3ltdGFiLCBpbnQgbGluZSkKK3sKKyAgY29u c3QgY2hhciAqZmlsZV9uYW1lID0gc3ltdGFiICE9IG51bGxwdHIgPyBzeW10YWItPmZpbGVu YW1lICgpIDogIj8iOworCisgIHVpb3V0LT5tZXNzYWdlIChfKCIlcEYgKCkgYXQgJXBGOiVw RlxuIiksCisJICBzdHJpbmdfZmllbGQgKCJmdW5jdGlvbiIsIGZ1bmNfbmFtZSA/IGZ1bmNf bmFtZSA6ICI/PyIpLAorCSAgc3RyaW5nX2ZpZWxkICgiZmlsZSIsIGZpbGVfbmFtZSksCisJ ICBzaWduZWRfZmllbGQgKCJsaW5lIiwgbGluZSkpOworfQorCisvKiBSZXR1cm4gdHJ1ZSBp ZiB3ZSBoYXZlIGNvbXBsZXRlZCBvbmUgaXRlcmF0aW9uIG9mIGFuIGVtcHR5IGxvb3AgYm9k eQorICAgd2hpbGUgc3RlcHBpbmcuICBJZiBzbywgZW5kIHRoZSBzdGVwLiAgKi8KKworc3Rh dGljIGJvb2wKK21heWJlX2VuZF9lbXB0eV9sb29wX3N0ZXAgKHN0cnVjdCBleGVjdXRpb25f Y29udHJvbF9zdGF0ZSAqZWNzKQoreworICBzdHJ1Y3QgdGhyZWFkX2luZm8gKnRwID0gZWNz LT5ldmVudF90aHJlYWQ7CisgIHN0cnVjdCBzeW10YWJfYW5kX2xpbmUgc3RhcnRfc2FsID0K KyAgICBmaW5kX3NhbF9mb3JfcGMgKHRwLT5jb250cm9sLnN0ZXBfcmFuZ2Vfc3RhcnQsIDAp OworICBzdHJ1Y3Qgc3ltdGFiX2FuZF9saW5lIGN1cnJlbnRfc2FsID0gZmluZF9zYWxfZm9y X3BjICh0cC0+c3RvcF9wYyAoKSwgMCk7CisKKyAgaWYgKHN0YXJ0X3NhbC5saW5lICE9IDAK KyAgICAgICYmIGN1cnJlbnRfc2FsLmxpbmUgPT0gc3RhcnRfc2FsLmxpbmUKKyAgICAgICYm IGN1cnJlbnRfc2FsLnN5bXRhYiA9PSBzdGFydF9zYWwuc3ltdGFiKQorICAgIHsKKyAgICAg IGJvb2wgbG9vcF9pdGVyX2RvbmUgPSBmYWxzZTsKKyAgICAgIENPUkVfQUREUiBzdG9wX3Bj ID0gdHAtPnN0b3BfcGMgKCk7CisgICAgICBDT1JFX0FERFIgbGFzdF9zdG9wX3BjID0gdHAt PmNvbnRyb2wubGFzdF9zdG9wX3BjOworCisgICAgICB0cC0+Y29udHJvbC5lbXB0eV9sb29w X3N0ZXBfY291bnQrKzsKKworICAgICAgLyogSWYgdGhpcyBpcyB0aGUgZmlyc3Qgc3RvcCBv biB0aGlzIGxpbmUgc2luY2UgdGhlIHN0ZXAgYmVnYW4sCisJIHJlY29yZCB0aGUgUEMuICBP bmUgY29tcGxldGUgaXRlcmF0aW9uIGlzIGRldGVjdGVkIHdoZW4gd2UKKwkgcmV0dXJuIHRv IHRoaXMgUEMgYWZ0ZXIgaGF2aW5nIGxlZnQgaXQsIGkuZS4gdGhlIGxvb3AgaGFzCisJIGNp cmNsZWQgYmFjayB0byBpdHMgc3RhcnRpbmcgcG9pbnQuICAqLworICAgICAgaWYgKGxhc3Rf c3RvcF9wYyA9PSAwKQorCXRwLT5jb250cm9sLmVtcHR5X2xvb3BfZmlyc3RfcGMgPSBzdG9w X3BjOworCisgICAgICAvKiBBIGNvbXBsZXRlZCBpdGVyYXRpb24gaXMgaW5kaWNhdGVkIGJ5 IHJldHVybmluZyB0byB0aGUgZmlyc3QKKwkgc3RvcCBQQyBvYnNlcnZlZCBvbiB0aGlzIGxp bmUsIGFmdGVyIGF0IGxlYXN0IG9uZSBvdGhlciBzdG9wLgorCSBUaGlzIGlzIG1vcmUgcmVs aWFibGUgdGhhbiBsb29raW5nIGZvciBiYWNrd2FyZCBicmFuY2hlcywKKwkgYmVjYXVzZSBj b21waWxlcnMgbWF5IHBsYWNlIHRoZSBsb29wIHRlc3QgYWZ0ZXIgdGhlIGJvZHksIGNhdXNp bmcKKwkgYSBiYWNrd2FyZCBqdW1wIHRvIHRoZSBib2R5IGJlZm9yZSBpdCBoYXMgZXhlY3V0 ZWQgZm9yIHRoZSBmaXJzdAorCSBpdGVyYXRpb24uICAqLworICAgICAgaWYgKGxhc3Rfc3Rv cF9wYyAhPSAwCisJICAmJiBzdG9wX3BjID09IHRwLT5jb250cm9sLmVtcHR5X2xvb3BfZmly c3RfcGMpCisJbG9vcF9pdGVyX2RvbmUgPSB0cnVlOworCisgICAgICBpZiAobG9vcF9pdGVy X2RvbmUpCisJeworCSAgcmVwb3J0X2VtcHR5X2xvb3Bfc3RvcCAoY3VycmVudF91aW91dCwg ZWNzLT5zdG9wX2Z1bmNfbmFtZSwKKwkJCQkgIHN0YXJ0X3NhbC5zeW10YWIsIHN0YXJ0X3Nh bC5saW5lKTsKKwkgIHRwLT5jb250cm9sLmVtcHR5X2xvb3Bfc3RlcF9jb3VudCA9IDA7CisJ ICB0cC0+Y29udHJvbC5lbXB0eV9sb29wX2ZpcnN0X3BjID0gMDsKKwkgIHRwLT5jb250cm9s Lmxhc3Rfc3RvcF9wYyA9IDA7CisJICBlbmRfc3RlcHBpbmdfcmFuZ2UgKGVjcyk7CisJICBy ZXR1cm4gdHJ1ZTsKKwl9CisKKyAgICAgIC8qIEZhbGxiYWNrOiBpZiB3ZSBrZWVwIHN0b3Bw aW5nIG9uIHRoZSBzYW1lIGxpbmUgd2l0aG91dCBhCisJIGJhY2t3YXJkIGp1bXAgKHVudXN1 YWwpLCBhdm9pZCBoYW5naW5nIGJ5IGVuZGluZyB0aGUgc3RlcCBhZnRlciBhCisJIGZpeGVk IG51bWJlciBvZiBzdG9wcy4gICovCisgICAgICBpZiAodHAtPmNvbnRyb2wuZW1wdHlfbG9v cF9zdGVwX2NvdW50ID4gRU1QVFlfTE9PUF9TVEVQX1RIUkVTSE9MRCkKKwl7CisJICByZXBv cnRfZW1wdHlfbG9vcF9zdG9wIChjdXJyZW50X3Vpb3V0LCBlY3MtPnN0b3BfZnVuY19uYW1l LAorCQkJCSAgc3RhcnRfc2FsLnN5bXRhYiwgc3RhcnRfc2FsLmxpbmUpOworCSAgdHAtPmNv bnRyb2wuZW1wdHlfbG9vcF9zdGVwX2NvdW50ID0gMDsKKwkgIHRwLT5jb250cm9sLmVtcHR5 X2xvb3BfZmlyc3RfcGMgPSAwOworCSAgdHAtPmNvbnRyb2wubGFzdF9zdG9wX3BjID0gMDsK KwkgIGVuZF9zdGVwcGluZ19yYW5nZSAoZWNzKTsKKwkgIHJldHVybiB0cnVlOworCX0KKyAg ICB9CisgIGVsc2UKKyAgICB7CisgICAgICAvKiBObyBsb25nZXIgb24gdGhlIHNhbWUgc291 cmNlIGxpbmUuICBSZXNldCBib3RoIHRoZSBjb3VudGVyCisJIGFuZCB0aGUgbGFzdC1zdG9w IG1hcmtlci4gICovCisgICAgICB0cC0+Y29udHJvbC5lbXB0eV9sb29wX3N0ZXBfY291bnQg PSAwOworICAgICAgdHAtPmNvbnRyb2wuZW1wdHlfbG9vcF9maXJzdF9wYyA9IDA7CisgICAg ICB0cC0+Y29udHJvbC5sYXN0X3N0b3BfcGMgPSAwOworICAgIH0KKworICB0cC0+Y29udHJv bC5sYXN0X3N0b3BfcGMgPSB0cC0+c3RvcF9wYyAoKTsKKyAgcmV0dXJuIGZhbHNlOworfQor CiAvKiBDb21lIGhlcmUgd2hlbiB3ZSd2ZSBnb3Qgc29tZSBkZWJ1ZyBldmVudCAvIHNpZ25h bCB3ZSBjYW4gZXhwbGFpbgogICAgKElPVywgbm90IGEgcmFuZG9tIHNpZ25hbCksIGFuZCB0 ZXN0IHdoZXRoZXIgaXQgc2hvdWxkIGNhdXNlIGEKICAgIHN0b3AsIG9yIHdoZXRoZXIgd2Ug c2hvdWxkIHJlc3VtZSB0aGUgaW5mZXJpb3IgKHRyYW5zcGFyZW50bHkpLgpAQCAtNzgyNyw2 ICs3OTI3LDEyIEBAIHByb2Nlc3NfZXZlbnRfc3RvcF90ZXN0IChzdHJ1Y3QgZXhlY3V0aW9u X2NvbnRyb2xfc3RhdGUgKmVjcykKIAkgICYmIHN0b3BfcGMgIT0gZWNzLT5zdG9wX2Z1bmNf c3RhcnQKIAkgICYmIGV4ZWN1dGlvbl9kaXJlY3Rpb24gPT0gRVhFQ19SRVZFUlNFKQogCWVu ZF9zdGVwcGluZ19yYW5nZSAoZWNzKTsKKyAgICAgIGVsc2UgaWYgKGV4ZWN1dGlvbl9kaXJl Y3Rpb24gPT0gRVhFQ19GT1JXQVJEKQorCXsKKwkgIGlmIChtYXliZV9lbmRfZW1wdHlfbG9v cF9zdGVwIChlY3MpKQorCSAgICByZXR1cm47CisJICBrZWVwX2dvaW5nIChlY3MpOworCX0K ICAgICAgIGVsc2UKIAlrZWVwX2dvaW5nIChlY3MpOwogCmRpZmYgLS1naXQgYS9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL2VtcHR5LWxvb3Atc3RlcC5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu YmFzZS9lbXB0eS1sb29wLXN0ZXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwLi4yOGNhZDAyCi0tLSAvZGV2L251bGwKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFz ZS9lbXB0eS1sb29wLXN0ZXAuYwpAQCAtMCwwICsxLDMzIEBACisvKiBUZXN0IGVtcHR5LWxv b3Agc3RlcCBoZXVyaXN0aWMuCisKKyAgIENvcHlyaWdodCAoQykgMjAyNiBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4KKworICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR0RCLgor CisgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yIG1vZGlmeQorICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAgIHRoZSBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9y CisgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCisgICBUaGlzIHBy b2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1 bCwKKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs aWVkIHdhcnJhbnR5IG9mCisgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg YSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICAgYWxvbmcgd2l0 aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vu c2VzLz4uICAqLworCit2b2xhdGlsZSBpbnQgaTsKKwordm9pZAorZm9vICh2b2lkKQorewor ICBmb3IgKGkgPSAwOyBpIDwgMTA7IGkrKyk7ICAvKiBsb29wLWxpbmUgKi8KK30KKworaW50 CittYWluICh2b2lkKQoreworICBmb28gKCk7CisgIHJldHVybiAwOworfQpkaWZmIC0tZ2l0 IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9lbXB0eS1sb29wLXN0ZXAuZXhwIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS9lbXB0eS1sb29wLXN0ZXAuZXhwCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAuLmZlZTFkNWQKLS0tIC9kZXYvbnVsbAorKysgYi9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL2VtcHR5LWxvb3Atc3RlcC5leHAKQEAgLTAsMCArMSw0MSBAQAor IyBDb3B5cmlnaHQgKEMpIDIwMjYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisj CisjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisj IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgcHJvZ3Jh bSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAor IyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3 YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV TEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv ciBtb3JlIGRldGFpbHMuCisjCisjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisjIGFsb25nIHdpdGggdGhpcyBw cm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+Lgor CisjIFRlc3QgdGhhdCBHREIgZW5kcyBhIHNvdXJjZS1sZXZlbCAic3RlcCIgYWZ0ZXIgb25l IGl0ZXJhdGlvbiBvZiBhbgorIyBlbXB0eSBsb29wIGJvZHksIHJhdGhlciB0aGFuIHJ1bm5p bmcgdGhlIHdob2xlIGxvb3AuCisKK3N0YW5kYXJkX3Rlc3RmaWxlCisKK2lmIHtbcHJlcGFy ZV9mb3JfdGVzdGluZyAiZmFpbGVkIHRvIHByZXBhcmUiICR0ZXN0ZmlsZSAkc3JjZmlsZSBk ZWJ1Z119IHsKKyAgICByZXR1cm4gLTEKK30KKworaWYgIVtydW50b19tYWluXSB0aGVuIHsK KyAgICBmYWlsICJjYW4ndCBydW4gdG8gbWFpbiIKKyAgICByZXR1cm4gMAorfQorCisjIENv bnRpbnVlIHRvIHRoZSBlbXB0eSBmb3ItbG9vcCBsaW5lLgorc2V0IGxvb3BfbGluZSBbZ2Ri X2dldF9saW5lX251bWJlciAiZm9yIChpID0gMDsiXQorZ2RiX3Rlc3QgImJyZWFrICRsb29w X2xpbmUiICIuKiIgInNldCBicmVha3BvaW50IGF0IGxvb3AiCitnZGJfdGVzdCAiY29udGlu dWUiICIuKiIgImNvbnRpbnVlIHRvIGxvb3AiCisKKyMgQSBzaW5nbGUgInN0ZXAiIHNob3Vs ZCBlbmQgYWZ0ZXIgb25lIGxvb3AgaXRlcmF0aW9uLCBub3QgcnVuIGFsbAorIyAxMCBpdGVy YXRpb25zLgorZ2RiX3Rlc3QgInN0ZXAiICIuKiIgInN0ZXAgZW1wdHkgbG9vcCIKKworIyBJ ZiB0aGUgaGV1cmlzdGljIHdvcmtlZCwgaSBzaG91bGQgYmUgMS4gIElmIHRoZSBoZXVyaXN0 aWMgZmFpbGVkLAorIyB0aGUgd2hvbGUgbG9vcCB3b3VsZCBoYXZlIHJ1biBhbmQgaSB3b3Vs ZCBiZSAxMC4KK2dkYl90ZXN0ICJwcmludCBpIiAiLio9IDEuKiIgInN0b3BwZWQgYWZ0ZXIg b25lIGl0ZXJhdGlvbiIKLS0gCjIuNTMuMC53aW5kb3dzLjMKCg== ------=_NextPart_6A82DD77_EA2FABE0_67F9577F--