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 A8AD13858D28; Mon, 31 Jan 2022 01:38:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org A8AD13858D28 ARC-Seal: i=1; a=rsa-sha256; t=1643593094; cv=none; d=zohomail.com; s=zohoarc; b=L4I6Y2PlhgbfDMIHcjlXOzUPAr4hc5as7tL6WMOmGud/PldXptus9le9Ut+9jdY0IXauN2er0UACm1/P2bgYcT6i/E5h6Ou0Aosaed1hwB9vE+oZnnrfk+wMJxiqidlnaEjI9CPM44/VRVgmu5iSTdkMlSK4oMk69cROskn5SYA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1643593094; h=Content-Type:Date:From:MIME-Version:Message-ID:Subject:To; bh=01np091vGSUZizRsgNeWlQc3Koe/9J3C0GsUKLrYvSw=; b=Cz7Lfj0XE2xnSmn+vTMnZU2xp5EUAmDhwwkw7xJUkZre6g+jcSe2O/Yoq08HP1oGb3ft53XNMqt39anxAmLn6qqaJ/KZPiICN928348zZue6UxBmyXtIXMehCAAu5JnGWJhq4J519kSLcO7CDudd7Ngyi2ZnDPgQXO9klrSARTA= 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 1643593091128150.32989061904345; Sun, 30 Jan 2022 17:38:11 -0800 (PST) Message-ID: <7f32bff12738484e3f5d97cfc481996fd7570b01.camel@zoho.com> Subject: [PATCH] libgccjit: Add support for setting the alignment [PR104293] From: Antoni Boucher To: gcc-patches@gcc.gnu.org, jit@gcc.gnu.org Date: Sun, 30 Jan 2022 20:38:09 -0500 Content-Type: multipart/mixed; boundary="=-1/ojdVV50+5Itjye4n2c" User-Agent: Evolution 3.42.3 MIME-Version: 1.0 X-Zoho-Virus-Status: 1 X-ZohoMailClient: External X-Spam-Status: No, score=-12.1 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, T_SCC_BODY_TEXT_LINE 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: Mon, 31 Jan 2022 01:38:19 -0000 --=-1/ojdVV50+5Itjye4n2c Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Hi. This patch adds support for setting the alignment of variables in libgccjit. I was wondering if I should change it so that it takes/returns bytes instead of bits. What do you think? Thanks for the review. --=-1/ojdVV50+5Itjye4n2c Content-Disposition: attachment; filename*0=0001-libgccjit-Add-support-for-setting-the-alignment-PR10.pat; filename*1=ch Content-Type: text/x-patch; name="0001-libgccjit-Add-support-for-setting-the-alignment-PR10.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSBlYmRiNjkwNWYyM2RkZWYyODI5MmExZDcxMDgxZWViYjdhMmE5YmI5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbmkgQm91Y2hlciA8Ym91YW50b0B6b2hvLmNvbT4KRGF0 ZTogVHVlLCAyNSBKYW4gMjAyMiAyMToxMjozMiAtMDUwMApTdWJqZWN0OiBbUEFUQ0hdIGxpYmdj Y2ppdDogQWRkIHN1cHBvcnQgZm9yIHNldHRpbmcgdGhlIGFsaWdubWVudCBbUFIxMDQyOTNdCgoy MDIyLTAxLTMwICBBbnRvbmkgQm91Y2hlciA8Ym91YW50b0B6b2hvLmNvbT4KCmdjYy9qaXQvCglQ UiBqaXQvMTA0MjkzCgkqIGRvY3MvdG9waWNzL2NvbXBhdGliaWxpdHkucnN0IChMSUJHQ0NKSVRf QUJJXzI0KTogTmV3IEFCSSB0YWcuCgkqIGRvY3MvdG9waWNzL2V4cHJlc3Npb25zLnJzdDogQWRk IGRvY3VtZW50YXRpb24gZm9yIHRoZQoJZnVuY3Rpb25zIGdjY19qaXRfbHZhbHVlX3NldF9hbGln bm1lbnQgYW5kCglnY2Nfaml0X2x2YWx1ZV9nZXRfYWxpZ25tZW50LgoJKiBqaXQtcGxheWJhY2su aDogTmV3IGZ1bmN0aW9uIChzZXRfYWxpZ25tZW50KS4KCSogaml0LXJlY29yZGluZy5jYzogTmV3 IGZ1bmN0aW9uIChzZXRfYWxpZ25tZW50KS4KCSogaml0LXJlY29yZGluZy5oOiBOZXcgZnVuY3Rp b25zIChzZXRfYWxpZ25tZW50LCBnZXRfYWxpZ25tZW50KQoJYW5kIG5ldyBmaWVsZCAobV9hbGln bm1lbnQpLgoJKiBsaWJnY2NqaXQuY2M6IE5ldyBmdW5jdGlvbnMgKGdjY19qaXRfbHZhbHVlX2dl dF9hbGlnbm1lbnQsCglnY2Nfaml0X2x2YWx1ZV9zZXRfYWxpZ25tZW50KQoJKiBsaWJnY2NqaXQu aDogTmV3IGZ1bmN0aW9ucyAoZ2NjX2ppdF9sdmFsdWVfZ2V0X2FsaWdubWVudCwKCWdjY19qaXRf bHZhbHVlX3NldF9hbGlnbm1lbnQpCgkqIGxpYmdjY2ppdC5tYXAgKExJQkdDQ0pJVF9BQklfMjQp OiBOZXcgQUJJIHRhZy4KCmdjYy90ZXN0c3VpdGUvCglQUiBqaXQvMTA0MjkzCgkqIGppdC5kZy9h bGwtbm9uLWZhaWxpbmctdGVzdHMuaDogTWVudGlvbgoJdGVzdC1zZXR0aW5nLWFsaWdubWVudC4K CSogaml0LmRnL3Rlc3Qtc2V0dGluZy1hbGlnbm1lbnQuYzogTmV3IHRlc3QuCi0tLQogZ2NjL2pp dC9kb2NzL3RvcGljcy9jb21wYXRpYmlsaXR5LnJzdCAgICAgICAgIHwgMTAgKysrCiBnY2Mvaml0 L2RvY3MvdG9waWNzL2V4cHJlc3Npb25zLnJzdCAgICAgICAgICAgfCAzOSArKysrKysrKysrKwog Z2NjL2ppdC9qaXQtcGxheWJhY2suaCAgICAgICAgICAgICAgICAgICAgICAgIHwgIDcgKysKIGdj Yy9qaXQvaml0LXJlY29yZGluZy5jYyAgICAgICAgICAgICAgICAgICAgICB8IDE3ICsrKystCiBn Y2Mvaml0L2ppdC1yZWNvcmRpbmcuaCAgICAgICAgICAgICAgICAgICAgICAgfCAgNiArLQogZ2Nj L2ppdC9saWJnY2NqaXQuY2MgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjUgKysrKysrKysK IGdjYy9qaXQvbGliZ2Njaml0LmggICAgICAgICAgICAgICAgICAgICAgICAgICB8IDE5ICsrKysr KwogZ2NjL2ppdC9saWJnY2NqaXQubWFwICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTggKysr KysrCiBnY2MvdGVzdHN1aXRlL2ppdC5kZy9hbGwtbm9uLWZhaWxpbmctdGVzdHMuaCAgfCAgMyAr CiBnY2MvdGVzdHN1aXRlL2ppdC5kZy90ZXN0LXNldHRpbmctYWxpZ25tZW50LmMgfCA2NCArKysr KysrKysrKysrKysrKysrCiAxMCBmaWxlcyBjaGFuZ2VkLCAyMDUgaW5zZXJ0aW9ucygrKSwgMyBk ZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2ppdC5kZy90ZXN0 LXNldHRpbmctYWxpZ25tZW50LmMKCmRpZmYgLS1naXQgYS9nY2Mvaml0L2RvY3MvdG9waWNzL2Nv bXBhdGliaWxpdHkucnN0IGIvZ2NjL2ppdC9kb2NzL3RvcGljcy9jb21wYXRpYmlsaXR5LnJzdApp bmRleCAxNmNlYmUzMWExMC4uMTk1NzM5OWRjZWIgMTAwNjQ0Ci0tLSBhL2djYy9qaXQvZG9jcy90 b3BpY3MvY29tcGF0aWJpbGl0eS5yc3QKKysrIGIvZ2NjL2ppdC9kb2NzL3RvcGljcy9jb21wYXRp YmlsaXR5LnJzdApAQCAtMzAyLDMgKzMwMiwxMyBAQCB0aHJlYWQtbG9jYWwgc3RvcmFnZSBtb2Rl bCBvZiBhIHZhcmlhYmxlOgogc2VjdGlvbiBvZiBhIHZhcmlhYmxlOgogCiAgICogOmZ1bmM6YGdj Y19qaXRfbHZhbHVlX3NldF9saW5rX3NlY3Rpb25gCisKKy4uIF9MSUJHQ0NKSVRfQUJJXzI0Ogor CitgYExJQkdDQ0pJVF9BQklfMjRgYAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2BgTElCR0ND SklUX0FCSV8yNGBgIGNvdmVycyB0aGUgYWRkaXRpb24gb2YgZnVuY3Rpb25zIHRvIGdldCBhbmQg c2V0IHRoZQorYWxpZ25lbWVudCBvZiBhIHZhcmlhYmxlOgorCisgICogOmZ1bmM6YGdjY19qaXRf bHZhbHVlX3NldF9hbGlnbm1lbnRgCisgICogOmZ1bmM6YGdjY19qaXRfbHZhbHVlX2dldF9hbGln bm1lbnRgCmRpZmYgLS1naXQgYS9nY2Mvaml0L2RvY3MvdG9waWNzL2V4cHJlc3Npb25zLnJzdCBi L2djYy9qaXQvZG9jcy90b3BpY3MvZXhwcmVzc2lvbnMucnN0CmluZGV4IDc5MWEyMDM5OGNhLi4w ZjVmNTM3NmQ4YyAxMDA2NDQKLS0tIGEvZ2NjL2ppdC9kb2NzL3RvcGljcy9leHByZXNzaW9ucy5y c3QKKysrIGIvZ2NjL2ppdC9kb2NzL3RvcGljcy9leHByZXNzaW9ucy5yc3QKQEAgLTczOCw2ICs3 MzgsNDUgQEAgd2hlcmUgdGhlIHJ2YWx1ZSBpcyBjb21wdXRlZCBieSByZWFkaW5nIGZyb20gdGhl IHN0b3JhZ2UgYXJlYS4KIAogICAgICAgI2lmZGVmIExJQkdDQ0pJVF9IQVZFX2djY19qaXRfbHZh bHVlX3NldF9saW5rX3NlY3Rpb24KIAorLi4gZnVuY3Rpb246OiB2b2lkCisgICAgICAgICAgICAg IGdjY19qaXRfbHZhbHVlX3NldF9hbGlnbm1lbnQgKGdjY19qaXRfbHZhbHVlICpsdmFsdWUsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBhbGlnbm1lbnQp CisKKyAgIFNldCB0aGUgYWxpZ25tZW50IG9mIGEgdmFyaWFibGUuCisgICBUaGUgcGFyYW1ldGVy IGBgYWxpZ25tZW50YGAgaXMgaW4gYml0cy4gQW5hbG9nb3VzIHRvOgorCisgICAuLiBjb2RlLWJs b2NrOjogYworCisgICAgIGludCB2YXJpYWJsZSBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkICgxNikp KTsKKworICAgaW4gQywgYnV0IGluIGJpdHMgaW5zdGVhZCBvZiBieXRlcy4KKworICAgVGhpcyBl bnRyeXBvaW50IHdhcyBhZGRlZCBpbiA6cmVmOmBMSUJHQ0NKSVRfQUJJXzI0YDsgeW91IGNhbiB0 ZXN0IGZvcgorICAgaXRzIHByZXNlbmNlIHVzaW5nCisKKyAgIC4uIGNvZGUtYmxvY2s6OiBjCisK KyAgICAgICNpZmRlZiBMSUJHQ0NKSVRfSEFWRV9BTElHTk1FTlQKKworLi4gZnVuY3Rpb246OiBp bnQKKyAgICAgICAgICAgICAgZ2NjX2ppdF9sdmFsdWVfZ2V0X2FsaWdubWVudCAoZ2NjX2ppdF9s dmFsdWUgKmx2YWx1ZSkKKworICAgUmV0dXJuIHRoZSBhbGlnbm1lbnQgb2YgYSB2YXJpYWJsZSBz ZXQgYnkgYGBnY2Nfaml0X2x2YWx1ZV9zZXRfYWxpZ25tZW50YGAsIGluIGJpdHMuCisgICBSZXR1 cm4gMCBpZiB0aGUgYWxpZ25tZW50IHdhcyBub3Qgc2V0LiBBbmFsb2dvdXMgdG86CisKKyAgIC4u IGNvZGUtYmxvY2s6OiBjCisKKyAgICAgX0FsaWdub2YgKHZhcmlhYmxlKQorCisgICBpbiBDLCBi dXQgaW4gYml0cyBpbnN0ZWFkIG9mIGJ5dGVzLgorCisgICBUaGlzIGVudHJ5cG9pbnQgd2FzIGFk ZGVkIGluIDpyZWY6YExJQkdDQ0pJVF9BQklfMjRgOyB5b3UgY2FuIHRlc3QgZm9yCisgICBpdHMg cHJlc2VuY2UgdXNpbmcKKworICAgLi4gY29kZS1ibG9jazo6IGMKKworICAgICAgI2lmZGVmIExJ QkdDQ0pJVF9IQVZFX0FMSUdOTUVOVAorCiBHbG9iYWwgdmFyaWFibGVzCiAqKioqKioqKioqKioq KioqCiAKZGlmZiAtLWdpdCBhL2djYy9qaXQvaml0LXBsYXliYWNrLmggYi9nY2Mvaml0L2ppdC1w bGF5YmFjay5oCmluZGV4IGM5M2Q3MDU1ZDQzLi40YTNjNGE2YTA5YiAxMDA2NDQKLS0tIGEvZ2Nj L2ppdC9qaXQtcGxheWJhY2suaAorKysgYi9nY2Mvaml0L2ppdC1wbGF5YmFjay5oCkBAIC03MDEs NiArNzAxLDEzIEBAIHB1YmxpYzoKICAgICBzZXRfZGVjbF9zZWN0aW9uX25hbWUgKGFzX3RyZWUg KCksIG5hbWUpOwogICB9CiAKKyAgdm9pZAorICBzZXRfYWxpZ25tZW50IChpbnQgYWxpZ25tZW50 KQorICB7CisgICAgICBTRVRfREVDTF9BTElHTiAoYXNfdHJlZSAoKSwgYWxpZ25tZW50KTsKKyAg ICAgIERFQ0xfVVNFUl9BTElHTiAoYXNfdHJlZSAoKSkgPSAxOworICB9CisKIHByaXZhdGU6CiAg IGJvb2wgbWFya19hZGRyZXNzYWJsZSAobG9jYXRpb24gKmxvYyk7CiB9OwpkaWZmIC0tZ2l0IGEv Z2NjL2ppdC9qaXQtcmVjb3JkaW5nLmNjIGIvZ2NjL2ppdC9qaXQtcmVjb3JkaW5nLmNjCmluZGV4 IDFlM2ZhZGZhY2Q3Li43MTc2ZmIzNDczNCAxMDA2NDQKLS0tIGEvZ2NjL2ppdC9qaXQtcmVjb3Jk aW5nLmNjCisrKyBiL2djYy9qaXQvaml0LXJlY29yZGluZy5jYwpAQCAtMzgwNyw2ICszODA3LDEx IEBAIHZvaWQgcmVjb3JkaW5nOjpsdmFsdWU6OnNldF9saW5rX3NlY3Rpb24gKGNvbnN0IGNoYXIg Km5hbWUpCiAgIG1fbGlua19zZWN0aW9uID0gbmV3X3N0cmluZyAobmFtZSk7CiB9CiAKK3ZvaWQg cmVjb3JkaW5nOjpsdmFsdWU6OnNldF9hbGlnbm1lbnQgKGludCBhbGlnbm1lbnQpCit7CisgIG1f YWxpZ25tZW50ID0gYWxpZ25tZW50OworfQorCiAvKiBUaGUgaW1wbGVtZW50YXRpb24gb2YgY2xh c3MgZ2NjOjpqaXQ6OnJlY29yZGluZzo6cGFyYW0uICAqLwogCiAvKiBJbXBsZW1lbnRhdGlvbiBv ZiBwdXJlIHZpcnR1YWwgaG9vayByZWNvcmRpbmc6Om1lbWVudG86OnJlcGxheV9pbnRvCkBAIC00 NjczLDYgKzQ2NzgsOSBAQCByZWNvcmRpbmc6Omdsb2JhbDo6cmVwbGF5X2ludG8gKHJlcGxheWVy ICpyKQogICBpZiAobV9saW5rX3NlY3Rpb24gIT0gTlVMTCkKICAgICBnbG9iYWwtPnNldF9saW5r X3NlY3Rpb24gKG1fbGlua19zZWN0aW9uLT5jX3N0ciAoKSk7CiAKKyAgaWYgKG1fYWxpZ25tZW50 ICE9IDApCisgICAgZ2xvYmFsLT5zZXRfYWxpZ25tZW50IChtX2FsaWdubWVudCk7CisKICAgc2V0 X3BsYXliYWNrX29iaiAoZ2xvYmFsKTsKIH0KIApAQCAtNjM0MywxMSArNjM1MSwxNiBAQCByZWNv cmRpbmc6OmZ1bmN0aW9uX3BvaW50ZXI6OndyaXRlX3JlcHJvZHVjZXIgKHJlcHJvZHVjZXIgJnIp CiB2b2lkCiByZWNvcmRpbmc6OmxvY2FsOjpyZXBsYXlfaW50byAocmVwbGF5ZXIgKnIpCiB7Ci0g IHNldF9wbGF5YmFja19vYmogKAorICBwbGF5YmFjazo6bHZhbHVlICpsb2NhbCA9CiAgICAgbV9m dW5jLT5wbGF5YmFja19mdW5jdGlvbiAoKQogICAgICAgLT5uZXdfbG9jYWwgKHBsYXliYWNrX2xv Y2F0aW9uIChyLCBtX2xvYyksCiAJCSAgIG1fdHlwZS0+cGxheWJhY2tfdHlwZSAoKSwKLQkJICAg cGxheWJhY2tfc3RyaW5nIChtX25hbWUpKSk7CisJCSAgIHBsYXliYWNrX3N0cmluZyAobV9uYW1l KSk7CisKKyAgaWYgKG1fYWxpZ25tZW50ICE9IDApCisgICAgbG9jYWwtPnNldF9hbGlnbm1lbnQg KG1fYWxpZ25tZW50KTsKKworICBzZXRfcGxheWJhY2tfb2JqIChsb2NhbCk7CiB9CiAKIC8qIE92 ZXJyaWRlIHRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIG9mCmRpZmYgLS1naXQgYS9nY2Mvaml0 L2ppdC1yZWNvcmRpbmcuaCBiL2djYy9qaXQvaml0LXJlY29yZGluZy5oCmluZGV4IDg0NmQ2NWNi MjAyLi5mMGU5MzZjY2IzMCAxMDA2NDQKLS0tIGEvZ2NjL2ppdC9qaXQtcmVjb3JkaW5nLmgKKysr IGIvZ2NjL2ppdC9qaXQtcmVjb3JkaW5nLmgKQEAgLTExNDgsNyArMTE0OCw4IEBAIHB1YmxpYzoK IAkgIHR5cGUgKnR5cGVfKQogICAgIDogcnZhbHVlIChjdHh0LCBsb2MsIHR5cGVfKSwKICAgICBt X3Rsc19tb2RlbCAoR0NDX0pJVF9UTFNfTU9ERUxfTk9ORSksCi0gICAgbV9saW5rX3NlY3Rpb24g KE5VTEwpCisgICAgbV9saW5rX3NlY3Rpb24gKE5VTEwpLAorICAgIG1fYWxpZ25tZW50ICgwKQog ICAgIHt9CiAKICAgcGxheWJhY2s6Omx2YWx1ZSAqCkBAIC0xMTcyLDEwICsxMTczLDEzIEBAIHB1 YmxpYzoKICAgdmlydHVhbCBib29sIGlzX2dsb2JhbCAoKSBjb25zdCB7IHJldHVybiBmYWxzZTsg fQogICB2b2lkIHNldF90bHNfbW9kZWwgKGVudW0gZ2NjX2ppdF90bHNfbW9kZWwgbW9kZWwpOwog ICB2b2lkIHNldF9saW5rX3NlY3Rpb24gKGNvbnN0IGNoYXIgKm5hbWUpOworICB2b2lkIHNldF9h bGlnbm1lbnQgKGludCBhbGlnbm1lbnQpOworICBpbnQgZ2V0X2FsaWdubWVudCAoKSB7IHJldHVy biBtX2FsaWdubWVudDsgfQogCiBwcm90ZWN0ZWQ6CiAgIGVudW0gZ2NjX2ppdF90bHNfbW9kZWwg bV90bHNfbW9kZWw7CiAgIHN0cmluZyAqbV9saW5rX3NlY3Rpb247CisgIGludCBtX2FsaWdubWVu dDsKIH07CiAKIGNsYXNzIHBhcmFtIDogcHVibGljIGx2YWx1ZQpkaWZmIC0tZ2l0IGEvZ2NjL2pp dC9saWJnY2NqaXQuY2MgYi9nY2Mvaml0L2xpYmdjY2ppdC5jYwppbmRleCA0YzM1MmU4YzkzZC4u ZTAzZjE1ZWM5YzggMTAwNjQ0Ci0tLSBhL2djYy9qaXQvbGliZ2Njaml0LmNjCisrKyBiL2djYy9q aXQvbGliZ2Njaml0LmNjCkBAIC0yNjQ5LDYgKzI2NDksMzEgQEAgZ2NjX2ppdF9sdmFsdWVfc2V0 X2xpbmtfc2VjdGlvbiAoZ2NjX2ppdF9sdmFsdWUgKmx2YWx1ZSwKICAgbHZhbHVlLT5zZXRfbGlu a19zZWN0aW9uIChzZWN0aW9uX25hbWUpOwogfQogCisvKiBQdWJsaWMgZW50cnlwb2ludC4gIFNl ZSBkZXNjcmlwdGlvbiBpbiBsaWJnY2NqaXQuaC4KKworICAgQWZ0ZXIgZXJyb3ItY2hlY2tpbmcs IHRoZSByZWFsIHdvcmsgaXMgZG9uZSBieSB0aGUKKyAgIGdjYzo6aml0OjpyZWNvcmRpbmc6Omx2 YWx1ZTo6Z2V0X2xpbmtfc2VjdGlvbiBtZXRob2QgaW4gaml0LXJlY29yZGluZy5jYy4gICovCisK K2ludAorZ2NjX2ppdF9sdmFsdWVfZ2V0X2FsaWdubWVudCAoZ2NjX2ppdF9sdmFsdWUgKmx2YWx1 ZSkKK3sKKyAgUkVUVVJOX1ZBTF9JRl9GQUlMIChsdmFsdWUsIDAsIE5VTEwsIE5VTEwsICJOVUxM IGx2YWx1ZSIpOworICByZXR1cm4gbHZhbHVlLT5nZXRfYWxpZ25tZW50ICgpOworfQorCisvKiBQ dWJsaWMgZW50cnlwb2ludC4gIFNlZSBkZXNjcmlwdGlvbiBpbiBsaWJnY2NqaXQuaC4KKworICAg QWZ0ZXIgZXJyb3ItY2hlY2tpbmcsIHRoZSByZWFsIHdvcmsgaXMgZG9uZSBieSB0aGUKKyAgIGdj Yzo6aml0OjpyZWNvcmRpbmc6Omx2YWx1ZTo6c2V0X2FsaWdubWVudCBtZXRob2QgaW4gaml0LXJl Y29yZGluZy5jYy4gICovCisKK3ZvaWQKK2djY19qaXRfbHZhbHVlX3NldF9hbGlnbm1lbnQgKGdj Y19qaXRfbHZhbHVlICpsdmFsdWUsCisJCQkgICAgICBpbnQgYWxpZ25tZW50KQoreworICBSRVRV Uk5fSUZfRkFJTCAobHZhbHVlLCBOVUxMLCBOVUxMLCAiTlVMTCBsdmFsdWUiKTsKKyAgbHZhbHVl LT5zZXRfYWxpZ25tZW50IChhbGlnbm1lbnQpOworfQorCiAvKiBQdWJsaWMgZW50cnlwb2ludC4g IFNlZSBkZXNjcmlwdGlvbiBpbiBsaWJnY2NqaXQuaC4KIAogICAgQWZ0ZXIgZXJyb3ItY2hlY2tp bmcsIHRoZSByZWFsIHdvcmsgaXMgZG9uZSBieSB0aGUKZGlmZiAtLWdpdCBhL2djYy9qaXQvbGli Z2Njaml0LmggYi9nY2Mvaml0L2xpYmdjY2ppdC5oCmluZGV4IDJhNWZmYWNiMWZlLi43NDk2OTg3 MWMwNiAxMDA2NDQKLS0tIGEvZ2NjL2ppdC9saWJnY2NqaXQuaAorKysgYi9nY2Mvaml0L2xpYmdj Y2ppdC5oCkBAIC0xMjc3LDYgKzEyNzcsMjUgQEAgZXh0ZXJuIHZvaWQKIGdjY19qaXRfbHZhbHVl X3NldF9saW5rX3NlY3Rpb24gKGdjY19qaXRfbHZhbHVlICpsdmFsdWUsCiAJCQkgICAgY29uc3Qg Y2hhciAqc2VjdGlvbl9uYW1lKTsKIAorI2RlZmluZSBMSUJHQ0NKSVRfSEFWRV9BTElHTk1FTlQK KworLyogU2V0IHRoZSBhbGlnbm1lbnQgb2YgYSB2YXJpYWJsZS4KKworICAgVGhpcyBBUEkgZW50 cnlwb2ludCB3YXMgYWRkZWQgaW4gTElCR0NDSklUX0FCSV8yNDsgeW91IGNhbiB0ZXN0IGZvciBp dHMKKyAgIHByZXNlbmNlIHVzaW5nCisgICAgICNpZmRlZiBMSUJHQ0NKSVRfSEFWRV9BTElHTk1F TlQgICovCitleHRlcm4gdm9pZAorZ2NjX2ppdF9sdmFsdWVfc2V0X2FsaWdubWVudCAoZ2NjX2pp dF9sdmFsdWUgKmx2YWx1ZSwKKwkJCSAgICAgIGludCBhbGlnbm1lbnQpOworCisvKiBHZXQgdGhl IGFsaWdubWVudCBvZiBhIHZhcmlhYmxlLgorCisgICBUaGlzIEFQSSBlbnRyeXBvaW50IHdhcyBh ZGRlZCBpbiBMSUJHQ0NKSVRfQUJJXzI0OyB5b3UgY2FuIHRlc3QgZm9yIGl0cworICAgcHJlc2Vu Y2UgdXNpbmcKKyAgICAgI2lmZGVmIExJQkdDQ0pJVF9IQVZFX0FMSUdOTUVOVCAgKi8KK2V4dGVy biBpbnQKK2djY19qaXRfbHZhbHVlX2dldF9hbGlnbm1lbnQgKGdjY19qaXRfbHZhbHVlICpsdmFs dWUpOworCiBleHRlcm4gZ2NjX2ppdF9sdmFsdWUgKgogZ2NjX2ppdF9mdW5jdGlvbl9uZXdfbG9j YWwgKGdjY19qaXRfZnVuY3Rpb24gKmZ1bmMsCiAJCQkgICAgZ2NjX2ppdF9sb2NhdGlvbiAqbG9j LApkaWZmIC0tZ2l0IGEvZ2NjL2ppdC9saWJnY2NqaXQubWFwIGIvZ2NjL2ppdC9saWJnY2NqaXQu bWFwCmluZGV4IGYzNzNmZDM5YWM3Li5kZjUxZTRmZGQ4YyAxMDA2NDQKLS0tIGEvZ2NjL2ppdC9s aWJnY2NqaXQubWFwCisrKyBiL2djYy9qaXQvbGliZ2Njaml0Lm1hcApAQCAtMjQzLDMgKzI0Mywy MSBAQCBMSUJHQ0NKSVRfQUJJXzE5IHsKICAgICBnY2Nfaml0X2NvbnRleHRfbmV3X3VuaW9uX2Nv bnN0cnVjdG9yOwogICAgIGdjY19qaXRfZ2xvYmFsX3NldF9pbml0aWFsaXplcl9ydmFsdWU7CiB9 IExJQkdDQ0pJVF9BQklfMTg7CisKK0xJQkdDQ0pJVF9BQklfMjAgeworfSBMSUJHQ0NKSVRfQUJJ XzE5OworCitMSUJHQ0NKSVRfQUJJXzIxIHsKK30gTElCR0NDSklUX0FCSV8yMDsKKworTElCR0ND SklUX0FCSV8yMiB7Cit9IExJQkdDQ0pJVF9BQklfMjE7CisKK0xJQkdDQ0pJVF9BQklfMjMgewor fSBMSUJHQ0NKSVRfQUJJXzIyOworCitMSUJHQ0NKSVRfQUJJXzI0IHsKKyAgZ2xvYmFsOgorICAg IGdjY19qaXRfbHZhbHVlX3NldF9hbGlnbm1lbnQ7CisgICAgZ2NjX2ppdF9sdmFsdWVfZ2V0X2Fs aWdubWVudDsKK30gTElCR0NDSklUX0FCSV8yMzsKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUv aml0LmRnL2FsbC1ub24tZmFpbGluZy10ZXN0cy5oIGIvZ2NjL3Rlc3RzdWl0ZS9qaXQuZGcvYWxs LW5vbi1mYWlsaW5nLXRlc3RzLmgKaW5kZXggMjlhZmUwNjRkYjYuLjcyYzQ2ZTgxZTUxIDEwMDY0 NAotLS0gYS9nY2MvdGVzdHN1aXRlL2ppdC5kZy9hbGwtbm9uLWZhaWxpbmctdGVzdHMuaAorKysg Yi9nY2MvdGVzdHN1aXRlL2ppdC5kZy9hbGwtbm9uLWZhaWxpbmctdGVzdHMuaApAQCAtMzA2LDYg KzMwNiw5IEBACiAjdW5kZWYgY3JlYXRlX2NvZGUKICN1bmRlZiB2ZXJpZnlfY29kZQogCisvKiB0 ZXN0LXNldHRpbmctYWxpZ25tZW50LmM6IFRoaXMgY2FuJ3QgYmUgaW4gdGhlIHRlc3RjYXNlcyBh cnJheSBhcyBpdAorICAgZG9lc24ndCBoYXZlIGEgdmVyaWZ5X2NvZGUgaW1wbGVtZW50YXRpb24u ICAqLworCiAvKiB0ZXN0LXN0cmluZy1saXRlcmFsLmMgKi8KICNkZWZpbmUgY3JlYXRlX2NvZGUg Y3JlYXRlX2NvZGVfc3RyaW5nX2xpdGVyYWwKICNkZWZpbmUgdmVyaWZ5X2NvZGUgdmVyaWZ5X2Nv ZGVfc3RyaW5nX2xpdGVyYWwKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvaml0LmRnL3Rlc3Qt c2V0dGluZy1hbGlnbm1lbnQuYyBiL2djYy90ZXN0c3VpdGUvaml0LmRnL3Rlc3Qtc2V0dGluZy1h bGlnbm1lbnQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZTg3YWZi ZWFjZDMKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2ppdC5kZy90ZXN0LXNldHRp bmctYWxpZ25tZW50LmMKQEAgLTAsMCArMSw2NCBAQAorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2lu Y2x1ZGUgPHN0ZGlvLmg+CisKKyNpbmNsdWRlICJsaWJnY2NqaXQuaCIKKworLyogV2UgZG9uJ3Qg d2FudCBzZXRfb3B0aW9ucygpIGluIGhhcm5lc3MuaCB0byBzZXQgLU8zIHNvIG91ciBsaXR0bGUg bG9jYWwKKyAgIGlzIG9wdGltaXplZCBhd2F5LiAqLworI2RlZmluZSBURVNUX0VTQ0hFV1NfU0VU X09QVElPTlMKK3N0YXRpYyB2b2lkIHNldF9vcHRpb25zIChnY2Nfaml0X2NvbnRleHQgKmN0eHQs IGNvbnN0IGNoYXIgKmFyZ3YwKQoreworfQorCisjZGVmaW5lIFRFU1RfQ09NUElMSU5HX1RPX0ZJ TEUKKyNkZWZpbmUgT1VUUFVUX0tJTkQgICAgICBHQ0NfSklUX09VVFBVVF9LSU5EX0FTU0VNQkxF UgorI2RlZmluZSBPVVRQVVRfRklMRU5BTUUgICJvdXRwdXQtb2YtdGVzdC1zZXR0aW5nLWFsaWdu bWVudC5jLnMiCisjaW5jbHVkZSAiaGFybmVzcy5oIgorCit2b2lkCitjcmVhdGVfY29kZSAoZ2Nj X2ppdF9jb250ZXh0ICpjdHh0LCB2b2lkICp1c2VyX2RhdGEpCit7CisgIC8qIExldCdzIHRyeSB0 byBpbmplY3QgdGhlIGVxdWl2YWxlbnQgb2Y6CisgICAgIGludCBmb28gX19hdHRyaWJ1dGVfXygo YWxpZ25lZCAoOCkpKTsKKworICAgICBpbnQgbWFpbiAodm9pZCkgeworICAgICAgICBpbnQgYmFy IF9fYXR0cmlidXRlX18oKGFsaWduZWQgKDE2KSkpOworICAgICB9CisgICovCisgIGdjY19qaXRf dHlwZSAqaW50X3R5cGUgPQorICAgIGdjY19qaXRfY29udGV4dF9nZXRfdHlwZSAoY3R4dCwgR0ND X0pJVF9UWVBFX0lOVCk7CisgIGdjY19qaXRfbHZhbHVlICpmb28gPQorICAgIGdjY19qaXRfY29u dGV4dF9uZXdfZ2xvYmFsICgKKyAgICAgIGN0eHQsIE5VTEwsIEdDQ19KSVRfR0xPQkFMX0VYUE9S VEVELCBpbnRfdHlwZSwgImZvbyIpOworICBnY2Nfaml0X2x2YWx1ZV9zZXRfYWxpZ25tZW50KGZv bywgNjQpOworCisgIGdjY19qaXRfZmllbGQgKmZpZWxkID0gZ2NjX2ppdF9jb250ZXh0X25ld19m aWVsZCAoY3R4dCwKKyAgICBOVUxMLAorICAgIGludF90eXBlLAorICAgICJhIik7CisgIGdjY19q aXRfc3RydWN0ICpzdHJ1Y3RfdHlwZSA9CisgICAgZ2NjX2ppdF9jb250ZXh0X25ld19zdHJ1Y3Rf dHlwZShjdHh0LCBOVUxMLCAiVHlwZSIsIDEsICZmaWVsZCk7CisgIGdjY19qaXRfZnVuY3Rpb24g KmZ1bmNfbWFpbiA9CisgICAgZ2NjX2ppdF9jb250ZXh0X25ld19mdW5jdGlvbiAoY3R4dCwgTlVM TCwKKwkJCQkgIEdDQ19KSVRfRlVOQ1RJT05fRVhQT1JURUQsCisJCQkJICBpbnRfdHlwZSwKKwkJ CQkgICJtYWluIiwKKwkJCQkgIDAsIE5VTEwsCisJCQkJICAwKTsKKyAgLypnY2Nfaml0X3J2YWx1 ZSAqemVybyA9IGdjY19qaXRfY29udGV4dF96ZXJvIChjdHh0LCBpbnRfdHlwZSk7Ki8KKyAgZ2Nj X2ppdF9sdmFsdWUgKmJhciA9CisgICAgZ2NjX2ppdF9mdW5jdGlvbl9uZXdfbG9jYWwgKAorICAg ICAgZnVuY19tYWluLCBOVUxMLAorICAgICAgZ2NjX2ppdF9zdHJ1Y3RfYXNfdHlwZSAoc3RydWN0 X3R5cGUpLAorICAgICAgImJhciIpOworICBnY2Nfaml0X2x2YWx1ZV9zZXRfYWxpZ25tZW50KGJh ciwgMTI4KTsKKyAgZ2NjX2ppdF9ibG9jayAqYmxvY2sgPSBnY2Nfaml0X2Z1bmN0aW9uX25ld19i bG9jayAoZnVuY19tYWluLCBOVUxMKTsKKyAgLypnY2Nfaml0X2Jsb2NrX2FkZF9hc3NpZ25tZW50 IChibG9jaywgTlVMTCwgYmFyLCB6ZXJvKTsqLworICBnY2Nfaml0X3J2YWx1ZSAqcmV0dXJuX3Zh bHVlID0KKyAgICAgIGdjY19qaXRfbHZhbHVlX2FzX3J2YWx1ZSAoZ2NjX2ppdF9sdmFsdWVfYWNj ZXNzX2ZpZWxkIChiYXIsIE5VTEwsIGZpZWxkKSk7CisgIGdjY19qaXRfYmxvY2tfZW5kX3dpdGhf cmV0dXJuIChibG9jaywgTlVMTCwgcmV0dXJuX3ZhbHVlKTsKK30KKworLyogeyBkZy1maW5hbCB7 IGppdC12ZXJpZnktb3V0cHV0LWZpbGUtd2FzLWNyZWF0ZWQgIiIgfSB9ICovCisvKiB7IGRnLWZp bmFsIHsgaml0LXZlcmlmeS1hc3NlbWJsZXItb3V0cHV0ICIuY29tbQlmb28sNCw4IiB9IH0gKi8K Ky8qIHsgZGctZmluYWwgeyBqaXQtdmVyaWZ5LWFzc2VtYmxlci1vdXRwdXQgIm1vdmwJLTE2XFxc KCVyYnApLCAlZWF4IiB9IH0gKi8KLS0gCjIuMjYuMi43LmcxOWRiOWNmYjY4LmRpcnR5Cgo= --=-1/ojdVV50+5Itjye4n2c--