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 CCC40385802E; Wed, 19 May 2021 00:43:57 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org CCC40385802E ARC-Seal: i=1; a=rsa-sha256; t=1621385035; cv=none; d=zohomail.com; s=zohoarc; b=nJILYS9qBMwAK8GbTrdQ1OaP/V9bytnRRqt1648UmWe5As/qmeRSLqp+6K9yGtczuGQfTvv0Sy1EznJ780/eO747vP2xjBH2y8m+3A20EZLAYvawhfabZ3gkoAPvmsCmlUQLD07wgTJxrYGwjtwp2vKGPT9Kmdx9Wp/bdPfiklc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1621385035; h=Content-Type:Date:From:MIME-Version:Message-ID:Subject:To; bh=fd//36k+S2CiQ9/ko9QWJLDhJFxHAcbkEyxTcMnZFC0=; b=KcGtdir4UIiwKtpxazzRH9TiCoMa8n5PrhTbqd7XnjZfX1Dv9aNB2656XyuzprmllGW6Z1MyUW4ZZ16tgc/26+JsBVBeOoYUr/assmtV7apQtE5KGmkW+PHNDp2Juo1AqRMdNem8bgUIdaeAhJOd22XZObmkcI3ow0f90p3iCcI= 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 1621385031563163.50244291875197; Tue, 18 May 2021 17:43:51 -0700 (PDT) Message-ID: <750892c90ccd75ae1df099b829ce2d51fe886195.camel@zoho.com> Subject: [PATCH] libgccjit: Add support for TLS variable [PR95415] From: Antoni Boucher To: jit@gcc.gnu.org, gcc-patches@gcc.gnu.org Date: Tue, 18 May 2021 20:43:49 -0400 Content-Type: multipart/mixed; boundary="=-irO96vqGnFTJZnMGzcWI" User-Agent: Evolution 3.40.1 MIME-Version: 1.0 X-Zoho-Virus-Status: 1 X-ZohoMailClient: External X-Spam-Status: No, score=-12.3 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.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) 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: Wed, 19 May 2021 00:44:01 -0000 --=-irO96vqGnFTJZnMGzcWI Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Hello. This patch adds support for TLS variables. One thing to fix before we merge it is the libgccjit.map file which contains LIBGCCJIT_ABI_16 instead of LIBGCCJIT_ABI_17. LIBGCCJIT_ABI_16 was added in one of my other patches. Thanks for the review. --=-irO96vqGnFTJZnMGzcWI Content-Disposition: attachment; filename="0001-Add-support-for-TLS-variable-PR95415.patch" Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="0001-Add-support-for-TLS-variable-PR95415.patch"; charset="UTF-8" RnJvbSA2MDkyZTNkMzQ3OTcyZDMzMWVkOWFjNmNhZTE1MzE2OGU5OGVjZDBkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbmkgQm91Y2hlciA8Ym91YW50b0B6b2hvLmNvbT4KRGF0 ZTogVHVlLCAxMSBNYXkgMjAyMSAxOToyMzo1NCAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIEFkZCBz dXBwb3J0IGZvciBUTFMgdmFyaWFibGUgW1BSOTU0MTVdCgoyMDIxLTA1LTE4ICBBbnRvbmkgQm91 Y2hlciAgPGJvdWFudG9Aem9oby5jb20+CgogICAgZ2NjL2ppdC8KICAgICAgICAgICAgUFIgdGFy Z2V0Lzk1NDE1CiAgICAgICAgICAgICogZG9jcy90b3BpY3MvY29tcGF0aWJpbGl0eS5yc3QgKExJ QkdDQ0pJVF9BQklfMTcpOiBOZXcgQUJJCiAgICAgICAgICAgIHRhZy4KICAgICAgICAgICAgKiBk b2NzL3RvcGljcy9leHByZXNzaW9ucy5yc3Q6IEFkZCBkb2N1bWVudCBmb3IgdGhlIGZ1bmN0aW9u CiAgICAgICAgICAgIGdjY19qaXRfbHZhbHVlX3NldF90bHNfbW9kZWwuCiAgICAgICAgICAgICog aml0LXBsYXliYWNrLmg6IE5ldyBmdW5jdGlvbiAoc2V0X3Rsc19tb2RlbCkgYW5kIG1ha2UKICAg ICAgICAgICAgcnZhbHVlOjptX2lubmVyIHB1YmxpYy4KICAgICAgICAgICAgKiBqaXQtcmVjb3Jk aW5nLmM6IE5ldyBmdW5jdGlvbiAoc2V0X3Rsc19tb2RlbCksIG5ldwogICAgICAgICAgICB2YXJp YWJsZXMgKHRsc19tb2RlbHMgYW5kIHRsc19tb2RlbF9lbnVtX3N0cmluZ3MpIGFuZCBzdXBwb3J0 CiAgICAgICAgICAgIGZvciBzZXR0aW5nIHRoZSB0bHMgbW9kZWwuCiAgICAgICAgICAgICogaml0 LXJlY29yZGluZy5oOiBOZXcgZnVuY3Rpb24gKHNldF90bHNfbW9kZWwpIGFuZCBuZXcKICAgICAg ICAgICAgZmllbGQgbV90bHNfbW9kZWwuCiAgICAgICAgICAgICogbGliZ2Njaml0LmM6IE5ldyBm dW5jdGlvbiAoZ2NjX2ppdF9sdmFsdWVfc2V0X3Rsc19tb2RlbCkuCiAgICAgICAgICAgICogbGli Z2Njaml0Lmg6IE5ldyBmdW5jdGlvbiAoZ2NjX2ppdF9sdmFsdWVfc2V0X3Rsc19tb2RlbCkKICAg ICAgICAgICAgYW5kIG5ldyBlbnVtIChnY2Nfaml0X3Rsc19tb2RlbCkuCiAgICAgICAgICAgICog bGliZ2Njaml0Lm1hcCAoTElCR0NDSklUX0FCSV8xNyk6IE5ldyBBQkkgdGFnLgoKICAgIGdjYy90 ZXN0c3VpdGUvCiAgICAgICAgICAgIFBSIHRhcmdldC85NTQxNQogICAgICAgICAgICAqIGppdC5k Zy9hbGwtbm9uLWZhaWxpbmctdGVzdHMuaDogQWRkIHRlc3QtdGxzLmMuCiAgICAgICAgICAgICog aml0LmRnL3Rlc3QtdGxzLmM6IE5ldyB0ZXN0LgotLS0KIGdjYy9qaXQvZG9jcy90b3BpY3MvY29t cGF0aWJpbGl0eS5yc3QgICAgICAgIHwgIDkgKysrKysKIGdjYy9qaXQvZG9jcy90b3BpY3MvZXhw cmVzc2lvbnMucnN0ICAgICAgICAgIHwgMjggKysrKysrKysrKysrKwogZ2NjL2ppdC9qaXQtcGxh eWJhY2suaCAgICAgICAgICAgICAgICAgICAgICAgfCAgOCArKysrCiBnY2Mvaml0L2ppdC1yZWNv cmRpbmcuYyAgICAgICAgICAgICAgICAgICAgICB8IDQxICsrKysrKysrKysrKysrKysrKy0tCiBn Y2Mvaml0L2ppdC1yZWNvcmRpbmcuaCAgICAgICAgICAgICAgICAgICAgICB8ICA3ICsrKy0KIGdj Yy9qaXQvbGliZ2Njaml0LmMgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTggKysrKysrKysr CiBnY2Mvaml0L2xpYmdjY2ppdC5oICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIxICsrKysr KysrKysKIGdjYy9qaXQvbGliZ2Njaml0Lm1hcCAgICAgICAgICAgICAgICAgICAgICAgIHwgIDUg KysrCiBnY2MvdGVzdHN1aXRlL2ppdC5kZy9hbGwtbm9uLWZhaWxpbmctdGVzdHMuaCB8ICA3ICsr KysKIGdjYy90ZXN0c3VpdGUvaml0LmRnL3Rlc3QtdGxzLmMgICAgICAgICAgICAgIHwgMjkgKysr KysrKysrKysrKysKIDEwIGZpbGVzIGNoYW5nZWQsIDE2OSBpbnNlcnRpb25zKCspLCA0IGRlbGV0 aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvaml0LmRnL3Rlc3QtdGxz LmMKCmRpZmYgLS1naXQgYS9nY2Mvaml0L2RvY3MvdG9waWNzL2NvbXBhdGliaWxpdHkucnN0IGIv Z2NjL2ppdC9kb2NzL3RvcGljcy9jb21wYXRpYmlsaXR5LnJzdAppbmRleCAyMzliNmFhMWE5Mi4u ZDEwYmMxZGYwODAgMTAwNjQ0Ci0tLSBhL2djYy9qaXQvZG9jcy90b3BpY3MvY29tcGF0aWJpbGl0 eS5yc3QKKysrIGIvZ2NjL2ppdC9kb2NzL3RvcGljcy9jb21wYXRpYmlsaXR5LnJzdApAQCAtMjQz LDMgKzI0MywxMiBAQCBlbWJlZGRpbmcgYXNzZW1ibGVyIGluc3RydWN0aW9uczoKICAgKiA6ZnVu YzpgZ2NjX2ppdF9leHRlbmRlZF9hc21fYWRkX2lucHV0X29wZXJhbmRgCiAgICogOmZ1bmM6YGdj Y19qaXRfZXh0ZW5kZWRfYXNtX2FkZF9jbG9iYmVyYAogICAqIDpmdW5jOmBnY2Nfaml0X2NvbnRl eHRfYWRkX3RvcF9sZXZlbF9hc21gCisKKy4uIF9MSUJHQ0NKSVRfQUJJXzE3OgorCitgYExJQkdD Q0pJVF9BQklfMTdgYAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2BgTElCR0NDSklUX0FCSV8x N2BgIGNvdmVycyB0aGUgYWRkaXRpb24gb2YgYW4gQVBJIGVudHJ5cG9pbnQgdG8gc2V0IHRoZQor dGhyZWFkLWxvY2FsIHN0b3JhZ2UgbW9kZWwgb2YgYSB2YXJpYWJsZToKKworICAqIDpmdW5jOmBn Y2Nfaml0X2x2YWx1ZV9zZXRfdGxzX21vZGVsYApkaWZmIC0tZ2l0IGEvZ2NjL2ppdC9kb2NzL3Rv cGljcy9leHByZXNzaW9ucy5yc3QgYi9nY2Mvaml0L2RvY3MvdG9waWNzL2V4cHJlc3Npb25zLnJz dAppbmRleCAzOTYyNTllZjA3ZS4uNjhkZWZkNmEzMTEgMTAwNjQ0Ci0tLSBhL2djYy9qaXQvZG9j cy90b3BpY3MvZXhwcmVzc2lvbnMucnN0CisrKyBiL2djYy9qaXQvZG9jcy90b3BpY3MvZXhwcmVz c2lvbnMucnN0CkBAIC01MzksNiArNTM5LDM0IEBAIHdoZXJlIHRoZSBydmFsdWUgaXMgY29tcHV0 ZWQgYnkgcmVhZGluZyBmcm9tIHRoZSBzdG9yYWdlIGFyZWEuCiAKICAgIGluIEMuCiAKKy4uIGZ1 bmN0aW9uOjogdm9pZFwKKyAgICAgICAgICAgICAgZ2NjX2ppdF9sdmFsdWVfc2V0X3Rsc19tb2Rl bCAoZ2NjX2ppdF9sdmFsdWUgKmx2YWx1ZSxcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGVudW0gZ2NjX2ppdF90bHNfbW9kZWwgbW9kZWwpCisKKyAgIE1ha2Ug YSB2YXJpYWJsZSBhIHRocmVhZC1sb2NhbCB2YXJpYWJsZS4KKworICAgVGhlICJtb2RlbCIgcGFy YW1ldGVyIGRldGVybWluZXMgdGhlIHRocmVhZC1sb2NhbCBzdG9yYWdlIG1vZGVsIG9mIHRoZSAi bHZhbHVlIjoKKworICAgLi4gdHlwZTo6IGVudW0gZ2NjX2ppdF90bHNfbW9kZWwKKworICAgLi4g YzptYWNybzo6IEdDQ19KSVRfVExTX01PREVMX0dMT0JBTF9EWU5BTUlDCisKKyAgIC4uIGM6bWFj cm86OiBHQ0NfSklUX1RMU19NT0RFTF9MT0NBTF9EWU5BTUlDCisKKyAgIC4uIGM6bWFjcm86OiBH Q0NfSklUX1RMU19NT0RFTF9JTklUSUFMX0VYRUMKKworICAgLi4gYzptYWNybzo6IEdDQ19KSVRf VExTX01PREVMX0xPQ0FMX0VYRUMKKworICAgLi4gYzptYWNybzo6IEdDQ19KSVRfVExTX01PREVM X0RFRkFVTFQKKworICAgVGhpcyBpcyBhbmFsb2dvdXMgdG86CisKKyAgIC4uIGNvZGUtYmxvY2s6 OiBjCisKKyAgICAgX1RocmVhZF9sb2NhbCBpbnQgZm9vOworCisgICBpbiBDLgorCiBHbG9iYWwg dmFyaWFibGVzCiAqKioqKioqKioqKioqKioqCiAKZGlmZiAtLWdpdCBhL2djYy9qaXQvaml0LXBs YXliYWNrLmggYi9nY2Mvaml0L2ppdC1wbGF5YmFjay5oCmluZGV4IDgyNWEzZTE3MmU5Li42NTRh OWM0NzJkNCAxMDA2NDQKLS0tIGEvZ2NjL2ppdC9qaXQtcGxheWJhY2suaAorKysgYi9nY2Mvaml0 L2ppdC1wbGF5YmFjay5oCkBAIC02NTAsNiArNjUwLDggQEAgcHVibGljOgogCiBwcml2YXRlOgog ICBjb250ZXh0ICptX2N0eHQ7CisKK3Byb3RlY3RlZDoKICAgdHJlZSBtX2lubmVyOwogfTsKIApA QCAtNjcwLDYgKzY3MiwxMiBAQCBwdWJsaWM6CiAgIHJ2YWx1ZSAqCiAgIGdldF9hZGRyZXNzIChs b2NhdGlvbiAqbG9jKTsKIAorICB2b2lkCisgIHNldF90bHNfbW9kZWwgKGVudW0gdGxzX21vZGVs IHRsc19tb2RlbCkKKyAgeworICAgIHNldF9kZWNsX3Rsc19tb2RlbCAobV9pbm5lciwgdGxzX21v ZGVsKTsKKyAgfQorCiBwcml2YXRlOgogICBib29sIG1hcmtfYWRkcmVzc2FibGUgKGxvY2F0aW9u ICpsb2MpOwogfTsKZGlmZiAtLWdpdCBhL2djYy9qaXQvaml0LXJlY29yZGluZy5jIGIvZ2NjL2pp dC9qaXQtcmVjb3JkaW5nLmMKaW5kZXggMTE3ZmY3MDExNGMuLjY0ZjNhZTJkOGY5IDEwMDY0NAot LS0gYS9nY2Mvaml0L2ppdC1yZWNvcmRpbmcuYworKysgYi9nY2Mvaml0L2ppdC1yZWNvcmRpbmcu YwpAQCAtMzcxMyw2ICszNzEzLDEyIEBAIHJlY29yZGluZzo6bHZhbHVlOjpnZXRfYWRkcmVzcyAo cmVjb3JkaW5nOjpsb2NhdGlvbiAqbG9jKQogICByZXR1cm4gcmVzdWx0OwogfQogCit2b2lkCity ZWNvcmRpbmc6Omx2YWx1ZTo6c2V0X3Rsc19tb2RlbCAoZW51bSBnY2Nfaml0X3Rsc19tb2RlbCBt b2RlbCkKK3sKKyAgICBtX3Rsc19tb2RlbCA9IG1vZGVsOworfQorCiAvKiBUaGUgaW1wbGVtZW50 YXRpb24gb2YgY2xhc3MgZ2NjOjpqaXQ6OnJlY29yZGluZzo6cGFyYW0uICAqLwogCiAvKiBJbXBs ZW1lbnRhdGlvbiBvZiBwdXJlIHZpcnR1YWwgaG9vayByZWNvcmRpbmc6Om1lbWVudG86OnJlcGxh eV9pbnRvCkBAIC00NTM5LDYgKzQ1NDUsMTUgQEAgcmVjb3JkaW5nOjpibG9jazo6ZHVtcF9lZGdl c190b19kb3QgKHByZXR0eV9wcmludGVyICpwcCkKICMgIHByYWdtYSBHQ0MgZGlhZ25vc3RpYyBw b3AKICNlbmRpZgogCituYW1lc3BhY2UgcmVjb3JkaW5nIHsKK3N0YXRpYyBjb25zdCBlbnVtIHRs c19tb2RlbCB0bHNfbW9kZWxzW10gPSB7CisgIFRMU19NT0RFTF9HTE9CQUxfRFlOQU1JQywgLyog R0NDX0pJVF9UTFNfTU9ERUxfR0xPQkFMX0RZTkFNSUMgKi8KKyAgVExTX01PREVMX0xPQ0FMX0RZ TkFNSUMsIC8qIEdDQ19KSVRfVExTX01PREVMX0xPQ0FMX0RZTkFNSUMgKi8KKyAgVExTX01PREVM X0lOSVRJQUxfRVhFQywgLyogR0NDX0pJVF9UTFNfTU9ERUxfSU5JVElBTF9FWEVDICovCisgIFRM U19NT0RFTF9MT0NBTF9FWEVDLCAvKiBHQ0NfSklUX1RMU19NT0RFTF9MT0NBTF9FWEVDICovCit9 OworfSAvKiBuYW1lc3BhY2UgcmVjb3JkaW5nICovCisKIC8qIFRoZSBpbXBsZW1lbnRhdGlvbiBv ZiBjbGFzcyBnY2M6OmppdDo6cmVjb3JkaW5nOjpnbG9iYWwuICAqLwogCiAvKiBJbXBsZW1lbnRh dGlvbiBvZiBwdXJlIHZpcnR1YWwgaG9vayByZWNvcmRpbmc6Om1lbWVudG86OnJlcGxheV9pbnRv CkBAIC00NTQ3LDggKzQ1NjIsNyBAQCByZWNvcmRpbmc6OmJsb2NrOjpkdW1wX2VkZ2VzX3RvX2Rv dCAocHJldHR5X3ByaW50ZXIgKnBwKQogdm9pZAogcmVjb3JkaW5nOjpnbG9iYWw6OnJlcGxheV9p bnRvIChyZXBsYXllciAqcikKIHsKLSAgc2V0X3BsYXliYWNrX29iaiAoCi0gICAgbV9pbml0aWFs aXplcgorICAgIHBsYXliYWNrOjpsdmFsdWUgKmdsb2JhbCA9IG1faW5pdGlhbGl6ZXIKICAgICA/ IHItPm5ld19nbG9iYWxfaW5pdGlhbGl6ZWQgKHBsYXliYWNrX2xvY2F0aW9uIChyLCBtX2xvYyks CiAJCQkJIG1fa2luZCwKIAkJCQkgbV90eXBlLT5wbGF5YmFja190eXBlICgpLApAQCAtNDU2MCw3 ICs0NTc0LDEyIEBAIHJlY29yZGluZzo6Z2xvYmFsOjpyZXBsYXlfaW50byAocmVwbGF5ZXIgKnIp CiAgICAgOiByLT5uZXdfZ2xvYmFsIChwbGF5YmFja19sb2NhdGlvbiAociwgbV9sb2MpLAogCQkg ICAgIG1fa2luZCwKIAkJICAgICBtX3R5cGUtPnBsYXliYWNrX3R5cGUgKCksCi0JCSAgICAgcGxh eWJhY2tfc3RyaW5nIChtX25hbWUpKSk7CisJCSAgICAgcGxheWJhY2tfc3RyaW5nIChtX25hbWUp KTsKKyAgaWYgKG1fdGxzX21vZGVsICE9IEdDQ19KSVRfVExTX01PREVMX0RFRkFVTFQpCisgIHsK KyAgICAgIGdsb2JhbC0+c2V0X3Rsc19tb2RlbCAocmVjb3JkaW5nOjp0bHNfbW9kZWxzW21fdGxz X21vZGVsXSk7CisgIH0KKyAgc2V0X3BsYXliYWNrX29iaiAoZ2xvYmFsKTsKIH0KIAogLyogT3Zl cnJpZGUgdGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gb2YKQEAgLTQ2NTgsNiArNDY3NywxNCBA QCByZWNvcmRpbmc6Omdsb2JhbDo6d3JpdGVfaW5pdGlhbGl6ZXJfcmVwcm9kdWNlciAoY29uc3Qg Y2hhciAqaWQsIHJlcHJvZHVjZXIgJnIpCiAKIC8qIEltcGxlbWVudGF0aW9uIG9mIHJlY29yZGlu Zzo6bWVtZW50bzo6d3JpdGVfcmVwcm9kdWNlciBmb3IgZ2xvYmFscy4gKi8KIAorc3RhdGljIGNv bnN0IGNoYXIgKiBjb25zdCB0bHNfbW9kZWxfZW51bV9zdHJpbmdzW10gPSB7CisgICJHQ0NfSklU X1RMU19NT0RFTF9HTE9CQUxfRFlOQU1JQyIsCisgICJHQ0NfSklUX1RMU19NT0RFTF9MT0NBTF9E WU5BTUlDIiwKKyAgIkdDQ19KSVRfVExTX01PREVMX0lOSVRJQUxfRVhFQyIsCisgICJHQ0NfSklU X1RMU19NT0RFTF9MT0NBTF9FWEVDIiwKKyAgIkdDQ19KSVRfVExTX01PREVMX0RFRkFVTFQiLAor fTsKKwogdm9pZAogcmVjb3JkaW5nOjpnbG9iYWw6OndyaXRlX3JlcHJvZHVjZXIgKHJlcHJvZHVj ZXIgJnIpCiB7CkBAIC00Njc1LDYgKzQ3MDIsMTQgQEAgcmVjb3JkaW5nOjpnbG9iYWw6OndyaXRl X3JlcHJvZHVjZXIgKHJlcHJvZHVjZXIgJnIpCiAgICAgci5nZXRfaWRlbnRpZmllcl9hc190eXBl IChnZXRfdHlwZSAoKSksCiAgICAgbV9uYW1lLT5nZXRfZGVidWdfc3RyaW5nICgpKTsKIAorICBp ZiAobV90bHNfbW9kZWwpCisgIHsKKwlyLndyaXRlICgiICBnY2Nfaml0X2x2YWx1ZV9zZXRfdGxz X21vZGVsICglcywgLyogZ2NjX2ppdF9sdmFsdWUgKmx2YWx1ZSAqL1xuIgorCSAgICAgIiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJXMpOyAvKiBlbnVtIGdjY19qaXRfdGxzX21vZGVs IG1vZGVsICovXG4iLAorICAgIGlkLAorICAgIHRsc19tb2RlbF9lbnVtX3N0cmluZ3NbbV90bHNf bW9kZWxdKTsKKyAgfQorCiAgIGlmIChtX2luaXRpYWxpemVyKQogICAgIHN3aXRjaCAobV90eXBl LT5kZXJlZmVyZW5jZSAoKS0+Z2V0X3NpemUgKCkpCiAgICAgICB7CmRpZmYgLS1naXQgYS9nY2Mv aml0L2ppdC1yZWNvcmRpbmcuaCBiL2djYy9qaXQvaml0LXJlY29yZGluZy5oCmluZGV4IDAzZmEx MTYwY2YwLi44OTNiZjcyZGQzMSAxMDA2NDQKLS0tIGEvZ2NjL2ppdC9qaXQtcmVjb3JkaW5nLmgK KysrIGIvZ2NjL2ppdC9qaXQtcmVjb3JkaW5nLmgKQEAgLTExMDUsNyArMTEwNSw4IEBAIHB1Ymxp YzoKICAgbHZhbHVlIChjb250ZXh0ICpjdHh0LAogCSAgbG9jYXRpb24gKmxvYywKIAkgIHR5cGUg KnR5cGVfKQotICAgIDogcnZhbHVlIChjdHh0LCBsb2MsIHR5cGVfKQorICAgIDogcnZhbHVlIChj dHh0LCBsb2MsIHR5cGVfKSwKKyAgICBtX3Rsc19tb2RlbCAoR0NDX0pJVF9UTFNfTU9ERUxfREVG QVVMVCkKICAgICB7fQogCiAgIHBsYXliYWNrOjpsdmFsdWUgKgpAQCAtMTEyNyw2ICsxMTI4LDEw IEBAIHB1YmxpYzoKICAgY29uc3QgY2hhciAqYWNjZXNzX2FzX3J2YWx1ZSAocmVwcm9kdWNlciAm cikgT1ZFUlJJREU7CiAgIHZpcnR1YWwgY29uc3QgY2hhciAqYWNjZXNzX2FzX2x2YWx1ZSAocmVw cm9kdWNlciAmcik7CiAgIHZpcnR1YWwgYm9vbCBpc19nbG9iYWwgKCkgY29uc3QgeyByZXR1cm4g ZmFsc2U7IH0KKyAgdm9pZCBzZXRfdGxzX21vZGVsIChlbnVtIGdjY19qaXRfdGxzX21vZGVsIG1v ZGVsKTsKKworcHJvdGVjdGVkOgorICBlbnVtIGdjY19qaXRfdGxzX21vZGVsIG1fdGxzX21vZGVs OwogfTsKIAogY2xhc3MgcGFyYW0gOiBwdWJsaWMgbHZhbHVlCmRpZmYgLS1naXQgYS9nY2Mvaml0 L2xpYmdjY2ppdC5jIGIvZ2NjL2ppdC9saWJnY2NqaXQuYwppbmRleCAwY2M2NTBmOTgxMC4uNzY4 Yjk5NDk5Y2YgMTAwNjQ0Ci0tLSBhL2djYy9qaXQvbGliZ2Njaml0LmMKKysrIGIvZ2NjL2ppdC9s aWJnY2NqaXQuYwpAQCAtMTk1Myw2ICsxOTUzLDI0IEBAIGdjY19qaXRfbHZhbHVlX2dldF9hZGRy ZXNzIChnY2Nfaml0X2x2YWx1ZSAqbHZhbHVlLAogICByZXR1cm4gKGdjY19qaXRfcnZhbHVlICop bHZhbHVlLT5nZXRfYWRkcmVzcyAobG9jKTsKIH0KIAorLyogUHVibGljIGVudHJ5cG9pbnQuICBT ZWUgZGVzY3JpcHRpb24gaW4gbGliZ2Njaml0LmguCisKKyAgIEFmdGVyIGVycm9yLWNoZWNraW5n LCB0aGUgcmVhbCB3b3JrIGlzIGRvbmUgYnkgdGhlCisgICBnY2M6OmppdDo6cmVjb3JkaW5nOjps dmFsdWU6OnNldF90bHNfbW9kZWwgbWV0aG9kIGluIGppdC1yZWNvcmRpbmcuYy4gICovCisKK3Zv aWQKK2djY19qaXRfbHZhbHVlX3NldF90bHNfbW9kZWwgKGdjY19qaXRfbHZhbHVlICpsdmFsdWUs CisJCQkgICAgZW51bSBnY2Nfaml0X3Rsc19tb2RlbCBtb2RlbCkKK3sKKyAgUkVUVVJOX0lGX0ZB SUwgKGx2YWx1ZSwgTlVMTCwgTlVMTCwgIk5VTEwgbHZhbHVlIik7CisgIEpJVF9MT0dfRlVOQyAo bHZhbHVlLT5nZXRfY29udGV4dCAoKS0+Z2V0X2xvZ2dlciAoKSk7CisgIFJFVFVSTl9JRl9GQUlM X1BSSU5URjEgKGx2YWx1ZS0+aXNfZ2xvYmFsICgpLCBOVUxMLCBOVUxMLAorCQkJICAgICAgICJs dmFsdWUgXCIlc1wiIG5vdCBhIGdsb2JhbCIsCisJCQkgICAgICAgbHZhbHVlLT5nZXRfZGVidWdf c3RyaW5nICgpKTsKKworICBsdmFsdWUtPnNldF90bHNfbW9kZWwgKG1vZGVsKTsKK30KKwogLyog UHVibGljIGVudHJ5cG9pbnQuICBTZWUgZGVzY3JpcHRpb24gaW4gbGliZ2Njaml0LmguCiAKICAg IEFmdGVyIGVycm9yLWNoZWNraW5nLCB0aGUgcmVhbCB3b3JrIGlzIGRvbmUgYnkgdGhlCmRpZmYg LS1naXQgYS9nY2Mvaml0L2xpYmdjY2ppdC5oIGIvZ2NjL2ppdC9saWJnY2NqaXQuaAppbmRleCA1 YzcyMmMyYzU3Zi4uMmE1MmIzNTFhNDkgMTAwNjQ0Ci0tLSBhL2djYy9qaXQvbGliZ2Njaml0LmgK KysrIGIvZ2NjL2ppdC9saWJnY2NqaXQuaApAQCAtNzIyLDYgKzcyMiwxNiBAQCBlbnVtIGdjY19q aXRfZnVuY3Rpb25fa2luZAogICBHQ0NfSklUX0ZVTkNUSU9OX0FMV0FZU19JTkxJTkUKIH07CiAK Ky8qIFRocmVhZCBsb2NhbCBzdG9yYWdlIG1vZGVsLiAgKi8KK2VudW0gZ2NjX2ppdF90bHNfbW9k ZWwKK3sKKyAgR0NDX0pJVF9UTFNfTU9ERUxfR0xPQkFMX0RZTkFNSUMsCisgIEdDQ19KSVRfVExT X01PREVMX0xPQ0FMX0RZTkFNSUMsCisgIEdDQ19KSVRfVExTX01PREVMX0lOSVRJQUxfRVhFQywK KyAgR0NDX0pJVF9UTFNfTU9ERUxfTE9DQUxfRVhFQywKKyAgR0NDX0pJVF9UTFNfTU9ERUxfREVG QVVMVCwKK307CisKIC8qIENyZWF0ZSBhIGZ1bmN0aW9uLiAgKi8KIGV4dGVybiBnY2Nfaml0X2Z1 bmN0aW9uICoKIGdjY19qaXRfY29udGV4dF9uZXdfZnVuY3Rpb24gKGdjY19qaXRfY29udGV4dCAq Y3R4dCwKQEAgLTEwNzIsNiArMTA4MiwxNyBAQCBleHRlcm4gZ2NjX2ppdF9ydmFsdWUgKgogZ2Nj X2ppdF9sdmFsdWVfZ2V0X2FkZHJlc3MgKGdjY19qaXRfbHZhbHVlICpsdmFsdWUsCiAJCQkgICAg Z2NjX2ppdF9sb2NhdGlvbiAqbG9jKTsKIAorI2RlZmluZSBMSUJHQ0NKSVRfSEFWRV9nY2Nfaml0 X2x2YWx1ZV9zZXRfdGxzX21vZGVsCisKKy8qIFNldCB0aGUgdGhyZWFkLWxvY2FsIHN0b3JhZ2Ug bW9kZWwgb2YgYSBnbG9iYWwgdmFyaWFibGUKKworICAgVGhpcyBBUEkgZW50cnlwb2ludCB3YXMg YWRkZWQgaW4gTElCR0NDSklUX0FCSV8xNzsgeW91IGNhbiB0ZXN0IGZvciBpdHMKKyAgIHByZXNl bmNlIHVzaW5nCisgICAgICNpZmRlZiBMSUJHQ0NKSVRfSEFWRV9nY2Nfaml0X2x2YWx1ZV9zZXRf dGxzX21vZGVsICAqLworZXh0ZXJuIHZvaWQKK2djY19qaXRfbHZhbHVlX3NldF90bHNfbW9kZWwg KGdjY19qaXRfbHZhbHVlICpsdmFsdWUsCisJCQkgICAgZW51bSBnY2Nfaml0X3Rsc19tb2RlbCBt b2RlbCk7CisKIGV4dGVybiBnY2Nfaml0X2x2YWx1ZSAqCiBnY2Nfaml0X2Z1bmN0aW9uX25ld19s b2NhbCAoZ2NjX2ppdF9mdW5jdGlvbiAqZnVuYywKIAkJCSAgICBnY2Nfaml0X2xvY2F0aW9uICps b2MsCmRpZmYgLS1naXQgYS9nY2Mvaml0L2xpYmdjY2ppdC5tYXAgYi9nY2Mvaml0L2xpYmdjY2pp dC5tYXAKaW5kZXggMzM3ZWE2YzdmZTQuLjYwNWM2MjRlYzRhIDEwMDY0NAotLS0gYS9nY2Mvaml0 L2xpYmdjY2ppdC5tYXAKKysrIGIvZ2NjL2ppdC9saWJnY2NqaXQubWFwCkBAIC0yMDUsMyArMjA1 LDggQEAgTElCR0NDSklUX0FCSV8xNSB7CiAgICAgZ2NjX2ppdF9leHRlbmRlZF9hc21fYWRkX2Ns b2JiZXI7CiAgICAgZ2NjX2ppdF9jb250ZXh0X2FkZF90b3BfbGV2ZWxfYXNtOwogfSBMSUJHQ0NK SVRfQUJJXzE0OworCitMSUJHQ0NKSVRfQUJJXzE2IHsKKyAgZ2xvYmFsOgorICAgIGdjY19qaXRf bHZhbHVlX3NldF90bHNfbW9kZWw7Cit9IExJQkdDQ0pJVF9BQklfMTU7CmRpZmYgLS1naXQgYS9n Y2MvdGVzdHN1aXRlL2ppdC5kZy9hbGwtbm9uLWZhaWxpbmctdGVzdHMuaCBiL2djYy90ZXN0c3Vp dGUvaml0LmRnL2FsbC1ub24tZmFpbGluZy10ZXN0cy5oCmluZGV4IDQyMDJlYjc3OThiLi5jMmQ4 N2EzMGNjYSAxMDA2NDQKLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9qaXQuZGcvYWxsLW5vbi1mYWlsaW5n LXRlc3RzLmgKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9qaXQuZGcvYWxsLW5vbi1mYWlsaW5nLXRlc3Rz LmgKQEAgLTE4MSw2ICsxODEsMTMgQEAKICN1bmRlZiBjcmVhdGVfY29kZQogI3VuZGVmIHZlcmlm eV9jb2RlCiAKKy8qIHRlc3QtdGxzLmMgKi8KKyNkZWZpbmUgY3JlYXRlX2NvZGUgY3JlYXRlX2Nv ZGVfdGxzCisjZGVmaW5lIHZlcmlmeV9jb2RlIHZlcmlmeV9jb2RlX3RscworI2luY2x1ZGUgInRl c3QtdGxzLmMiCisjdW5kZWYgY3JlYXRlX2NvZGUKKyN1bmRlZiB2ZXJpZnlfY29kZQorCiAvKiB0 ZXN0LWhlbGxvLXdvcmxkLmMgKi8KICNkZWZpbmUgY3JlYXRlX2NvZGUgY3JlYXRlX2NvZGVfaGVs bG9fd29ybGQKICNkZWZpbmUgdmVyaWZ5X2NvZGUgdmVyaWZ5X2NvZGVfaGVsbG9fd29ybGQKZGlm ZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvaml0LmRnL3Rlc3QtdGxzLmMgYi9nY2MvdGVzdHN1aXRl L2ppdC5kZy90ZXN0LXRscy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw Li5kNDUwOGIxNmMxZQotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvaml0LmRnL3Rl c3QtdGxzLmMKQEAgLTAsMCArMSwyOSBAQAorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUg PHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8dGltZS5oPgorCisjaW5j bHVkZSAibGliZ2Njaml0LmgiCisKKyNpbmNsdWRlICJoYXJuZXNzLmgiCisKK3ZvaWQKK2NyZWF0 ZV9jb2RlIChnY2Nfaml0X2NvbnRleHQgKmN0eHQsIHZvaWQgKnVzZXJfZGF0YSkKK3sKKyAgLyog TGV0J3MgdHJ5IHRvIGluamVjdCB0aGUgZXF1aXZhbGVudCBvZjoKKworICAgICBfVGhyZWFkX2xv Y2FsIGludCBmb287CisgICovCisgIGdjY19qaXRfdHlwZSAqaW50X3R5cGUgPQorICAgIGdjY19q aXRfY29udGV4dF9nZXRfdHlwZSAoY3R4dCwgR0NDX0pJVF9UWVBFX0lOVCk7CisKKyAgZ2NjX2pp dF9sdmFsdWUgKmZvbyA9CisgICAgZ2NjX2ppdF9jb250ZXh0X25ld19nbG9iYWwgKAorICAgICAg Y3R4dCwgTlVMTCwgR0NDX0pJVF9HTE9CQUxfRVhQT1JURUQsIGludF90eXBlLCAiZm9vIik7Cisg IGdjY19qaXRfbHZhbHVlX3NldF90bHNfbW9kZWwgKGZvbywgR0NDX0pJVF9UTFNfTU9ERUxfR0xP QkFMX0RZTkFNSUMpOworfQorCit2b2lkCit2ZXJpZnlfY29kZSAoZ2NjX2ppdF9jb250ZXh0ICpj dHh0LCBnY2Nfaml0X3Jlc3VsdCAqcmVzdWx0KQoreworfQotLSAKMi4zMS4xCgo= --=-irO96vqGnFTJZnMGzcWI--