From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from sender4-pp-o91.zoho.com (sender4-pp-o91.zoho.com [136.143.188.91]) by sourceware.org (Postfix) with ESMTPS id C937138618D2; Thu, 16 Nov 2023 22:36:43 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C937138618D2 Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=zoho.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=zoho.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org C937138618D2 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=136.143.188.91 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1700174218; cv=pass; b=Kbdt3UApHyoKYhBq6FiKnD0udVUGqq2jJebWrLi6imgehaBHE8YP2cbX2udVrOVEtY71yQHRfksQC/d8QQViGi9rljJu+0h+de/0HUAfokf9nx66tMAE56wgUc+Bd5rLXA4Ou//SJkEx5NiV2oJvscbUg2Dn65oZUjDGPfHjZbs= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1700174218; c=relaxed/simple; bh=lVE0ND3c4ZAxHUSYjohDtY3m/EOfcIfqEkh+cKiW1uA=; h=DKIM-Signature:Message-ID:Subject:From:To:Date:MIME-Version; b=tp5r5Sqg0YLrQRbY7L8dAQMAg0AG/clBYChnVw+y1XQFvGqZBJ93lxZx7BKQ1YWKuIw+ZgIbZAmdXLkdRdFS5zJhxzkni9JJsebi6J3wy3LcU6fW1mtC9+csnM0nQt3eFVDs7DaEibum+1cNlzW5K5LN8FPGliFtWRy1tw4wCFI= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; t=1700174199; cv=none; d=zohomail.com; s=zohoarc; b=IUxXRCC7XUROm+NsFQ8n1RTeueaV8oXbP8k+S6z9Rgyuu32uCFLkWbR6nY9bhUPOPDIR7JUEjm0fvbu4fobFnVtEjFYsvfZ/7thtwkIKRerOzSGwLOFTHB91jKk13Kdq9P1vFfY7rlF8C4UlMQeRbl1/5weCyQeP2Q3lBEPuP3s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1700174199; h=Content-Type:Cc:Cc:Date:Date:From:From:MIME-Version:Message-ID:Subject:Subject:To:To:Message-Id:Reply-To; bh=bsyZv+WPCC8Upp01lLGogjK2eDwUAktYJlABZgHOG8A=; b=PRjY2PoVNkHoL8nkVuJw77PO81HGqrzF3/uyVS/jyHQ6BkSsv40TBiJnw93T9cU2lTZrzUsdgeHD4rtXEMAuvbnai0EACx+n0yl9xlzAEWH+5eNbjABsqsZ0XFv2V71/GOQrjakT8tdRyya47rwt7wVb2tk8/U5FqNn+7rNME14= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=zoho.com; spf=pass smtp.mailfrom=bouanto@zoho.com; dmarc=pass header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1700174199; s=zm2022; d=zoho.com; i=bouanto@zoho.com; h=Message-ID:Subject:Subject:From:From:To:To:Cc:Cc:Date:Date:Content-Type:MIME-Version:Feedback-ID:Message-Id:Reply-To; bh=bsyZv+WPCC8Upp01lLGogjK2eDwUAktYJlABZgHOG8A=; b=fbXlFargtZZuXv10d9c6IJrntwkv8Ahy74GOscng6+m3WXfciFuKHWFK8f8+hS6Y KoIP3ugho1WS8eBLSiW1aSkm7RLZAeCk2Ti0rdmYWUTBA+t8s1mR+2kX8vxIZMK26le 1OGiMggLh9Ss9cbOeQznfuQPCDhKW2r683r5m7p4= Received: from [192.168.1.172] (38.87.11.6 [38.87.11.6]) by mx.zohomail.com with SMTPS id 170017419842647.166824498242704; Thu, 16 Nov 2023 14:36:38 -0800 (PST) Message-ID: Subject: [PATCH] libgccjit Fix a RTL bug for libgccjit From: Antoni Boucher To: jit@gcc.gnu.org, gcc-patches@gcc.gnu.org Cc: David Malcolm Date: Thu, 16 Nov 2023 17:36:36 -0500 Autocrypt: addr=bouanto@zoho.com; prefer-encrypt=mutual; keydata=mQENBFOSMLQBCADO5aw6Ys8thMQUNzrwAnfJX2wbgWiz0pQ01DjYj22eeIpChkoZn6LWdt4dieq30u2rFi/yQzJ02foHwI2+aL9rU6xz/x4TwqyRJQGMOqklNc3R+pdXmH4WDQkQDWmLxvc07vu+zb8Tx5A6pMDh4J2ncCEhLEUcH39Yq/yg4eBnFwUX6N7kakvHrnScGNqhnSFCacoJeMJUAR+1G7VBSBd++jmnHLnx3mj7QkRZVECJUw2zqiv1yReCC6GU4SvqLjdqm5ZGeoWOqD/NHjBRoEeOVjzp6M/qOjjWRbkJVqmvgfcD8UytSSqqboR35YFT4L+rZt2ri3T12MJb3i5syCAXABEBAAG0IUFudG9uaSBCb3VjaGVyIDxib3VhbnRvQHpvaG8uY29tPokBVgQTAQgAQAIbIwcLCQgHAwIBBhUIAgkKCwQWAgMBAh4BAheAFiEEOELC4Uw1Jeb66YE6RVeGAwR4zcEFAlz4QM4FCRLMEZoACgkQRVeGAwR4zcFBQQf/afttJrA/puADQZhrDfkgr0MFvq6iB+GCy1b8BkXimk1TOXTPt87YLehSeijNu3JkYhl5eRc87BNfU9J87KfI/KIy6hZxqlDXk16FhW9bw/7wYEA0hpb3MUn7xLElXDT0ZHaD+KTe8Oun7qfzgx5RlL6r/WODf3CkSpO085R/rfeBqDEx9mVlhDWgq6Az3CZoD+3CqiCKVqmDuHTWz4kwrd9AM5eVcLvvLKnZIdoIp+G5Ao6BvaGlZyfenN1iOSjLy2NXNt4MnUt0lUYEP5KSIIRhHQ8xkUbj7eWUmaahkxhNb3fH3sAPwGnRZrPpb4rgYzNmSk63wWMh9M2xk+rLb7kBDQRTkjC0AQgAumZzsAV/UFWI+dpzebQfma36kKYZZFuseant5sq/HWP553XQ/U6ttJiKyN5MpCqtxvCAoRplf42YhlHuFqgf73WJxoJ6Y+sdyqoBSwlR+ gzAneAmsa8gmmY0wawH0Z2leazjKuS7mJjVEQZg0ZGsiCVRGeRnDqFGzDEzDc9ngWKSoTq0fKzlGy1X85OrtmUrvEbhSo6HP+FoeunHkIqrxu3w3vDoFEXxVQlKI6V3I4nCz5n6DB8WR3L7nsiiTnOiGirPw1ngvWFLW86kkA4FJpayc8Xl3va3SLY+2y4yuROboX2DVI4AC/Qeug/mDiBicPxkP6YfUartQRMe6obkEQARAQABiQE8BBgBCAAmAhsMFiEEOELC4Uw1Jeb66YE6RVeGAwR4zcEFAlz4QRsFCRLMEecACgkQRVeGAwR4zcE56ggAgTgrJInBKC+7552Dpccuo6Clh3wZfjlNLv9/6r5lKEbaNzaTrfhPiAP4WgnluIUmj8amOFLFJpj+BAVNOXpZ4D2R3o9ch8z7fot+fW4Yw+PKIxH4I2xEys8ndoEB3aiQwHjKcGIhkIU7uyMJFQr2aWjdTY0gmXw0YZueHOSLgo7uX4XKxB8fEO/yto/Tff2YBAAq+AtNwt+Gh5YS9rZw7rwUTWMi84yVOlc+zRE79E9NJkvdTwX7IJYo64VzIRNfgHsn7QNdVzuM1XIFHl+Glk6cIlI8s6BO7nEoCn3hTF104fQTAO3fEs+XXZOKXo2lk8faowEoPq5r58StrV0nyg== Content-Type: multipart/mixed; boundary="=-riZnJbAl5D/C+hXEHEiM" User-Agent: Evolution 3.50.1 MIME-Version: 1.0 X-Zoho-Virus-Status: 1 X-Zoho-AV-Stamp: zmail-av-1.1.0/200.101.90 Feedback-ID: rr08011228588d2f9e14bdb64b2e27e52f00008bc1257bff07aa9aa2381f8efec770f3852fc2a9f25463016d45:zu080112264ec969aa51c17fe35e84c7280000c1f024f990da4d6781ca49f72c4633ae5b0ce1faee4c7ee6:rf08011232c4917eb5dfefe972bdc597550000fadd526612b59ad5c1c27d8cc191eae203c09f2d8ad77f05e6d8ec7eed016b2891c16571:ZohoMail X-ZohoMailClient: External X-Spam-Status: No, score=-11.8 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --=-riZnJbAl5D/C+hXEHEiM Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi. This patch fixes a RTL bug when using some target-specific builtins in libgccjit (bug 112576). The test use a function from an unmerged patch: https://gcc.gnu.org/pipermail/jit/2023q1/001605.html Thanks for the review! --=-riZnJbAl5D/C+hXEHEiM Content-Disposition: attachment; filename="0001-libgccjit-Fix-a-RTL-bug-for-libgccjit.patch" Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="0001-libgccjit-Fix-a-RTL-bug-for-libgccjit.patch"; charset="UTF-8" RnJvbSA5MjM2OTk4ZjVhZDMxNTZlYmUzOWU5N2MwM2QxYTI4Y2U4MGRkOTVhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbmkgQm91Y2hlciA8Ym91YW50b0B6b2hvLmNvbT4KRGF0 ZTogVGh1LCA5IEp1biAyMDIyIDIwOjU3OjQxIC0wNDAwClN1YmplY3Q6IFtQQVRDSF0gbGliZ2Nj aml0IEZpeCBhIFJUTCBidWcgZm9yIGxpYmdjY2ppdAoKVGhpcyBmaXhlcyBhICd1bnJlY29nbml6 YWJsZSBpbnNuJyBlcnJvciB3aGVuIGdlbmVyYXRpbmcgc29tZSBjb2RlIHVzaW5nCnRhcmdldC1z cGVjaWZpYyBidWlsdGlucy4KCmdjYy9DaGFuZ2VMb2c6CglQUiBqaXQvMTEyNTc2CgkqIGVtaXQt cnRsLmNjIChpbml0X2VtaXRfb25jZSk6IERvIG5vdCBpbml0aWFsaXplIGNvbnN0X2ludF9ydHgK CWlmIGFscmVhZHkgaW5pdGlhbGl6ZWQuCgpnY2MvdGVzdHN1aXRlOgoJUFIgaml0LzExMjU3NgoJ KiBqaXQuZGcvYWxsLW5vbi1mYWlsaW5nLXRlc3RzLmg6IE1lbnRpb24gdGVzdC1ydGwtYnVnLXRh cmdldC1idWlsdGlucy5jLgoJKiBqaXQuZGcvdGVzdC1ydGwtYnVnLXRhcmdldC1idWlsdGlucy5j OiBOZXcgdGVzdC4KLS0tCiBnY2MvZW1pdC1ydGwuY2MgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgOSArLQogZ2NjL3Rlc3RzdWl0ZS9qaXQuZGcvYWxsLW5vbi1mYWlsaW5nLXRlc3Rz LmggIHwgIDMgKwogLi4uL2ppdC5kZy90ZXN0LXJ0bC1idWctdGFyZ2V0LWJ1aWx0aW5zLmMgICAg IHwgODcgKysrKysrKysrKysrKysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCA5NyBpbnNlcnRpb25z KCspLCAyIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvaml0 LmRnL3Rlc3QtcnRsLWJ1Zy10YXJnZXQtYnVpbHRpbnMuYwoKZGlmZiAtLWdpdCBhL2djYy9lbWl0 LXJ0bC5jYyBiL2djYy9lbWl0LXJ0bC5jYwppbmRleCA4NGI2ODMzMjI1ZS4uYTE4YWMxZGU5OGMg MTAwNjQ0Ci0tLSBhL2djYy9lbWl0LXJ0bC5jYworKysgYi9nY2MvZW1pdC1ydGwuY2MKQEAgLTYy MTYsOCArNjIxNiwxMyBAQCBpbml0X2VtaXRfb25jZSAodm9pZCkKICAgLyogRG9uJ3QgdXNlIGdl bl9ydHhfQ09OU1RfSU5UIGhlcmUgc2luY2UgZ2VuX3J0eF9DT05TVF9JTlQgaW4gdGhpcyBjYXNl CiAgICAgIHRyaWVzIHRvIHVzZSB0aGVzZSB2YXJpYWJsZXMuICAqLwogICBmb3IgKGkgPSAtIE1B WF9TQVZFRF9DT05TVF9JTlQ7IGkgPD0gTUFYX1NBVkVEX0NPTlNUX0lOVDsgaSsrKQotICAgIGNv bnN0X2ludF9ydHhbaSArIE1BWF9TQVZFRF9DT05TVF9JTlRdID0KLSAgICAgIGdlbl9ydHhfcmF3 X0NPTlNUX0lOVCAoVk9JRG1vZGUsIChIT1NUX1dJREVfSU5UKSBpKTsKKyAgeworICAgIC8vIERv IG5vdCBpbml0aWFsaXplIHR3aWNlIHRoZSBjb25zdGFudHMgYmVjYXVzZSB0aGVyZSBhcmUgdXNl ZCBlbHNld2hlcmUKKyAgICAvLyBhbmQgbGliZ2Njaml0IGV4ZWN1dGUgdGhpcyBmdW5jdGlvbiB0 d2ljZS4KKyAgICBpZiAoY29uc3RfaW50X3J0eFtpICsgTUFYX1NBVkVEX0NPTlNUX0lOVF0gPT0g TlVMTCkKKyAgICAgIGNvbnN0X2ludF9ydHhbaSArIE1BWF9TQVZFRF9DT05TVF9JTlRdCisJPSBn ZW5fcnR4X3Jhd19DT05TVF9JTlQgKFZPSURtb2RlLCAoSE9TVF9XSURFX0lOVCkgaSk7CisgIH0K IAogICBpZiAoU1RPUkVfRkxBR19WQUxVRSA+PSAtIE1BWF9TQVZFRF9DT05TVF9JTlQKICAgICAg ICYmIFNUT1JFX0ZMQUdfVkFMVUUgPD0gTUFYX1NBVkVEX0NPTlNUX0lOVCkKZGlmZiAtLWdpdCBh L2djYy90ZXN0c3VpdGUvaml0LmRnL2FsbC1ub24tZmFpbGluZy10ZXN0cy5oIGIvZ2NjL3Rlc3Rz dWl0ZS9qaXQuZGcvYWxsLW5vbi1mYWlsaW5nLXRlc3RzLmgKaW5kZXggZTc2MjU2M2Y5YmQuLjNk YTJlMjg1YjgwIDEwMDY0NAotLS0gYS9nY2MvdGVzdHN1aXRlL2ppdC5kZy9hbGwtbm9uLWZhaWxp bmctdGVzdHMuaAorKysgYi9nY2MvdGVzdHN1aXRlL2ppdC5kZy9hbGwtbm9uLWZhaWxpbmctdGVz dHMuaApAQCAtMzIyLDYgKzMyMiw5IEBACiAvKiB0ZXN0LXNldHRpbmctYWxpZ25tZW50LmM6IFRo aXMgY2FuJ3QgYmUgaW4gdGhlIHRlc3RjYXNlcyBhcnJheSBhcyBpdAogICAgaXMgdGFyZ2V0LXNw ZWNpZmljLiAgKi8KIAorLyogdGVzdC1ydGwtYnVnLXRhcmdldC1idWlsdGlucy5jOiBUaGlzIGNh bid0IGJlIGluIHRoZSB0ZXN0Y2FzZXMgYXJyYXkgYXMgaXQKKyAgIGlzIHRhcmdldC1zcGVjaWZp Yy4gICovCisKIC8qIHRlc3Qtc3RyaW5nLWxpdGVyYWwuYyAqLwogI2RlZmluZSBjcmVhdGVfY29k ZSBjcmVhdGVfY29kZV9zdHJpbmdfbGl0ZXJhbAogI2RlZmluZSB2ZXJpZnlfY29kZSB2ZXJpZnlf Y29kZV9zdHJpbmdfbGl0ZXJhbApkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9qaXQuZGcvdGVz dC1ydGwtYnVnLXRhcmdldC1idWlsdGlucy5jIGIvZ2NjL3Rlc3RzdWl0ZS9qaXQuZGcvdGVzdC1y dGwtYnVnLXRhcmdldC1idWlsdGlucy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwLi5kNGE2ODYyNzFmOQotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvaml0 LmRnL3Rlc3QtcnRsLWJ1Zy10YXJnZXQtYnVpbHRpbnMuYwpAQCAtMCwwICsxLDg3IEBACisvKiB7 IGRnLWRvIGNvbXBpbGUgeyB0YXJnZXQgeDg2XzY0LSotKiB9IH0gKi8KKworI2luY2x1ZGUgPHN0 ZGxpYi5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisKKyNpbmNsdWRlICJsaWJnY2NqaXQuaCIKKwor I2RlZmluZSBURVNUX1BST1ZJREVTX01BSU4KKyNpbmNsdWRlICJoYXJuZXNzLmgiCisKK3ZvaWQK K2NyZWF0ZV9jb2RlIChnY2Nfaml0X2NvbnRleHQgKmN0eHQsIHZvaWQgKnVzZXJfZGF0YSkKK3sK KyAgZ2NjX2ppdF9jb250ZXh0X2FkZF9jb21tYW5kX2xpbmVfb3B0aW9uIChjdHh0LCAiLW1hdng1 MTJ2bCIpOworICBnY2Nfaml0X2Z1bmN0aW9uICpidWlsdGluID0KKyAgICBnY2Nfaml0X2NvbnRl eHRfZ2V0X3RhcmdldF9idWlsdGluX2Z1bmN0aW9uIChjdHh0LAorICAgICAgICAiX19idWlsdGlu X2lhMzJfY3Z0cGQydWRxMTI4X21hc2siKTsKKworICBnY2Nfaml0X3R5cGUgKnU4X3R5cGUgPQor ICAgIGdjY19qaXRfY29udGV4dF9nZXRfdHlwZSAoY3R4dCwgR0NDX0pJVF9UWVBFX1VJTlQ4X1Qp OworICBnY2Nfaml0X3R5cGUgKmRvdWJsZV90eXBlID0KKyAgICBnY2Nfaml0X2NvbnRleHRfZ2V0 X3R5cGUgKGN0eHQsIEdDQ19KSVRfVFlQRV9ET1VCTEUpOworICBnY2Nfaml0X3R5cGUgKnYyZGYg PSBnY2Nfaml0X3R5cGVfZ2V0X3ZlY3RvciAoZG91YmxlX3R5cGUsIDIpOworICBnY2Nfaml0X3R5 cGUgKmludF90eXBlID0KKyAgICBnY2Nfaml0X2NvbnRleHRfZ2V0X3R5cGUgKGN0eHQsIEdDQ19K SVRfVFlQRV9JTlQpOworICBnY2Nfaml0X3R5cGUgKnY0c2kgPSBnY2Nfaml0X3R5cGVfZ2V0X3Zl Y3RvciAoaW50X3R5cGUsIDQpOworCisgIGdjY19qaXRfZnVuY3Rpb24gKmZ1bmMgPQorICAgIGdj Y19qaXRfY29udGV4dF9uZXdfZnVuY3Rpb24gKGN0eHQsIE5VTEwsCisJCQkJICBHQ0NfSklUX0ZV TkNUSU9OX0VYUE9SVEVELAorCQkJCSAgdjRzaSwKKwkJCQkgICJlcHUzMiIsCisJCQkJICAwLCBO VUxMLAorCQkJCSAgMCk7CisgIGdjY19qaXRfYmxvY2sgKmJsb2NrID0gZ2NjX2ppdF9mdW5jdGlv bl9uZXdfYmxvY2sgKGZ1bmMsIE5VTEwpOworICBnY2Nfaml0X2x2YWx1ZSAqdmFyMSA9IGdjY19q aXRfZnVuY3Rpb25fbmV3X2xvY2FsIChmdW5jLCBOVUxMLCB2MmRmLCAidmFyMSIpOworICBnY2Nf aml0X2x2YWx1ZSAqdmFyMiA9IGdjY19qaXRfZnVuY3Rpb25fbmV3X2xvY2FsIChmdW5jLCBOVUxM LCB2NHNpLCAidmFyMiIpOworICBnY2Nfaml0X3J2YWx1ZSAqYXJnc1szXSA9IHsKKyAgICBnY2Nf aml0X2x2YWx1ZV9hc19ydmFsdWUgKHZhcjEpLAorICAgIGdjY19qaXRfbHZhbHVlX2FzX3J2YWx1 ZSAodmFyMiksCisgICAgZ2NjX2ppdF9jb250ZXh0X3plcm8gKGN0eHQsIHU4X3R5cGUpLAorICB9 OworICBnY2Nfaml0X3J2YWx1ZSAqY2FsbCA9IGdjY19qaXRfY29udGV4dF9uZXdfY2FsbCAoY3R4 dCwgTlVMTCwgYnVpbHRpbiwgMywgYXJncyk7CisgIGdjY19qaXRfYmxvY2tfZW5kX3dpdGhfcmV0 dXJuIChibG9jaywgTlVMTCwgY2FsbCk7Cit9CisKK3ZvaWQKK3ZlcmlmeV9jb2RlIChnY2Nfaml0 X2NvbnRleHQgKmN0eHQsIGdjY19qaXRfcmVzdWx0ICpyZXN1bHQpCit7CisgIENIRUNLX05PTl9O VUxMIChyZXN1bHQpOworfQorCitpbnQKK21haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sK KyAgLyogIFRoaXMgaXMgdGhlIHNhbWUgYXMgdGhlIG1haW4gcHJvdmlkZWQgYnkgaGFybmVzcy5o LCBidXQgaXQgZmlyc3QgY3JlYXRlIGEgZHVtbXkgY29udGV4dCBhbmQgY29tcGlsZQorICAgICAg aW4gb3JkZXIgdG8gYWRkIHRoZSB0YXJnZXQgYnVpbHRpbnMgdG8gbGliZ2Njaml0J3MgaW50ZXJu YWwgc3RhdGUuICAqLworICBnY2Nfaml0X2NvbnRleHQgKmN0eHQ7CisgIGN0eHQgPSBnY2Nfaml0 X2NvbnRleHRfYWNxdWlyZSAoKTsKKyAgaWYgKCFjdHh0KQorICAgIHsKKyAgICAgIGZhaWwgKCJn Y2Nfaml0X2NvbnRleHRfYWNxdWlyZSBmYWlsZWQiKTsKKyAgICAgIHJldHVybiAtMTsKKyAgICB9 CisgIGdjY19qaXRfcmVzdWx0ICpyZXN1bHQ7CisgIHJlc3VsdCA9IGdjY19qaXRfY29udGV4dF9j b21waWxlIChjdHh0KTsKKyAgZ2NjX2ppdF9yZXN1bHRfcmVsZWFzZSAocmVzdWx0KTsKKyAgZ2Nj X2ppdF9jb250ZXh0X3JlbGVhc2UgKGN0eHQpOworCisgIGludCBpOworCisgIGZvciAoaSA9IDE7 IGkgPD0gNTsgaSsrKQorICAgIHsKKyAgICAgIHNucHJpbnRmICh0ZXN0LCBzaXplb2YgKHRlc3Qp LAorCQkiJXMgaXRlcmF0aW9uICVkIG9mICVkIiwKKyAgICAgICAgICAgICAgICBleHRyYWN0X3By b2duYW1lIChhcmd2WzBdKSwKKyAgICAgICAgICAgICAgICBpLCA1KTsKKworICAgICAgLy9wcmlu dGYgKCJJVEVSQVRJT04gJWRcbiIsIGkpOworICAgICAgdGVzdF9qaXQgKGFyZ3ZbMF0sIE5VTEwp OworICAgICAgLy9wcmludGYgKCJcbiIpOworICAgIH0KKworICB0b3RhbHMgKCk7CisKKyAgcmV0 dXJuIDA7Cit9Ci0tIAoyLjQyLjEKCg== --=-riZnJbAl5D/C+hXEHEiM--