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 9A5FC385BF9D; Thu, 20 May 2021 00:32:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 9A5FC385BF9D ARC-Seal: i=1; a=rsa-sha256; t=1621470728; cv=none; d=zohomail.com; s=zohoarc; b=l5txNT+jXFm+WQEcmR73dNxnEC+0iKlmPGsN8b3PySOtmHFxQX7YsI5lKoWJLn33th812HMzrE1a7Mlrpin///tKGBHXfY1rplen6SUM7wPxJKLvENAGkPBPGrm+qZ34B7hrG8YaDjMlTOImU/UC3PZUk5Rkx3lfKZkFjAM+B+k= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1621470728; h=Content-Type:Date:From:MIME-Version:Message-ID:Subject:To; bh=FPDCCo3+79ToMI7mLVEW6lsgpqM35kDwHg6bRxq6XLQ=; b=XRwuzgqqy2MdqtoiVrOj1ivEZNq6DQBC9RsZ5Ph0D6zWajArw9Fq9QzeMsENwUr2kPpRwTXKut9/tp04xtY1QS18uUkTMPuAsyqqPMZYslqPj6TlhgQJaYry6dOeSqcoTENjNM2+Eh81n1fk3iyVAUrbPhnhA2bYL3ggtq1Bids= 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 1621470726655829.8770243196245; Wed, 19 May 2021 17:32:06 -0700 (PDT) Message-ID: <7fde146d8c3aecb47f66f34c836e2733eb4d8a6d.camel@zoho.com> Subject: [PATCH] libgccjit: Add support for setting the link section of global variables [PR100688] From: Antoni Boucher To: jit@gcc.gnu.org, gcc-patches@gcc.gnu.org Date: Wed, 19 May 2021 20:32:04 -0400 Content-Type: multipart/mixed; boundary="=-gP/8sMhcJkEkcOkpa4rj" User-Agent: Evolution 3.40.1 MIME-Version: 1.0 X-Zoho-Virus-Status: 1 X-ZohoMailClient: External X-Spam-Status: No, score=-12.4 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: Thu, 20 May 2021 00:32:14 -0000 --=-gP/8sMhcJkEkcOkpa4rj Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Hello. This patch adds support to set the link section of global variables. I used the ABI 18 because I submitted other patches up to 17. Thanks for the review. --=-gP/8sMhcJkEkcOkpa4rj Content-Disposition: attachment; filename*0=0001-Add-support-for-setting-the-link-section-of-global-v.pat; filename*1=ch Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="0001-Add-support-for-setting-the-link-section-of-global-v.patch"; charset="UTF-8" RnJvbSBjODY3NzMyZWUzNjAwMzc1OWQ0Nzk0OTdjODUxMzVlY2ZjNGEwY2YzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbmkgQm91Y2hlciA8Ym91YW50b0B6b2hvLmNvbT4KRGF0 ZTogV2VkLCAxMiBNYXkgMjAyMSAwNzo1Nzo1NCAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIEFkZCBz dXBwb3J0IGZvciBzZXR0aW5nIHRoZSBsaW5rIHNlY3Rpb24gb2YgZ2xvYmFsIHZhcmlhYmxlcwog W1BSMTAwNjg4XQoKMjAyMS0wNS0xOSAgQW50b25pIEJvdWNoZXIgIDxib3VhbnRvQHpvaG8uY29t PgoKICAgIGdjYy9qaXQvCiAgICAgICAgICAgIFBSIHRhcmdldC8xMDA2ODgKICAgICAgICAgICAg KiBkb2NzL3RvcGljcy9jb21wYXRpYmlsaXR5LnJzdCAoTElCR0NDSklUX0FCSV8xOCk6IE5ldyBB QkkKICAgICAgICAgICAgdGFnLgogICAgICAgICAgICAqIGRvY3MvdG9waWNzL2V4cHJlc3Npb25z LnJzdDogQWRkIGRvY3VtZW50YXRpb24gZm9yIHRoZQogICAgICAgICAgICBmdW5jdGlvbiBnY2Nf aml0X2x2YWx1ZV9zZXRfbGlua19zZWN0aW9uLgogICAgICAgICAgICAqIGppdC1wbGF5YmFjay5o OiBOZXcgZnVuY3Rpb24gKHNldF9saW5rX3NlY3Rpb24pIGFuZAogICAgICAgICAgICBydmFsdWU6 Om1faW5uZXIgcHJvdGVjdGVkLgogICAgICAgICAgICAqIGppdC1yZWNvcmRpbmcuYzogTmV3IGZ1 bmN0aW9uIChzZXRfbGlua19zZWN0aW9uKSBhbmQKICAgICAgICAgICAgc3VwcG9ydCBmb3Igc2V0 dGluZyB0aGUgbGluayBzZWN0aW9uLgogICAgICAgICAgICAqIGppdC1yZWNvcmRpbmcuaDogTmV3 IGZ1bmN0aW9uIChzZXRfbGlua19zZWN0aW9uKSBhbmQgbmV3CiAgICAgICAgICAgIGZpZWxkIG1f bGlua19zZWN0aW9uLgogICAgICAgICAgICAqIGxpYmdjY2ppdC5jOiBOZXcgZnVuY3Rpb24gKGdj Y19qaXRfbHZhbHVlX3NldF9saW5rX3NlY3Rpb24pLgogICAgICAgICAgICAqIGxpYmdjY2ppdC5o OiBOZXcgZnVuY3Rpb24gKGdjY19qaXRfbHZhbHVlX3NldF9saW5rX3NlY3Rpb24pLgogICAgICAg ICAgICAqIGxpYmdjY2ppdC5tYXAgKExJQkdDQ0pJVF9BQklfMTgpOiBOZXcgQUJJIHRhZy4KCiAg ICBnY2MvdGVzdHN1aXRlLwogICAgICAgICAgICBQUiB0YXJnZXQvMTAwNjg4CiAgICAgICAgICAg ICogaml0LmRnL2FsbC1ub24tZmFpbGluZy10ZXN0cy5oOiBBZGQgdGVzdC1saW5rLXNlY3Rpb24u Yy4KICAgICAgICAgICAgKiBqaXQuZGcvdGVzdC1saW5rX3NlY3Rpb24uYzogTmV3IHRlc3QuCi0t LQogZ2NjL2ppdC9kb2NzL3RvcGljcy9jb21wYXRpYmlsaXR5LnJzdCAgICAgICAgfCAgOSArKysr KysrCiBnY2Mvaml0L2RvY3MvdG9waWNzL2V4cHJlc3Npb25zLnJzdCAgICAgICAgICB8IDEyICsr KysrKysrKysKIGdjYy9qaXQvaml0LXBsYXliYWNrLmggICAgICAgICAgICAgICAgICAgICAgIHwg IDggKysrKysrKwogZ2NjL2ppdC9qaXQtcmVjb3JkaW5nLmMgICAgICAgICAgICAgICAgICAgICAg fCAyMyArKysrKysrKysrKysrKystLS0KIGdjYy9qaXQvaml0LXJlY29yZGluZy5oICAgICAgICAg ICAgICAgICAgICAgIHwgIDcgKysrKystCiBnY2Mvaml0L2xpYmdjY2ppdC5jICAgICAgICAgICAg ICAgICAgICAgICAgICB8IDEyICsrKysrKysrKysKIGdjYy9qaXQvbGliZ2Njaml0LmggICAgICAg ICAgICAgICAgICAgICAgICAgIHwgMTMgKysrKysrKysrKwogZ2NjL2ppdC9saWJnY2NqaXQubWFw ICAgICAgICAgICAgICAgICAgICAgICAgfCAxMSArKysrKysrKysKIGdjYy90ZXN0c3VpdGUvaml0 LmRnL2FsbC1ub24tZmFpbGluZy10ZXN0cy5oIHwgIDcgKysrKysrCiBnY2MvdGVzdHN1aXRlL2pp dC5kZy90ZXN0LWxpbmstc2VjdGlvbi5jICAgICB8IDI1ICsrKysrKysrKysrKysrKysrKysrCiAx MCBmaWxlcyBjaGFuZ2VkLCAxMjMgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2ppdC5kZy90ZXN0LWxpbmstc2VjdGlvbi5jCgpk aWZmIC0tZ2l0IGEvZ2NjL2ppdC9kb2NzL3RvcGljcy9jb21wYXRpYmlsaXR5LnJzdCBiL2djYy9q aXQvZG9jcy90b3BpY3MvY29tcGF0aWJpbGl0eS5yc3QKaW5kZXggMjM5YjZhYTFhOTIuLjk0ZTMx MjdmMDQ5IDEwMDY0NAotLS0gYS9nY2Mvaml0L2RvY3MvdG9waWNzL2NvbXBhdGliaWxpdHkucnN0 CisrKyBiL2djYy9qaXQvZG9jcy90b3BpY3MvY29tcGF0aWJpbGl0eS5yc3QKQEAgLTI0MywzICsy NDMsMTIgQEAgZW1iZWRkaW5nIGFzc2VtYmxlciBpbnN0cnVjdGlvbnM6CiAgICogOmZ1bmM6YGdj Y19qaXRfZXh0ZW5kZWRfYXNtX2FkZF9pbnB1dF9vcGVyYW5kYAogICAqIDpmdW5jOmBnY2Nfaml0 X2V4dGVuZGVkX2FzbV9hZGRfY2xvYmJlcmAKICAgKiA6ZnVuYzpgZ2NjX2ppdF9jb250ZXh0X2Fk ZF90b3BfbGV2ZWxfYXNtYAorCisuLiBfTElCR0NDSklUX0FCSV8xODoKKworYGBMSUJHQ0NKSVRf QUJJXzE4YGAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitgYExJQkdDQ0pJVF9BQklfMThgYCBj b3ZlcnMgdGhlIGFkZGl0aW9uIG9mIGFuIEFQSSBlbnRyeXBvaW50IHRvIHNldCB0aGUgbGluawor c2VjdGlvbiBvZiBhIHZhcmlhYmxlOgorCisgICogOmZ1bmM6YGdjY19qaXRfbHZhbHVlX3NldF9s aW5rX3NlY3Rpb25gCmRpZmYgLS1naXQgYS9nY2Mvaml0L2RvY3MvdG9waWNzL2V4cHJlc3Npb25z LnJzdCBiL2djYy9qaXQvZG9jcy90b3BpY3MvZXhwcmVzc2lvbnMucnN0CmluZGV4IDM5NjI1OWVm MDdlLi5iMzlmNmMwMjUyNyAxMDA2NDQKLS0tIGEvZ2NjL2ppdC9kb2NzL3RvcGljcy9leHByZXNz aW9ucy5yc3QKKysrIGIvZ2NjL2ppdC9kb2NzL3RvcGljcy9leHByZXNzaW9ucy5yc3QKQEAgLTUz OSw2ICs1MzksMTggQEAgd2hlcmUgdGhlIHJ2YWx1ZSBpcyBjb21wdXRlZCBieSByZWFkaW5nIGZy b20gdGhlIHN0b3JhZ2UgYXJlYS4KIAogICAgaW4gQy4KIAorLi4gZnVuY3Rpb246OiB2b2lkCisg ICAgICAgICAgICAgIGdjY19qaXRfbHZhbHVlX3NldF9saW5rX3NlY3Rpb24gKGdjY19qaXRfbHZh bHVlICpsdmFsdWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNvbnN0IGNoYXIgKm5hbWUpCisKKyAgIFNldCB0aGUgbGluayBzZWN0aW9uIG9mIGEgdmFy aWFibGU7IGFuYWxvZ291cyB0bzoKKworICAgLi4gY29kZS1ibG9jazo6IGMKKworICAgICBpbnQg dmFyaWFibGUgX19hdHRyaWJ1dGVfXygoc2VjdGlvbigiLnNlY3Rpb24iKSkpOworCisgICBpbiBD LgorCiBHbG9iYWwgdmFyaWFibGVzCiAqKioqKioqKioqKioqKioqCiAKZGlmZiAtLWdpdCBhL2dj Yy9qaXQvaml0LXBsYXliYWNrLmggYi9nY2Mvaml0L2ppdC1wbGF5YmFjay5oCmluZGV4IDgyNWEz ZTE3MmU5Li44YjBmNjVlODdlOCAxMDA2NDQKLS0tIGEvZ2NjL2ppdC9qaXQtcGxheWJhY2suaAor KysgYi9nY2Mvaml0L2ppdC1wbGF5YmFjay5oCkBAIC02NTAsNiArNjUwLDggQEAgcHVibGljOgog CiBwcml2YXRlOgogICBjb250ZXh0ICptX2N0eHQ7CisKK3Byb3RlY3RlZDoKICAgdHJlZSBtX2lu bmVyOwogfTsKIApAQCAtNjcwLDYgKzY3MiwxMiBAQCBwdWJsaWM6CiAgIHJ2YWx1ZSAqCiAgIGdl dF9hZGRyZXNzIChsb2NhdGlvbiAqbG9jKTsKIAorICB2b2lkCisgIHNldF9saW5rX3NlY3Rpb24g KGNvbnN0IGNoYXIqIG5hbWUpCisgIHsKKyAgICBzZXRfZGVjbF9zZWN0aW9uX25hbWUgKG1faW5u ZXIsIG5hbWUpOworICB9CisKIHByaXZhdGU6CiAgIGJvb2wgbWFya19hZGRyZXNzYWJsZSAobG9j YXRpb24gKmxvYyk7CiB9OwpkaWZmIC0tZ2l0IGEvZ2NjL2ppdC9qaXQtcmVjb3JkaW5nLmMgYi9n Y2Mvaml0L2ppdC1yZWNvcmRpbmcuYwppbmRleCAxMTdmZjcwMTE0Yy4uMjE0ZTZmNDg3ZmUgMTAw NjQ0Ci0tLSBhL2djYy9qaXQvaml0LXJlY29yZGluZy5jCisrKyBiL2djYy9qaXQvaml0LXJlY29y ZGluZy5jCkBAIC0zNzEzLDYgKzM3MTMsMTEgQEAgcmVjb3JkaW5nOjpsdmFsdWU6OmdldF9hZGRy ZXNzIChyZWNvcmRpbmc6OmxvY2F0aW9uICpsb2MpCiAgIHJldHVybiByZXN1bHQ7CiB9CiAKK3Zv aWQgcmVjb3JkaW5nOjpsdmFsdWU6OnNldF9saW5rX3NlY3Rpb24gKGNvbnN0IGNoYXIgKm5hbWUp Cit7CisgIG1fbGlua19zZWN0aW9uID0gbmV3X3N0cmluZyAobmFtZSk7Cit9CisKIC8qIFRoZSBp bXBsZW1lbnRhdGlvbiBvZiBjbGFzcyBnY2M6OmppdDo6cmVjb3JkaW5nOjpwYXJhbS4gICovCiAK IC8qIEltcGxlbWVudGF0aW9uIG9mIHB1cmUgdmlydHVhbCBob29rIHJlY29yZGluZzo6bWVtZW50 bzo6cmVwbGF5X2ludG8KQEAgLTQ1NDcsOCArNDU1Miw3IEBAIHJlY29yZGluZzo6YmxvY2s6OmR1 bXBfZWRnZXNfdG9fZG90IChwcmV0dHlfcHJpbnRlciAqcHApCiB2b2lkCiByZWNvcmRpbmc6Omds b2JhbDo6cmVwbGF5X2ludG8gKHJlcGxheWVyICpyKQogewotICBzZXRfcGxheWJhY2tfb2JqICgK LSAgICBtX2luaXRpYWxpemVyCisgIHBsYXliYWNrOjpsdmFsdWUgKmdsb2JhbCA9IG1faW5pdGlh bGl6ZXIKICAgICA/IHItPm5ld19nbG9iYWxfaW5pdGlhbGl6ZWQgKHBsYXliYWNrX2xvY2F0aW9u IChyLCBtX2xvYyksCiAJCQkJIG1fa2luZCwKIAkJCQkgbV90eXBlLT5wbGF5YmFja190eXBlICgp LApAQCAtNDU2MCw3ICs0NTY0LDEyIEBAIHJlY29yZGluZzo6Z2xvYmFsOjpyZXBsYXlfaW50byAo cmVwbGF5ZXIgKnIpCiAgICAgOiByLT5uZXdfZ2xvYmFsIChwbGF5YmFja19sb2NhdGlvbiAociwg bV9sb2MpLAogCQkgICAgIG1fa2luZCwKIAkJICAgICBtX3R5cGUtPnBsYXliYWNrX3R5cGUgKCks Ci0JCSAgICAgcGxheWJhY2tfc3RyaW5nIChtX25hbWUpKSk7CisJCSAgICAgcGxheWJhY2tfc3Ry aW5nIChtX25hbWUpKTsKKyAgaWYgKG1fbGlua19zZWN0aW9uICE9IE5VTEwpCisgIHsKKyAgICBn bG9iYWwtPnNldF9saW5rX3NlY3Rpb24gKG1fbGlua19zZWN0aW9uLT5jX3N0ciAoKSk7CisgIH0K KyAgc2V0X3BsYXliYWNrX29iaiAoZ2xvYmFsKTsKIH0KIAogLyogT3ZlcnJpZGUgdGhlIGRlZmF1 bHQgaW1wbGVtZW50YXRpb24gb2YKQEAgLTQ2NzUsNiArNDY4NCwxNCBAQCByZWNvcmRpbmc6Omds b2JhbDo6d3JpdGVfcmVwcm9kdWNlciAocmVwcm9kdWNlciAmcikKICAgICByLmdldF9pZGVudGlm aWVyX2FzX3R5cGUgKGdldF90eXBlICgpKSwKICAgICBtX25hbWUtPmdldF9kZWJ1Z19zdHJpbmcg KCkpOwogCisgIGlmIChtX2xpbmtfc2VjdGlvbiAhPSBOVUxMKQorICB7CisgICAgci53cml0ZSAo IiAgZ2NjX2ppdF9sdmFsdWVfc2V0X2xpbmtfc2VjdGlvbiAoJXMsIC8qIGdjY19qaXRfbHZhbHVl ICpsdmFsdWUgKi9cbiIKKyAgICAgICAgICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXCIlc1wiKTsgLyogKi9cbiIsCisgICAgIGlkLAorICAgICBtX2xpbmtfc2VjdGlvbi0+Y19z dHIgKCkpOworICB9CisKICAgaWYgKG1faW5pdGlhbGl6ZXIpCiAgICAgc3dpdGNoIChtX3R5cGUt PmRlcmVmZXJlbmNlICgpLT5nZXRfc2l6ZSAoKSkKICAgICAgIHsKZGlmZiAtLWdpdCBhL2djYy9q aXQvaml0LXJlY29yZGluZy5oIGIvZ2NjL2ppdC9qaXQtcmVjb3JkaW5nLmgKaW5kZXggMDNmYTEx NjBjZjAuLjhjYTgyYzkyOGI4IDEwMDY0NAotLS0gYS9nY2Mvaml0L2ppdC1yZWNvcmRpbmcuaAor KysgYi9nY2Mvaml0L2ppdC1yZWNvcmRpbmcuaApAQCAtMTEwNSw3ICsxMTA1LDggQEAgcHVibGlj OgogICBsdmFsdWUgKGNvbnRleHQgKmN0eHQsCiAJICBsb2NhdGlvbiAqbG9jLAogCSAgdHlwZSAq dHlwZV8pCi0gICAgOiBydmFsdWUgKGN0eHQsIGxvYywgdHlwZV8pCisgICAgOiBydmFsdWUgKGN0 eHQsIGxvYywgdHlwZV8pLAorICAgICAgbV9saW5rX3NlY3Rpb24gKE5VTEwpCiAgICAge30KIAog ICBwbGF5YmFjazo6bHZhbHVlICoKQEAgLTExMjcsNiArMTEyOCwxMCBAQCBwdWJsaWM6CiAgIGNv bnN0IGNoYXIgKmFjY2Vzc19hc19ydmFsdWUgKHJlcHJvZHVjZXIgJnIpIE9WRVJSSURFOwogICB2 aXJ0dWFsIGNvbnN0IGNoYXIgKmFjY2Vzc19hc19sdmFsdWUgKHJlcHJvZHVjZXIgJnIpOwogICB2 aXJ0dWFsIGJvb2wgaXNfZ2xvYmFsICgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisgIHZvaWQg c2V0X2xpbmtfc2VjdGlvbiAoY29uc3QgY2hhciAqbmFtZSk7CisKK3Byb3RlY3RlZDoKKyAgc3Ry aW5nICptX2xpbmtfc2VjdGlvbjsKIH07CiAKIGNsYXNzIHBhcmFtIDogcHVibGljIGx2YWx1ZQpk aWZmIC0tZ2l0IGEvZ2NjL2ppdC9saWJnY2NqaXQuYyBiL2djYy9qaXQvbGliZ2Njaml0LmMKaW5k ZXggN2ZhOTQ4MDA3YWQuLmJkNGNhNmRjMThmIDEwMDY0NAotLS0gYS9nY2Mvaml0L2xpYmdjY2pp dC5jCisrKyBiL2djYy9qaXQvbGliZ2Njaml0LmMKQEAgLTE5NTMsNiArMTk1MywxOCBAQCBnY2Nf aml0X2x2YWx1ZV9nZXRfYWRkcmVzcyAoZ2NjX2ppdF9sdmFsdWUgKmx2YWx1ZSwKICAgcmV0dXJu IChnY2Nfaml0X3J2YWx1ZSAqKWx2YWx1ZS0+Z2V0X2FkZHJlc3MgKGxvYyk7CiB9CiAKKy8qIFB1 YmxpYyBlbnRyeXBvaW50LiAgU2VlIGRlc2NyaXB0aW9uIGluIGxpYmdjY2ppdC5oLgorCisgICBB ZnRlciBlcnJvci1jaGVja2luZywgdGhlIHJlYWwgd29yayBpcyBkb25lIGJ5IHRoZQorICAgZ2Nj OjpqaXQ6OnJlY29yZGluZzo6bHZhbHVlOjpzZXRfc2VjdGlvbiBtZXRob2QgaW4gaml0LXJlY29y ZGluZy5jLiAgKi8KK3ZvaWQKK2djY19qaXRfbHZhbHVlX3NldF9saW5rX3NlY3Rpb24gKGdjY19q aXRfbHZhbHVlICpsdmFsdWUsCisJCQkgICAgY29uc3QgY2hhciAqbmFtZSkKK3sKKyAgUkVUVVJO X0lGX0ZBSUwgKG5hbWUsIE5VTEwsIE5VTEwsICJOVUxMIG5hbWUiKTsKKyAgbHZhbHVlLT5zZXRf bGlua19zZWN0aW9uIChuYW1lKTsKK30KKwogLyogUHVibGljIGVudHJ5cG9pbnQuICBTZWUgZGVz Y3JpcHRpb24gaW4gbGliZ2Njaml0LmguCiAKICAgIEFmdGVyIGVycm9yLWNoZWNraW5nLCB0aGUg cmVhbCB3b3JrIGlzIGRvbmUgYnkgdGhlCmRpZmYgLS1naXQgYS9nY2Mvaml0L2xpYmdjY2ppdC5o IGIvZ2NjL2ppdC9saWJnY2NqaXQuaAppbmRleCA1YzcyMmMyYzU3Zi4uMjE1NTNlZGUzZGUgMTAw NjQ0Ci0tLSBhL2djYy9qaXQvbGliZ2Njaml0LmgKKysrIGIvZ2NjL2ppdC9saWJnY2NqaXQuaApA QCAtMTA3Miw2ICsxMDcyLDE5IEBAIGV4dGVybiBnY2Nfaml0X3J2YWx1ZSAqCiBnY2Nfaml0X2x2 YWx1ZV9nZXRfYWRkcmVzcyAoZ2NjX2ppdF9sdmFsdWUgKmx2YWx1ZSwKIAkJCSAgICBnY2Nfaml0 X2xvY2F0aW9uICpsb2MpOwogCisjZGVmaW5lIExJQkdDQ0pJVF9IQVZFX2djY19qaXRfbHZhbHVl X3NldF9saW5rX3NlY3Rpb24KKworLyogU2V0IHRoZSBsaW5rIHNlY3Rpb24gb2YgYSBnbG9iYWwg dmFyaWFibGU7IGFuYWxvZ291cyB0bzoKKyAgICAgX19hdHRyaWJ1dGVfXygoc2VjdGlvbigic2Vj dGlvbl9uYW1lIikpKQorICAgaW4gQy4KKworICAgVGhpcyBBUEkgZW50cnlwb2ludCB3YXMgYWRk ZWQgaW4gTElCR0NDSklUX0FCSV8xODsgeW91IGNhbiB0ZXN0IGZvciBpdHMKKyAgIHByZXNlbmNl IHVzaW5nCisgICAgICNpZmRlZiBMSUJHQ0NKSVRfSEFWRV9nY2Nfaml0X2x2YWx1ZV9zZXRfdGxz X21vZGVsICAqLworZXh0ZXJuIHZvaWQKK2djY19qaXRfbHZhbHVlX3NldF9saW5rX3NlY3Rpb24g KGdjY19qaXRfbHZhbHVlICpsdmFsdWUsCisJCQkgICAgY29uc3QgY2hhciAqbmFtZSk7CisKIGV4 dGVybiBnY2Nfaml0X2x2YWx1ZSAqCiBnY2Nfaml0X2Z1bmN0aW9uX25ld19sb2NhbCAoZ2NjX2pp dF9mdW5jdGlvbiAqZnVuYywKIAkJCSAgICBnY2Nfaml0X2xvY2F0aW9uICpsb2MsCmRpZmYgLS1n aXQgYS9nY2Mvaml0L2xpYmdjY2ppdC5tYXAgYi9nY2Mvaml0L2xpYmdjY2ppdC5tYXAKaW5kZXgg MzM3ZWE2YzdmZTQuLjllNzIyYzJiZGUxIDEwMDY0NAotLS0gYS9nY2Mvaml0L2xpYmdjY2ppdC5t YXAKKysrIGIvZ2NjL2ppdC9saWJnY2NqaXQubWFwCkBAIC0yMDUsMyArMjA1LDE0IEBAIExJQkdD Q0pJVF9BQklfMTUgewogICAgIGdjY19qaXRfZXh0ZW5kZWRfYXNtX2FkZF9jbG9iYmVyOwogICAg IGdjY19qaXRfY29udGV4dF9hZGRfdG9wX2xldmVsX2FzbTsKIH0gTElCR0NDSklUX0FCSV8xNDsK KworTElCR0NDSklUX0FCSV8xNiB7Cit9IExJQkdDQ0pJVF9BQklfMTU7CisKK0xJQkdDQ0pJVF9B QklfMTcgeworfSBMSUJHQ0NKSVRfQUJJXzE2OworCitMSUJHQ0NKSVRfQUJJXzE4IHsKKyAgZ2xv YmFsOgorICAgIGdjY19qaXRfbHZhbHVlX3NldF9saW5rX3NlY3Rpb247Cit9IExJQkdDQ0pJVF9B QklfMTc7CmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2ppdC5kZy9hbGwtbm9uLWZhaWxpbmct dGVzdHMuaCBiL2djYy90ZXN0c3VpdGUvaml0LmRnL2FsbC1ub24tZmFpbGluZy10ZXN0cy5oCmlu ZGV4IDQyMDJlYjc3OThiLi43ZTNiNTlkZWUwZCAxMDA2NDQKLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9q aXQuZGcvYWxsLW5vbi1mYWlsaW5nLXRlc3RzLmgKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9qaXQuZGcv YWxsLW5vbi1mYWlsaW5nLXRlc3RzLmgKQEAgLTE4MSw2ICsxODEsMTMgQEAKICN1bmRlZiBjcmVh dGVfY29kZQogI3VuZGVmIHZlcmlmeV9jb2RlCiAKKy8qIHRlc3QtbGluay1zZWN0aW9uLmMgKi8K KyNkZWZpbmUgY3JlYXRlX2NvZGUgY3JlYXRlX2NvZGVfbGlua19zZWN0aW9uCisjZGVmaW5lIHZl cmlmeV9jb2RlIHZlcmlmeV9jb2RlX2xpbmtfc2VjdGlvbgorI2luY2x1ZGUgInRlc3QtbGluay1z ZWN0aW9uLmMiCisjdW5kZWYgY3JlYXRlX2NvZGUKKyN1bmRlZiB2ZXJpZnlfY29kZQorCiAvKiB0 ZXN0LWhlbGxvLXdvcmxkLmMgKi8KICNkZWZpbmUgY3JlYXRlX2NvZGUgY3JlYXRlX2NvZGVfaGVs bG9fd29ybGQKICNkZWZpbmUgdmVyaWZ5X2NvZGUgdmVyaWZ5X2NvZGVfaGVsbG9fd29ybGQKZGlm ZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvaml0LmRnL3Rlc3QtbGluay1zZWN0aW9uLmMgYi9nY2Mv dGVzdHN1aXRlL2ppdC5kZy90ZXN0LWxpbmstc2VjdGlvbi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMDAwLi41NDZjMWU5NWI5MgotLS0gL2Rldi9udWxsCisrKyBiL2djYy90 ZXN0c3VpdGUvaml0LmRnL3Rlc3QtbGluay1zZWN0aW9uLmMKQEAgLTAsMCArMSwyNSBAQAorI2lu Y2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisKKyNpbmNsdWRlICJsaWJnY2Nq aXQuaCIKKworI2luY2x1ZGUgImhhcm5lc3MuaCIKKwordm9pZAorY3JlYXRlX2NvZGUgKGdjY19q aXRfY29udGV4dCAqY3R4dCwgdm9pZCAqdXNlcl9kYXRhKQoreworICAvKiBMZXQncyB0cnkgdG8g aW5qZWN0IHRoZSBlcXVpdmFsZW50IG9mOgorICAgICBpbnQgZm9vIF9fYXR0cmlidXRlX18oKHNl Y3Rpb24oIi5zZWN0aW9uIikpKTsKKyAgKi8KKyAgZ2NjX2ppdF90eXBlICppbnRfdHlwZSA9Cisg ICAgZ2NjX2ppdF9jb250ZXh0X2dldF90eXBlIChjdHh0LCBHQ0NfSklUX1RZUEVfSU5UKTsKKyAg Z2NjX2ppdF9sdmFsdWUgKmZvbyA9CisgICAgZ2NjX2ppdF9jb250ZXh0X25ld19nbG9iYWwgKAor ICAgICAgY3R4dCwgTlVMTCwgR0NDX0pJVF9HTE9CQUxfRVhQT1JURUQsIGludF90eXBlLCAiZm9v Iik7CisgIGdjY19qaXRfbHZhbHVlX3NldF9saW5rX3NlY3Rpb24oZm9vLCAic2VjdGlvbiIpOwor fQorCitleHRlcm4gdm9pZAordmVyaWZ5X2NvZGUgKGdjY19qaXRfY29udGV4dCAqY3R4dCwgZ2Nj X2ppdF9yZXN1bHQgKnJlc3VsdCkKK3sKK30KLS0gCjIuMzEuMQoK --=-gP/8sMhcJkEkcOkpa4rj--