From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from sender4-pp-o90.zoho.com (sender4-pp-o90.zoho.com [136.143.188.90]) by sourceware.org (Postfix) with ESMTPS id 63BC93858D3C; Tue, 18 Jan 2022 00:46:19 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 63BC93858D3C ARC-Seal: i=1; a=rsa-sha256; t=1642466776; cv=none; d=zohomail.com; s=zohoarc; b=J2TYO3EC+j05d0RNEOe5NOm329/nSzrCCTYQPdlgAofKZnRXigmcCySXt3vQ9SLYvXMTYR5d7PQx46+2clsZ0Hu+rCcXUxupgrVZimBsDEGEqi9sgYFRe/RQSNmU9rcEqgsRVulIA3eubADwKFsRBKjXuMzQ1VpRbO17IbJ4jN0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1642466776; h=Content-Type:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; bh=lKl5PCXVc3WLKWFOpdph+5ZKEzE/xNu749eoaPhq75Q=; b=ms2dzQjFNXDIu7Qytky5/S0KAtFoLd/DuBBHdl/bGJ3KLOrk57Jesy7Go20wtV+a/vz51RflETV4u2YrN+fKLZLa8j0hyjshXXZBpPOGMh1u6vwlvS2FgqoEHGkVIcehLGQNOlX7b1K4oSnop+vTVzVOJCbsuUrSqb6NzAIcsEI= 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= Received: from [192.168.1.174] (38.87.11.6 [38.87.11.6]) by mx.zohomail.com with SMTPS id 164246677292438.916971529906164; Mon, 17 Jan 2022 16:46:12 -0800 (PST) Message-ID: <5a254fe52188d76ae6e292288b05f9c99994ff23.camel@zoho.com> Subject: Re: [PATCH] libgccjit: Add support for register variables [PR104072] From: Antoni Boucher To: gcc-patches@gcc.gnu.org, jit@gcc.gnu.org Date: Mon, 17 Jan 2022 19:46:11 -0500 In-Reply-To: References: Content-Type: multipart/mixed; boundary="=-k9/fq1FVAnHwNOx1q11Y" User-Agent: Evolution 3.42.3 MIME-Version: 1.0 X-Zoho-Virus-Status: 1 X-ZohoMailClient: External X-Spam-Status: No, score=-11.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: jit@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Jit mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Jan 2022 00:46:21 -0000 --=-k9/fq1FVAnHwNOx1q11Y Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable I missed the comment about the new define, so here's the updated patch. Le lundi 17 janvier 2022 =C3=A0 19:24 -0500, Antoni Boucher via Jit a =C3=A9crit=C2=A0: > Hi. > This patch add supports for register variables in libgccjit. >=20 > It passes the JIT tests, but since I added a function in reginfo.c, I > wonder if I should run the whole testsuite. >=20 > Thanks for the review. --=-k9/fq1FVAnHwNOx1q11Y Content-Disposition: attachment; filename*0=0001-libgccjit-Add-support-for-register-variables-PR10407.pat; filename*1=ch Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="0001-libgccjit-Add-support-for-register-variables-PR10407.patch"; charset="UTF-8" RnJvbSAyZDM3MmE3NDFlOWVmMjllYjM3N2Y5ZWRmYzZjNTM5ZDFiMjcyMmU1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbmkgQm91Y2hlciA8Ym91YW50b0B6b2hvLmNvbT4KRGF0 ZTogU3VuLCAyOSBBdWcgMjAyMSAxMDo1NDo1NSAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIGxpYmdj Y2ppdDogQWRkIHN1cHBvcnQgZm9yIHJlZ2lzdGVyIHZhcmlhYmxlcyBbUFIxMDQwNzJdCgoyMDIy LTAxLTE3ICBBbnRvbmkgQm91Y2hlciA8Ym91YW50b0B6b2hvLmNvbT4KCmdjYy9qaXQvCglQUiB0 YXJnZXQvMTA0MDcyCgkqIGRvY3MvdG9waWNzL2NvbXBhdGliaWxpdHkucnN0IChMSUJHQ0NKSVRf QUJJXzIxKTogTmV3IEFCSSB0YWcuCgkqIGRvY3MvdG9waWNzL2V4cHJlc3Npb25zLnJzdDogQWRk IGRvY3VtZW50YXRpb24gZm9yIHRoZQoJZnVuY3Rpb24gZ2NjX2ppdF9sdmFsdWVfc2V0X3JlZ2lz dGVyX25hbWUuCgkqIGR1bW15LWZyb250ZW5kLmM6IENsZWFyIHRoZSBnbG9iYWxfcmVncyBjYWNo ZSB0byBhdm9pZCBhbgoJaXNzdWUgd2hlcmUgY29tcGlsaW5nIG11bHRpcGxlIHRpbWVzIHRoZSBz YW1lIGNvZGUgZ2l2ZXMgYW4KCWVycm9yIGFib3V0IGFzc2lnbmluZyB0aGUgc2FtZSByZWdpc3Rl ciB0byAyIGdsb2JhbCB2YXJpYWJsZXMuCgkqIGppdC1wbGF5YmFjay5oOiBOZXcgZnVuY3Rpb24g KHNldF9yZWdpc3Rlcl9uYW1lKS4KCSogaml0LXJlY29yZGluZy5jOiBOZXcgZnVuY3Rpb24gKHNl dF9yZWdpc3Rlcl9uYW1lKSBhbmQgYWRkCglzdXBwb3J0IGZvciByZWdpc3RlciB2YXJpYWJsZXMu CgkqIGppdC1yZWNvcmRpbmcuaDogTmV3IGZpZWxkIChtX3JlZ19uYW1lKSBhbmQgbmV3IGZ1bmN0 aW9uCgkoc2V0X3JlZ2lzdGVyX25hbWUpLgoJKiBsaWJnY2NqaXQuYzogTmV3IGZ1bmN0aW9uIChn Y2Nfaml0X2x2YWx1ZV9zZXRfcmVnaXN0ZXJfbmFtZSkuCgkqIGxpYmdjY2ppdC5oOiBOZXcgZnVu Y3Rpb24gKGdjY19qaXRfbHZhbHVlX3NldF9yZWdpc3Rlcl9uYW1lKS4KCSogbGliZ2Njaml0Lm1h cCAoTElCR0NDSklUX0FCSV8yMSk6IE5ldyBBQkkgdGFnLgoKZ2NjLwoJKiByZWdpbmZvLmM6IE5l dyBmdW5jdGlvbiAoY2xlYXJfZ2xvYmFsX3JlZ3NfY2FjaGUpLgoJKiBzeXN0ZW0uaDogTmV3IGZ1 bmN0aW9uIChjbGVhcl9nbG9iYWxfcmVnc19jYWNoZSkuCgpnY2MvdGVzdHN1aXRlLwoJKiBqaXQu ZGcvYWxsLW5vbi1mYWlsaW5nLXRlc3RzLmg6IEFkZCBuZXcKCXRlc3QtcmVnaXN0ZXItdmFyaWFi bGUuCgkqIGppdC5kZy90ZXN0LXJlZ2lzdGVyLXZhcmlhYmxlLmM6IE5ldyB0ZXN0LgotLS0KIGdj Yy9qaXQvZG9jcy90b3BpY3MvY29tcGF0aWJpbGl0eS5yc3QgICAgICAgICB8ICA5ICsrKysKIGdj Yy9qaXQvZG9jcy90b3BpY3MvZXhwcmVzc2lvbnMucnN0ICAgICAgICAgICB8IDIwICsrKysrKysK IGdjYy9qaXQvZHVtbXktZnJvbnRlbmQuYyAgICAgICAgICAgICAgICAgICAgICB8ICAyICsKIGdj Yy9qaXQvaml0LXBsYXliYWNrLmggICAgICAgICAgICAgICAgICAgICAgICB8ICA5ICsrKysKIGdj Yy9qaXQvaml0LXJlY29yZGluZy5jICAgICAgICAgICAgICAgICAgICAgICB8IDE4ICsrKysrLS0K IGdjYy9qaXQvaml0LXJlY29yZGluZy5oICAgICAgICAgICAgICAgICAgICAgICB8ICA5ICsrLS0K IGdjYy9qaXQvbGliZ2Njaml0LmMgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEyICsrKysr CiBnY2Mvaml0L2xpYmdjY2ppdC5oICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMiArKysr KwogZ2NjL2ppdC9saWJnY2NqaXQubWFwICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDkgKysr KwogZ2NjL3JlZ2luZm8uYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDggKysr CiBnY2Mvc3lzdGVtLmggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArCiBn Y2MvdGVzdHN1aXRlL2ppdC5kZy9hbGwtbm9uLWZhaWxpbmctdGVzdHMuaCAgfCAgMyArKwogZ2Nj L3Rlc3RzdWl0ZS9qaXQuZGcvdGVzdC1yZWdpc3Rlci12YXJpYWJsZS5jIHwgNTQgKysrKysrKysr KysrKysrKysrKwogMTMgZmlsZXMgY2hhbmdlZCwgMTYxIGluc2VydGlvbnMoKyksIDYgZGVsZXRp b25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9qaXQuZGcvdGVzdC1yZWdp c3Rlci12YXJpYWJsZS5jCgpkaWZmIC0tZ2l0IGEvZ2NjL2ppdC9kb2NzL3RvcGljcy9jb21wYXRp YmlsaXR5LnJzdCBiL2djYy9qaXQvZG9jcy90b3BpY3MvY29tcGF0aWJpbGl0eS5yc3QKaW5kZXgg MTZjZWJlMzFhMTAuLmNkMGFlNDgzOGEyIDEwMDY0NAotLS0gYS9nY2Mvaml0L2RvY3MvdG9waWNz L2NvbXBhdGliaWxpdHkucnN0CisrKyBiL2djYy9qaXQvZG9jcy90b3BpY3MvY29tcGF0aWJpbGl0 eS5yc3QKQEAgLTMwMiwzICszMDIsMTIgQEAgdGhyZWFkLWxvY2FsIHN0b3JhZ2UgbW9kZWwgb2Yg YSB2YXJpYWJsZToKIHNlY3Rpb24gb2YgYSB2YXJpYWJsZToKIAogICAqIDpmdW5jOmBnY2Nfaml0 X2x2YWx1ZV9zZXRfbGlua19zZWN0aW9uYAorCisuLiBfTElCR0NDSklUX0FCSV8yMToKKworYGBM SUJHQ0NKSVRfQUJJXzIxYGAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitgYExJQkdDQ0pJVF9B QklfMjFgYCBjb3ZlcnMgdGhlIGFkZGl0aW9uIG9mIGFuIEFQSSBlbnRyeXBvaW50IHRvIHNldCB0 aGUKK3JlZ2lzdGVyIG5hbWUgb2YgYSB2YXJpYWJsZToKKworICAqIDpmdW5jOmBnY2Nfaml0X2x2 YWx1ZV9zZXRfcmVnaXN0ZXJfbmFtZWAKZGlmZiAtLWdpdCBhL2djYy9qaXQvZG9jcy90b3BpY3Mv ZXhwcmVzc2lvbnMucnN0IGIvZ2NjL2ppdC9kb2NzL3RvcGljcy9leHByZXNzaW9ucy5yc3QKaW5k ZXggNzkxYTIwMzk4Y2EuLmFmZTMzM2E1MjBmIDEwMDY0NAotLS0gYS9nY2Mvaml0L2RvY3MvdG9w aWNzL2V4cHJlc3Npb25zLnJzdAorKysgYi9nY2Mvaml0L2RvY3MvdG9waWNzL2V4cHJlc3Npb25z LnJzdApAQCAtNzM4LDYgKzczOCwyNiBAQCB3aGVyZSB0aGUgcnZhbHVlIGlzIGNvbXB1dGVkIGJ5 IHJlYWRpbmcgZnJvbSB0aGUgc3RvcmFnZSBhcmVhLgogCiAgICAgICAjaWZkZWYgTElCR0NDSklU X0hBVkVfZ2NjX2ppdF9sdmFsdWVfc2V0X2xpbmtfc2VjdGlvbgogCisuLiBmdW5jdGlvbjo6IHZv aWQKKyAgICAgICAgICAgICAgZ2NjX2ppdF9sdmFsdWVfc2V0X3JlZ2lzdGVyX25hbWUgKGdjY19q aXRfbHZhbHVlICpsdmFsdWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjb25zdCBjaGFyICpyZWdfbmFtZSk7CisKKyAgIFNldCB0aGUgcmVnaXN0ZXIg bmFtZSBvZiBhIHZhcmlhYmxlLgorICAgVGhlIHBhcmFtZXRlciBgYHJlZ19uYW1lYGAgbXVzdCBi ZSBub24tTlVMTC4gQW5hbG9nb3VzIHRvOgorCisgICAuLiBjb2RlLWJsb2NrOjogYworCisgICAg IHJlZ2lzdGVyIGludCB2YXJpYWJsZSBhc20gKCJyMTIiKTsKKworICAgaW4gQy4KKworICAgVGhp cyBlbnRyeXBvaW50IHdhcyBhZGRlZCBpbiA6cmVmOmBMSUJHQ0NKSVRfQUJJXzIxYDsgeW91IGNh biB0ZXN0IGZvcgorICAgaXRzIHByZXNlbmNlIHVzaW5nCisKKyAgIC4uIGNvZGUtYmxvY2s6OiBj CisKKyAgICAgICNpZmRlZiBMSUJHQ0NKSVRfSEFWRV9nY2Nfaml0X2x2YWx1ZV9zZXRfcmVnaXN0 ZXJfbmFtZQorCiBHbG9iYWwgdmFyaWFibGVzCiAqKioqKioqKioqKioqKioqCiAKZGlmZiAtLWdp dCBhL2djYy9qaXQvZHVtbXktZnJvbnRlbmQuYyBiL2djYy9qaXQvZHVtbXktZnJvbnRlbmQuYwpp bmRleCA4NGZmMzU5YmZlMy4uMDRkOGZjNmFiNDggMTAwNjQ0Ci0tLSBhL2djYy9qaXQvZHVtbXkt ZnJvbnRlbmQuYworKysgYi9nY2Mvaml0L2R1bW15LWZyb250ZW5kLmMKQEAgLTU5OSw2ICs1OTks OCBAQCBqaXRfbGFuZ2hvb2tfaW5pdCAodm9pZCkKIAogICBidWlsZF9jb21tb25fYnVpbHRpbl9u b2RlcyAoKTsKIAorICBjbGVhcl9nbG9iYWxfcmVnc19jYWNoZSAoKTsKKwogICAvKiBUaGUgZGVm YXVsdCBwcmVjaXNpb24gZm9yIGZsb2F0aW5nIHBvaW50IG51bWJlcnMuICBUaGlzIGlzIHVzZWQK ICAgICAgZm9yIGZsb2F0aW5nIHBvaW50IGNvbnN0YW50cyB3aXRoIGFic3RyYWN0IHR5cGUuICBU aGlzIG1heQogICAgICBldmVudHVhbGx5IGJlIGNvbnRyb2xsYWJsZSBieSBhIGNvbW1hbmQgbGlu ZSBvcHRpb24uICAqLwpkaWZmIC0tZ2l0IGEvZ2NjL2ppdC9qaXQtcGxheWJhY2suaCBiL2djYy9q aXQvaml0LXBsYXliYWNrLmgKaW5kZXggYzkzZDcwNTVkNDMuLmFmNDQyN2M0NTAzIDEwMDY0NAot LS0gYS9nY2Mvaml0L2ppdC1wbGF5YmFjay5oCisrKyBiL2djYy9qaXQvaml0LXBsYXliYWNrLmgK QEAgLTI0LDYgKzI0LDcgQEAgYWxvbmcgd2l0aCBHQ0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4g IElmIG5vdCBzZWUKICNpbmNsdWRlIDx1dGlsaXR5PiAvLyBmb3Igc3RkOjpwYWlyCiAKICNpbmNs dWRlICJ0aW1ldmFyLmgiCisjaW5jbHVkZSAidmFyYXNtLmgiCiAKICNpbmNsdWRlICJqaXQtcmVj b3JkaW5nLmgiCiAKQEAgLTcwMSw2ICs3MDIsMTQgQEAgcHVibGljOgogICAgIHNldF9kZWNsX3Nl Y3Rpb25fbmFtZSAoYXNfdHJlZSAoKSwgbmFtZSk7CiAgIH0KIAorICB2b2lkCisgIHNldF9yZWdp c3Rlcl9uYW1lIChjb25zdCBjaGFyKiByZWdfbmFtZSkKKyAgeworICAgIHNldF91c2VyX2Fzc2Vt Ymxlcl9uYW1lIChhc190cmVlICgpLCByZWdfbmFtZSk7CisgICAgREVDTF9SRUdJU1RFUiAoYXNf dHJlZSAoKSkgPSAxOworICAgIERFQ0xfSEFSRF9SRUdJU1RFUiAoYXNfdHJlZSAoKSkgPSAxOwor ICB9CisKIHByaXZhdGU6CiAgIGJvb2wgbWFya19hZGRyZXNzYWJsZSAobG9jYXRpb24gKmxvYyk7 CiB9OwpkaWZmIC0tZ2l0IGEvZ2NjL2ppdC9qaXQtcmVjb3JkaW5nLmMgYi9nY2Mvaml0L2ppdC1y ZWNvcmRpbmcuYwppbmRleCBlZTg5MzQxMzFkMS4uMzkzZDcyMjk4YTcgMTAwNjQ0Ci0tLSBhL2dj Yy9qaXQvaml0LXJlY29yZGluZy5jCisrKyBiL2djYy9qaXQvaml0LXJlY29yZGluZy5jCkBAIC0z ODA3LDYgKzM4MDcsMTEgQEAgdm9pZCByZWNvcmRpbmc6Omx2YWx1ZTo6c2V0X2xpbmtfc2VjdGlv biAoY29uc3QgY2hhciAqbmFtZSkKICAgbV9saW5rX3NlY3Rpb24gPSBuZXdfc3RyaW5nIChuYW1l KTsKIH0KIAordm9pZCByZWNvcmRpbmc6Omx2YWx1ZTo6c2V0X3JlZ2lzdGVyX25hbWUgKGNvbnN0 IGNoYXIgKnJlZ19uYW1lKQoreworICBtX3JlZ19uYW1lID0gbmV3X3N0cmluZyAocmVnX25hbWUp OworfQorCiAvKiBUaGUgaW1wbGVtZW50YXRpb24gb2YgY2xhc3MgZ2NjOjpqaXQ6OnJlY29yZGlu Zzo6cGFyYW0uICAqLwogCiAvKiBJbXBsZW1lbnRhdGlvbiBvZiBwdXJlIHZpcnR1YWwgaG9vayBy ZWNvcmRpbmc6Om1lbWVudG86OnJlcGxheV9pbnRvCkBAIC00NjczLDYgKzQ2NzgsOSBAQCByZWNv cmRpbmc6Omdsb2JhbDo6cmVwbGF5X2ludG8gKHJlcGxheWVyICpyKQogICBpZiAobV9saW5rX3Nl Y3Rpb24gIT0gTlVMTCkKICAgICBnbG9iYWwtPnNldF9saW5rX3NlY3Rpb24gKG1fbGlua19zZWN0 aW9uLT5jX3N0ciAoKSk7CiAKKyAgaWYgKG1fcmVnX25hbWUgIT0gTlVMTCkKKyAgICBnbG9iYWwt PnNldF9yZWdpc3Rlcl9uYW1lIChtX3JlZ19uYW1lLT5jX3N0ciAoKSk7CisKICAgc2V0X3BsYXli YWNrX29iaiAoZ2xvYmFsKTsKIH0KIApAQCAtNjM0MywxMSArNjM1MSwxNSBAQCByZWNvcmRpbmc6 OmZ1bmN0aW9uX3BvaW50ZXI6OndyaXRlX3JlcHJvZHVjZXIgKHJlcHJvZHVjZXIgJnIpCiB2b2lk CiByZWNvcmRpbmc6OmxvY2FsOjpyZXBsYXlfaW50byAocmVwbGF5ZXIgKnIpCiB7Ci0gIHNldF9w bGF5YmFja19vYmogKAotICAgIG1fZnVuYy0+cGxheWJhY2tfZnVuY3Rpb24gKCkKKyAgcGxheWJh Y2s6Omx2YWx1ZSAqb2JqID0gbV9mdW5jLT5wbGF5YmFja19mdW5jdGlvbiAoKQogICAgICAgLT5u ZXdfbG9jYWwgKHBsYXliYWNrX2xvY2F0aW9uIChyLCBtX2xvYyksCiAJCSAgIG1fdHlwZS0+cGxh eWJhY2tfdHlwZSAoKSwKLQkJICAgcGxheWJhY2tfc3RyaW5nIChtX25hbWUpKSk7CisJCSAgIHBs YXliYWNrX3N0cmluZyAobV9uYW1lKSk7CisKKyAgaWYgKG1fcmVnX25hbWUgIT0gTlVMTCkKKyAg ICBvYmotPnNldF9yZWdpc3Rlcl9uYW1lIChtX3JlZ19uYW1lLT5jX3N0ciAoKSk7CisKKyAgc2V0 X3BsYXliYWNrX29iaiAob2JqKTsKIH0KIAogLyogT3ZlcnJpZGUgdGhlIGRlZmF1bHQgaW1wbGVt ZW50YXRpb24gb2YKZGlmZiAtLWdpdCBhL2djYy9qaXQvaml0LXJlY29yZGluZy5oIGIvZ2NjL2pp dC9qaXQtcmVjb3JkaW5nLmgKaW5kZXggYjY2M2QwZjIxZjUuLmQ4NTc1NDg3ZGU0IDEwMDY0NAot LS0gYS9nY2Mvaml0L2ppdC1yZWNvcmRpbmcuaAorKysgYi9nY2Mvaml0L2ppdC1yZWNvcmRpbmcu aApAQCAtMTE0Nyw4ICsxMTQ3LDkgQEAgcHVibGljOgogCSAgbG9jYXRpb24gKmxvYywKIAkgIHR5 cGUgKnR5cGVfKQogICAgIDogcnZhbHVlIChjdHh0LCBsb2MsIHR5cGVfKSwKLSAgICBtX3Rsc19t b2RlbCAoR0NDX0pJVF9UTFNfTU9ERUxfTk9ORSksCi0gICAgbV9saW5rX3NlY3Rpb24gKE5VTEwp CisgICAgbV9saW5rX3NlY3Rpb24gKE5VTEwpLAorICAgIG1fcmVnX25hbWUgKE5VTEwpLAorICAg IG1fdGxzX21vZGVsIChHQ0NfSklUX1RMU19NT0RFTF9OT05FKQogICAgIHt9CiAKICAgcGxheWJh Y2s6Omx2YWx1ZSAqCkBAIC0xMTcyLDEwICsxMTczLDEyIEBAIHB1YmxpYzoKICAgdmlydHVhbCBi b29sIGlzX2dsb2JhbCAoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICB2b2lkIHNldF90bHNf bW9kZWwgKGVudW0gZ2NjX2ppdF90bHNfbW9kZWwgbW9kZWwpOwogICB2b2lkIHNldF9saW5rX3Nl Y3Rpb24gKGNvbnN0IGNoYXIgKm5hbWUpOworICB2b2lkIHNldF9yZWdpc3Rlcl9uYW1lIChjb25z dCBjaGFyICpyZWdfbmFtZSk7CiAKIHByb3RlY3RlZDoKLSAgZW51bSBnY2Nfaml0X3Rsc19tb2Rl bCBtX3Rsc19tb2RlbDsKICAgc3RyaW5nICptX2xpbmtfc2VjdGlvbjsKKyAgc3RyaW5nICptX3Jl Z19uYW1lOworICBlbnVtIGdjY19qaXRfdGxzX21vZGVsIG1fdGxzX21vZGVsOwogfTsKIAogY2xh c3MgcGFyYW0gOiBwdWJsaWMgbHZhbHVlCmRpZmYgLS1naXQgYS9nY2Mvaml0L2xpYmdjY2ppdC5j IGIvZ2NjL2ppdC9saWJnY2NqaXQuYwppbmRleCAwMzcwNGVmMTBiOC4uMTc1N2FkNTgzZmUgMTAw NjQ0Ci0tLSBhL2djYy9qaXQvbGliZ2Njaml0LmMKKysrIGIvZ2NjL2ppdC9saWJnY2NqaXQuYwpA QCAtMjY0OSw2ICsyNjQ5LDE4IEBAIGdjY19qaXRfbHZhbHVlX3NldF9saW5rX3NlY3Rpb24gKGdj Y19qaXRfbHZhbHVlICpsdmFsdWUsCiAgIGx2YWx1ZS0+c2V0X2xpbmtfc2VjdGlvbiAoc2VjdGlv bl9uYW1lKTsKIH0KIAorLyogUHVibGljIGVudHJ5cG9pbnQuICBTZWUgZGVzY3JpcHRpb24gaW4g bGliZ2Njaml0LmguCisKKyAgIEFmdGVyIGVycm9yLWNoZWNraW5nLCB0aGUgcmVhbCB3b3JrIGlz IGRvbmUgYnkgdGhlCisgICBnY2M6OmppdDo6cmVjb3JkaW5nOjpsdmFsdWU6OnNldF9yZWdpc3Rl cl9uYW1lIG1ldGhvZCBpbiBqaXQtcmVjb3JkaW5nLmMuICAqLworCit2b2lkCitnY2Nfaml0X2x2 YWx1ZV9zZXRfcmVnaXN0ZXJfbmFtZSAoZ2NjX2ppdF9sdmFsdWUgKmx2YWx1ZSwKKwkJCQkgIGNv bnN0IGNoYXIgKnJlZ19uYW1lKQoreworICBsdmFsdWUtPnNldF9yZWdpc3Rlcl9uYW1lIChyZWdf bmFtZSk7Cit9CisKIC8qIFB1YmxpYyBlbnRyeXBvaW50LiAgU2VlIGRlc2NyaXB0aW9uIGluIGxp YmdjY2ppdC5oLgogCiAgICBBZnRlciBlcnJvci1jaGVja2luZywgdGhlIHJlYWwgd29yayBpcyBk b25lIGJ5IHRoZQpkaWZmIC0tZ2l0IGEvZ2NjL2ppdC9saWJnY2NqaXQuaCBiL2djYy9qaXQvbGli Z2Njaml0LmgKaW5kZXggMmE1ZmZhY2IxZmUuLmZlYzZkNTE2ODU1IDEwMDY0NAotLS0gYS9nY2Mv aml0L2xpYmdjY2ppdC5oCisrKyBiL2djYy9qaXQvbGliZ2Njaml0LmgKQEAgLTEyNzcsNiArMTI3 NywxOCBAQCBleHRlcm4gdm9pZAogZ2NjX2ppdF9sdmFsdWVfc2V0X2xpbmtfc2VjdGlvbiAoZ2Nj X2ppdF9sdmFsdWUgKmx2YWx1ZSwKIAkJCSAgICBjb25zdCBjaGFyICpzZWN0aW9uX25hbWUpOwog CisjZGVmaW5lIExJQkdDQ0pJVF9IQVZFX2djY19qaXRfbHZhbHVlX3NldF9yZWdpc3Rlcl9uYW1l CisKKy8qIE1ha2UgdGhpcyB2YXJpYWJsZSBhIHJlZ2lzdGVyIHZhcmlhYmxlIGFuZCBzZXQgaXRz IHJlZ2lzdGVyIG5hbWUuCisKKyAgIFRoaXMgQVBJIGVudHJ5cG9pbnQgd2FzIGFkZGVkIGluIExJ QkdDQ0pJVF9BQklfMjE7IHlvdSBjYW4gdGVzdCBmb3IgaXRzCisgICBwcmVzZW5jZSB1c2luZwor ICAgICAjaWZkZWYgTElCR0NDSklUX0hBVkVfZ2NjX2ppdF9sdmFsdWVfc2V0X3JlZ2lzdGVyX25h bWUKKyovCit2b2lkCitnY2Nfaml0X2x2YWx1ZV9zZXRfcmVnaXN0ZXJfbmFtZSAoZ2NjX2ppdF9s dmFsdWUgKmx2YWx1ZSwKKwkJCQkgIGNvbnN0IGNoYXIgKnJlZ19uYW1lKTsKKwogZXh0ZXJuIGdj Y19qaXRfbHZhbHVlICoKIGdjY19qaXRfZnVuY3Rpb25fbmV3X2xvY2FsIChnY2Nfaml0X2Z1bmN0 aW9uICpmdW5jLAogCQkJICAgIGdjY19qaXRfbG9jYXRpb24gKmxvYywKZGlmZiAtLWdpdCBhL2dj Yy9qaXQvbGliZ2Njaml0Lm1hcCBiL2djYy9qaXQvbGliZ2Njaml0Lm1hcAppbmRleCBmMzczZmQz OWFjNy4uZjQ1YWJjZjUzMDUgMTAwNjQ0Ci0tLSBhL2djYy9qaXQvbGliZ2Njaml0Lm1hcAorKysg Yi9nY2Mvaml0L2xpYmdjY2ppdC5tYXAKQEAgLTI0MywzICsyNDMsMTIgQEAgTElCR0NDSklUX0FC SV8xOSB7CiAgICAgZ2NjX2ppdF9jb250ZXh0X25ld191bmlvbl9jb25zdHJ1Y3RvcjsKICAgICBn Y2Nfaml0X2dsb2JhbF9zZXRfaW5pdGlhbGl6ZXJfcnZhbHVlOwogfSBMSUJHQ0NKSVRfQUJJXzE4 OworCitMSUJHQ0NKSVRfQUJJXzIwIHsKKyAgZ2xvYmFsOgorfSBMSUJHQ0NKSVRfQUJJXzE5Owor CitMSUJHQ0NKSVRfQUJJXzIxIHsKKyAgZ2xvYmFsOgorICAgIGdjY19qaXRfbHZhbHVlX3NldF9y ZWdpc3Rlcl9uYW1lOworfSBMSUJHQ0NKSVRfQUJJXzIwOwpkaWZmIC0tZ2l0IGEvZ2NjL3JlZ2lu Zm8uYyBiL2djYy9yZWdpbmZvLmMKaW5kZXggMjM0ZjcyZWNlZWIuLjRmZTM3NWM0NDYzIDEwMDY0 NAotLS0gYS9nY2MvcmVnaW5mby5jCisrKyBiL2djYy9yZWdpbmZvLmMKQEAgLTkxLDYgKzkxLDE0 IEBAIHN0YXRpYyBjb25zdCBjaGFyIGluaXRpYWxfY2FsbF91c2VkX3JlZ3NbXSA9IENBTExfVVNF RF9SRUdJU1RFUlM7CiAgICBhbmQgYXJlIGFsc28gY29uc2lkZXJlZCBmaXhlZC4gICovCiBjaGFy IGdsb2JhbF9yZWdzW0ZJUlNUX1BTRVVET19SRUdJU1RFUl07CiAKK3ZvaWQgY2xlYXJfZ2xvYmFs X3JlZ3NfY2FjaGUgKHZvaWQpCit7CisgIGZvciAoc2l6ZV90IGkgPSAwIDsgaSA8IEZJUlNUX1BT RVVET19SRUdJU1RFUiA7IGkrKykKKyAgeworICAgIGdsb2JhbF9yZWdzW2ldID0gMDsKKyAgfQor fQorCiAvKiBUaGUgc2V0IG9mIGdsb2JhbCByZWdpc3RlcnMuICAqLwogSEFSRF9SRUdfU0VUIGds b2JhbF9yZWdfc2V0OwogCmRpZmYgLS1naXQgYS9nY2Mvc3lzdGVtLmggYi9nY2Mvc3lzdGVtLmgK aW5kZXggYzI1Y2Q2NDM2NmYuLjk1MDk2OTM2N2IzIDEwMDY0NAotLS0gYS9nY2Mvc3lzdGVtLmgK KysrIGIvZ2NjL3N5c3RlbS5oCkBAIC0xMzE2LDQgKzEzMTYsNiBAQCBlbmRzd2l0aCAoY29uc3Qg Y2hhciAqc3RyLCBjb25zdCBjaGFyICpzdWZmaXgpCiAgIHJldHVybiBtZW1jbXAgKHN0ciArIHN0 cl9sZW4gLSBzdWZmaXhfbGVuLCBzdWZmaXgsIHN1ZmZpeF9sZW4pID09IDA7CiB9CiAKK2V4dGVy biB2b2lkIGNsZWFyX2dsb2JhbF9yZWdzX2NhY2hlICh2b2lkKTsKKwogI2VuZGlmIC8qICEgR0ND X1NZU1RFTV9IICovCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2ppdC5kZy9hbGwtbm9uLWZh aWxpbmctdGVzdHMuaCBiL2djYy90ZXN0c3VpdGUvaml0LmRnL2FsbC1ub24tZmFpbGluZy10ZXN0 cy5oCmluZGV4IDI5YWZlMDY0ZGI2Li4wNjAzYWNlMjU1YSAxMDA2NDQKLS0tIGEvZ2NjL3Rlc3Rz dWl0ZS9qaXQuZGcvYWxsLW5vbi1mYWlsaW5nLXRlc3RzLmgKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9q aXQuZGcvYWxsLW5vbi1mYWlsaW5nLXRlc3RzLmgKQEAgLTMwNiw2ICszMDYsOSBAQAogI3VuZGVm IGNyZWF0ZV9jb2RlCiAjdW5kZWYgdmVyaWZ5X2NvZGUKIAorLyogdGVzdC1yZWdpc3Rlci12YXJp YWJsZS5jOiBUaGlzIGNhbid0IGJlIGluIHRoZSB0ZXN0Y2FzZXMgYXJyYXkgYXMgaXQKKyAgIGRv ZXNuJ3QgaGF2ZSBhIHZlcmlmeV9jb2RlIGltcGxlbWVudGF0aW9uLiAgKi8KKwogLyogdGVzdC1z dHJpbmctbGl0ZXJhbC5jICovCiAjZGVmaW5lIGNyZWF0ZV9jb2RlIGNyZWF0ZV9jb2RlX3N0cmlu Z19saXRlcmFsCiAjZGVmaW5lIHZlcmlmeV9jb2RlIHZlcmlmeV9jb2RlX3N0cmluZ19saXRlcmFs CmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2ppdC5kZy90ZXN0LXJlZ2lzdGVyLXZhcmlhYmxl LmMgYi9nY2MvdGVzdHN1aXRlL2ppdC5kZy90ZXN0LXJlZ2lzdGVyLXZhcmlhYmxlLmMKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjNjZWEzZjE2NjhmCi0tLSAvZGV2L251 bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9qaXQuZGcvdGVzdC1yZWdpc3Rlci12YXJpYWJsZS5jCkBA IC0wLDAgKzEsNTQgQEAKKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgor CisjaW5jbHVkZSAibGliZ2Njaml0LmgiCisKKy8qIFdlIGRvbid0IHdhbnQgc2V0X29wdGlvbnMo KSBpbiBoYXJuZXNzLmggdG8gc2V0IC1PMyBzbyBvdXIgbGl0dGxlIGxvY2FsCisgICBpcyBvcHRp bWl6ZWQgYXdheS4gKi8KKyNkZWZpbmUgVEVTVF9FU0NIRVdTX1NFVF9PUFRJT05TCitzdGF0aWMg dm9pZCBzZXRfb3B0aW9ucyAoZ2NjX2ppdF9jb250ZXh0ICpjdHh0LCBjb25zdCBjaGFyICphcmd2 MCkKK3sKK30KKworI2RlZmluZSBURVNUX0NPTVBJTElOR19UT19GSUxFCisjZGVmaW5lIE9VVFBV VF9LSU5EICAgICAgR0NDX0pJVF9PVVRQVVRfS0lORF9BU1NFTUJMRVIKKyNkZWZpbmUgT1VUUFVU X0ZJTEVOQU1FICAib3V0cHV0LW9mLXRlc3QtbGluay1zZWN0aW9uLWFzc2VtYmxlci5jLnMiCisj aW5jbHVkZSAiaGFybmVzcy5oIgorCit2b2lkCitjcmVhdGVfY29kZSAoZ2NjX2ppdF9jb250ZXh0 ICpjdHh0LCB2b2lkICp1c2VyX2RhdGEpCit7CisgIC8qIExldCdzIHRyeSB0byBpbmplY3QgdGhl IGVxdWl2YWxlbnQgb2Y6CisgICAgIHJlZ2lzdGVyIGludCBnbG9iYWxfdmFyaWFibGUgYXNtICgi cjEzIik7CisgICAgIGludCBtYWluKCkgeworICAgICAgICByZWdpc3RlciBpbnQgdmFyaWFibGUg YXNtICgicjEyIik7CisgICAgICAgIHJldHVybiAwOworICAgICB9CisgICovCisgIGdjY19qaXRf dHlwZSAqaW50X3R5cGUgPQorICAgIGdjY19qaXRfY29udGV4dF9nZXRfdHlwZSAoY3R4dCwgR0ND X0pJVF9UWVBFX0lOVCk7CisgIGdjY19qaXRfbHZhbHVlICpnbG9iYWxfdmFyaWFibGUgPQorICAg IGdjY19qaXRfY29udGV4dF9uZXdfZ2xvYmFsICgKKyAgICAgIGN0eHQsIE5VTEwsIEdDQ19KSVRf R0xPQkFMX0VYUE9SVEVELCBpbnRfdHlwZSwgImdsb2JhbF92YXJpYWJsZSIpOworICBnY2Nfaml0 X2x2YWx1ZV9zZXRfcmVnaXN0ZXJfbmFtZShnbG9iYWxfdmFyaWFibGUsICJyMTMiKTsKKworICBn Y2Nfaml0X2Z1bmN0aW9uICpmdW5jX21haW4gPQorICAgIGdjY19qaXRfY29udGV4dF9uZXdfZnVu Y3Rpb24gKGN0eHQsIE5VTEwsCisJCQkJICBHQ0NfSklUX0ZVTkNUSU9OX0VYUE9SVEVELAorCQkJ CSAgaW50X3R5cGUsCisJCQkJICAibWFpbiIsCisJCQkJICAwLCBOVUxMLAorCQkJCSAgMCk7Cisg IGdjY19qaXRfbHZhbHVlICp2YXJpYWJsZSA9IGdjY19qaXRfZnVuY3Rpb25fbmV3X2xvY2FsKGZ1 bmNfbWFpbiwgTlVMTCwgaW50X3R5cGUsICJ2YXJpYWJsZSIpOworICBnY2Nfaml0X2x2YWx1ZV9z ZXRfcmVnaXN0ZXJfbmFtZSh2YXJpYWJsZSwgInIxMiIpOworICBnY2Nfaml0X3J2YWx1ZSAqdHdv ID0gZ2NjX2ppdF9jb250ZXh0X25ld19ydmFsdWVfZnJvbV9pbnQgKGN0eHQsIGludF90eXBlLCAy KTsKKyAgZ2NjX2ppdF9ydmFsdWUgKm9uZSA9IGdjY19qaXRfY29udGV4dF9vbmUgKGN0eHQsIGlu dF90eXBlKTsKKyAgZ2NjX2ppdF9ibG9jayAqYmxvY2sgPSBnY2Nfaml0X2Z1bmN0aW9uX25ld19i bG9jayAoZnVuY19tYWluLCBOVUxMKTsKKyAgZ2NjX2ppdF9ibG9ja19hZGRfYXNzaWdubWVudChi bG9jaywgTlVMTCwgdmFyaWFibGUsIG9uZSk7CisgIGdjY19qaXRfYmxvY2tfYWRkX2Fzc2lnbm1l bnQoYmxvY2ssIE5VTEwsIGdsb2JhbF92YXJpYWJsZSwgdHdvKTsKKyAgZ2NjX2ppdF9ibG9ja19l bmRfd2l0aF9yZXR1cm4gKGJsb2NrLCBOVUxMLCBnY2Nfaml0X2x2YWx1ZV9hc19ydmFsdWUodmFy aWFibGUpKTsKK30KKworLyogeyBkZy1maW5hbCB7IGppdC12ZXJpZnktb3V0cHV0LWZpbGUtd2Fz LWNyZWF0ZWQgIiIgfSB9ICovCisvKiB7IGRnLWZpbmFsIHsgaml0LXZlcmlmeS1hc3NlbWJsZXIt b3V0cHV0ICJtb3ZsCVxcXCQxLCAlcjEyZCIgfSB9ICovCisvKiB7IGRnLWZpbmFsIHsgaml0LXZl cmlmeS1hc3NlbWJsZXItb3V0cHV0ICJtb3ZsCVxcXCQyLCAlcjEzZCIgfSB9ICovCi0tIAoyLjI2 LjIuNy5nMTlkYjljZmI2OC5kaXJ0eQoK --=-k9/fq1FVAnHwNOx1q11Y--