From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from sender3-pp-o98.zoho.com (sender3-pp-o98.zoho.com [136.143.184.98]) by sourceware.org (Postfix) with ESMTPS id B2A6A3858D38; Fri, 10 Nov 2023 16:02:25 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B2A6A3858D38 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 B2A6A3858D38 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=136.143.184.98 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1699632147; cv=pass; b=IQF72wLyDG0DhizGkON3bhgvlD+FzCBqdEY9gRbVahkvg8DteZBL4e76/leW1ZlPW0zVgdoCbYXJmFj7YanmoBrwnIvz/gd0stoHvAJlUXcV79qR6j48C3S9uaW2+ONGB8siJVu3HHRStIHTFCbsZqW4ScV/HKAjaNCsT6W+lsc= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1699632147; c=relaxed/simple; bh=EO2Uf1cM+P/OB7j9KUONSoQ4pHIG1G3TgR5JGl6Luo8=; h=DKIM-Signature:Message-ID:Subject:From:To:Date:MIME-Version; b=CT01rRG8Dke/DhElA33QtOSpizXCIHRLjtGtno3rg1nxJUpTUWxaA1fiHW0CFymEbtBvws/jkJhVgHsBClDcRglVsxgAhJnjb1q7LK8vIOtBIvSZ9B0Xzzna852fIe23OnVTDggZmF5M2UuIRT9BOvRGzLop9gyJ2b+jcoUAW4Q= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; t=1699632140; cv=none; d=zohomail.com; s=zohoarc; b=Xv3BBd28I+C9vKzG9Srst8rBx9CZ53580eEAw2dhNvpV2lwwm5rIdNgF2uQ1mQyblk7tVjxDZ6/yupd9DBzjbOOFvgTboIZ1woxvdO/N+X4Cbb/y+/p2Q9DjizHwzFE//F6+JXAKalocCT5XvObDXMQ3Uu4dYEV7I4uzZsiCTY0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1699632140; h=Content-Type:Cc:Cc:Date:Date:From:From:MIME-Version:Message-ID:Subject:Subject:To:To:Message-Id:Reply-To; bh=PkEtH9u5CfWOagdhx13/8T86J1SLCoj9mdXWjK/qL4U=; b=UjVjjxbQzjGQ0zViT8PA97dxJV+pMm8GVjZjpNK07lKmpk9BVjFGhOyfSqpA6Qw2SqeS4K6Fi2WnCN7XzmRjannmzrj+baVLbp3/tXWediRxgbKtRkJicm21yV4Nd0KHb0OOKAcggt9o3FP8M5TxYtOPIy5dkB2KwaOwaeyhD3A= 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=1699632140; 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=PkEtH9u5CfWOagdhx13/8T86J1SLCoj9mdXWjK/qL4U=; b=VNbSS2CF5nkvOpp0AHRJbgFyzTF/Z40ESFJDQsxRacAFjv+i1w4//kaIxEqPFALp 2Y1SL46gs3z8xfTuNifkLp9RmxO4Id9pZl3Aj4Pbyt2RApq6V8Ytr8XI9PC/+i28E6l KpDUlAUuLumBqOEid9IUbzn08LBcxLkkQeFsyPuo= Received: from [192.168.1.172] (38.87.11.6 [38.87.11.6]) by mx.zohomail.com with SMTPS id 1699632139081286.91489605340666; Fri, 10 Nov 2023 08:02:19 -0800 (PST) Message-ID: Subject: [PATCH] libgccjit: Fix GGC segfault when using -flto From: Antoni Boucher To: jit@gcc.gnu.org, gcc-patches@gcc.gnu.org Cc: David Malcolm Date: Fri, 10 Nov 2023 11:02:17 -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="=-pNtLUcnKCFjnYKoLRqkt" User-Agent: Evolution 3.50.1 MIME-Version: 1.0 X-Zoho-Virus-Status: 1 Feedback-ID: rr080112280e78616c7daeb907812c91dd0000d40868e1c97d516804eb4ccc306ba1fb0f4079ba10f198f897c0:zu080112265db1c6057b56b14528bd6cbe0000ffcd57bd2915f8ccd03e048c78d2feda42f2142c0c06bf35:rf0801123249b89e0a7c7ef26fc8376e890000a64031560f2a45b8b4add9a0fccca39b1a90ce1d5cb0e179879dd2b36cecea1f68d3fca5: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,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: --=-pNtLUcnKCFjnYKoLRqkt Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi. This patch fixes the segfault when using -flto with libgccjit (bug 111396). You mentioned in bugzilla that this didn't fix the reproducer for you, but it does for me. At first, the test case would not pass, but running "make install" made it pass. Not sure if this is normal. Could you please check if this fixes the issue on your side as well? Since this patch changes files outside of gcc/jit, what tests should I run to make sure it didn't break anything? Thanks for the review. --=-pNtLUcnKCFjnYKoLRqkt Content-Disposition: attachment; filename="0001-libgccjit-Fix-GGC-segfault-when-using-flto.patch" Content-Type: text/x-patch; name="0001-libgccjit-Fix-GGC-segfault-when-using-flto.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSBmMjZkMGYzN2U4ZDgzYmNlMWY1YWE1M2MzOTM5NjFhOGJkNTE4ZDE2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbmkgQm91Y2hlciA8Ym91YW50b0B6b2hvLmNvbT4KRGF0 ZTogRnJpLCAxMCBOb3YgMjAyMyAwOTo1MjozMiAtMDUwMApTdWJqZWN0OiBbUEFUQ0hdIGxpYmdj Y2ppdDogRml4IEdHQyBzZWdmYXVsdCB3aGVuIHVzaW5nIC1mbHRvCgpnY2MvQ2hhbmdlTG9nOgoJ UFIgaml0LzExMTM5NgoJKiBpcGEtZm5zdW1tYXJ5LmNjIChpcGFfZm5zdW1tYXJ5X2NjX2ZpbmFs aXplKTogQ2FsbAoJaXBhX2ZyZWVfc2l6ZV9zdW1tYXJ5LgoJKiBpcGEtaWNmLmNjIChpcGFfaWNm X2NjX2ZpbmFsaXplKTogTmV3IGZ1bmN0aW9uLgoJKiBpcGEtcHJvZmlsZS5jYyAoaXBhX3Byb2Zp bGVfY2NfZmluYWxpemUpOiBOZXcgZnVuY3Rpb24uCgkqIGlwYS1wcm9wLmNjIChpcGFfcHJvcF9j Y19maW5hbGl6ZSk6IE5ldyBmdW5jdGlvbi4KCSogaXBhLXByb3AuaCAoaXBhX3Byb3BfY2NfZmlu YWxpemUpOiBOZXcgZnVuY3Rpb24uCgkqIGlwYS1zcmEuY2MgKGlwYV9zcmFfY2NfZmluYWxpemUp OiBOZXcgZnVuY3Rpb24uCgkqIGlwYS11dGlscy5oIChpcGFfcHJvZmlsZV9jY19maW5hbGl6ZSwg aXBhX2ljZl9jY19maW5hbGl6ZSwKCWlwYV9zcmFfY2NfZmluYWxpemUpOiBOZXcgZnVuY3Rpb25z LgoJKiB0b3BsZXYuY2MgKHRvcGxldjo6ZmluYWxpemUpOiBDYWxsIGlwYV9pY2ZfY2NfZmluYWxp emUsCglpcGFfcHJvcF9jY19maW5hbGl6ZSwgaXBhX3Byb2ZpbGVfY2NfZmluYWxpemUgYW5kCglp cGFfc3JhX2NjX2ZpbmFsaXplCglJbmNsdWRlIGlwYS11dGlscy5oLgoKZ2NjL3Rlc3RzdWl0ZS9D aGFuZ2VMb2c6CglQUiBqaXQvMTExMzk2CgkqIGppdC5kZy9hbGwtbm9uLWZhaWxpbmctdGVzdHMu aDogQWRkIG5ldyB0ZXN0LWdnYy1idWdmaXguCgkqIGppdC5kZy90ZXN0LWdnYy1idWdmaXguYzog TmV3IHRlc3QuCi0tLQogZ2NjL2lwYS1mbnN1bW1hcnkuY2MgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgMSArCiBnY2MvaXBhLWljZi5jYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICA5ICsrKysrKwogZ2NjL2lwYS1wcm9maWxlLmNjICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAxMCArKysrKysKIGdjYy9pcGEtcHJvcC5jYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgMTggKysrKysrKysrKysKIGdjYy9pcGEtcHJvcC5oICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgIDIgKysKIGdjYy9pcGEtc3JhLmNjICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgMTIgKysrKysrKwogZ2NjL2lwYS11dGlscy5oICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgNyArKysrCiBnY2MvdGVzdHN1aXRlL2ppdC5kZy9hbGwtbm9uLWZhaWxpbmctdGVz dHMuaCB8IDEyICsrKysrKy0KIGdjYy90ZXN0c3VpdGUvaml0LmRnL3Rlc3QtZ2djLWJ1Z2ZpeC5j ICAgICAgIHwgMzQgKysrKysrKysrKysrKysrKysrKysKIGdjYy90b3BsZXYuY2MgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgIDUgKysrCiAxMCBmaWxlcyBjaGFuZ2VkLCAxMDkgaW5z ZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3Vp dGUvaml0LmRnL3Rlc3QtZ2djLWJ1Z2ZpeC5jCgpkaWZmIC0tZ2l0IGEvZ2NjL2lwYS1mbnN1bW1h cnkuY2MgYi9nY2MvaXBhLWZuc3VtbWFyeS5jYwppbmRleCBhMjQ5NWZmZTYzZS4uMzRlMDExYzRi NTAgMTAwNjQ0Ci0tLSBhL2djYy9pcGEtZm5zdW1tYXJ5LmNjCisrKyBiL2djYy9pcGEtZm5zdW1t YXJ5LmNjCkBAIC01MDkwLDQgKzUwOTAsNSBAQCB2b2lkCiBpcGFfZm5zdW1tYXJ5X2NjX2ZpbmFs aXplICh2b2lkKQogewogICBpcGFfZnJlZV9mbl9zdW1tYXJ5ICgpOworICBpcGFfZnJlZV9zaXpl X3N1bW1hcnkgKCk7CiB9CmRpZmYgLS1naXQgYS9nY2MvaXBhLWljZi5jYyBiL2djYy9pcGEtaWNm LmNjCmluZGV4IGJiZGZkNDQ1Mzk3Li5iYTZjNjg5OWNlNiAxMDA2NDQKLS0tIGEvZ2NjL2lwYS1p Y2YuY2MKKysrIGIvZ2NjL2lwYS1pY2YuY2MKQEAgLTM2NTcsMyArMzY1NywxMiBAQCBtYWtlX3Bh c3NfaXBhX2ljZiAoZ2NjOjpjb250ZXh0ICpjdHh0KQogewogICByZXR1cm4gbmV3IGlwYV9pY2Y6 OnBhc3NfaXBhX2ljZiAoY3R4dCk7CiB9CisKKy8qIFJlc2V0IGFsbCBzdGF0ZSB3aXRoaW4gaXBh LWljZi5jYyBzbyB0aGF0IHdlIGNhbiByZXJ1biB0aGUgY29tcGlsZXIKKyAgIHdpdGhpbiB0aGUg c2FtZSBwcm9jZXNzLiAgRm9yIHVzZSBieSB0b3BsZXY6OmZpbmFsaXplLiAgKi8KKwordm9pZAor aXBhX2ljZl9jY19maW5hbGl6ZSAodm9pZCkKK3sKKyAgaXBhX2ljZjo6b3B0aW1pemVyID0gTlVM TDsKK30KZGlmZiAtLWdpdCBhL2djYy9pcGEtcHJvZmlsZS5jYyBiL2djYy9pcGEtcHJvZmlsZS5j YwppbmRleCA3OGE0MGExMThiYy4uODA4M2I4MTk1YTggMTAwNjQ0Ci0tLSBhL2djYy9pcGEtcHJv ZmlsZS5jYworKysgYi9nY2MvaXBhLXByb2ZpbGUuY2MKQEAgLTEwNjUsMyArMTA2NSwxMyBAQCBt YWtlX3Bhc3NfaXBhX3Byb2ZpbGUgKGdjYzo6Y29udGV4dCAqY3R4dCkKIHsKICAgcmV0dXJuIG5l dyBwYXNzX2lwYV9wcm9maWxlIChjdHh0KTsKIH0KKworLyogUmVzZXQgYWxsIHN0YXRlIHdpdGhp biBpcGEtcHJvZmlsZS5jYyBzbyB0aGF0IHdlIGNhbiByZXJ1biB0aGUgY29tcGlsZXIKKyAgIHdp dGhpbiB0aGUgc2FtZSBwcm9jZXNzLiAgRm9yIHVzZSBieSB0b3BsZXY6OmZpbmFsaXplLiAgKi8K Kwordm9pZAoraXBhX3Byb2ZpbGVfY2NfZmluYWxpemUgKHZvaWQpCit7CisgIGRlbGV0ZSBjYWxs X3N1bXM7CisgIGNhbGxfc3VtcyA9IE5VTEw7Cit9CmRpZmYgLS1naXQgYS9nY2MvaXBhLXByb3Au Y2MgYi9nY2MvaXBhLXByb3AuY2MKaW5kZXggODI3YmRiNjkxYmEuLjMyY2ZiNzc1NGJlIDEwMDY0 NAotLS0gYS9nY2MvaXBhLXByb3AuY2MKKysrIGIvZ2NjL2lwYS1wcm9wLmNjCkBAIC01OTA0LDUg KzU5MDQsMjMgQEAgaXBjcF90cmFuc2Zvcm1fZnVuY3Rpb24gKHN0cnVjdCBjZ3JhcGhfbm9kZSAq bm9kZSkKICAgcmV0dXJuIG1vZGlmaWVkX21lbV9hY2Nlc3MgPyBUT0RPX3VwZGF0ZV9zc2Ffb25s eV92aXJ0dWFscyA6IDA7CiB9CiAKKy8qIFJlc2V0IGFsbCBzdGF0ZSB3aXRoaW4gaXBhLXByb3Au Y2Mgc28gdGhhdCB3ZSBjYW4gcmVydW4gdGhlIGNvbXBpbGVyCisgICB3aXRoaW4gdGhlIHNhbWUg cHJvY2Vzcy4gIEZvciB1c2UgYnkgdG9wbGV2OjpmaW5hbGl6ZS4gICovCisKK3ZvaWQKK2lwYV9w cm9wX2NjX2ZpbmFsaXplICh2b2lkKQoreworICBpZiAoZnVuY3Rpb25faW5zZXJ0aW9uX2hvb2tf aG9sZGVyKQorICAgIHN5bXRhYi0+cmVtb3ZlX2NncmFwaF9pbnNlcnRpb25faG9vayAoZnVuY3Rp b25faW5zZXJ0aW9uX2hvb2tfaG9sZGVyKTsKKyAgZnVuY3Rpb25faW5zZXJ0aW9uX2hvb2tfaG9s ZGVyID0gTlVMTDsKKworICBpZiAoaXBhX2VkZ2VfYXJnc19zdW0pCisgICAgZ2djX2RlbGV0ZSAo aXBhX2VkZ2VfYXJnc19zdW0pOworICBpcGFfZWRnZV9hcmdzX3N1bSA9IE5VTEw7CisKKyAgaWYg KGlwYV9ub2RlX3BhcmFtc19zdW0pCisgICAgZ2djX2RlbGV0ZSAoaXBhX25vZGVfcGFyYW1zX3N1 bSk7CisgIGlwYV9ub2RlX3BhcmFtc19zdW0gPSBOVUxMOworfQogCiAjaW5jbHVkZSAiZ3QtaXBh LXByb3AuaCIKZGlmZiAtLWdpdCBhL2djYy9pcGEtcHJvcC5oIGIvZ2NjL2lwYS1wcm9wLmgKaW5k ZXggZmNkMGU1YzYzOGYuLjQ0MDljNGFmZWU5IDEwMDY0NAotLS0gYS9nY2MvaXBhLXByb3AuaAor KysgYi9nY2MvaXBhLXByb3AuaApAQCAtMTI1NSw2ICsxMjU1LDggQEAgdHJlZSBpcGNwX2dldF9h Z2dyZWdhdGVfY29uc3QgKHN0cnVjdCBmdW5jdGlvbiAqZnVuYywgdHJlZSBwYXJtLCBib29sIGJ5 X3JlZiwKIGJvb2wgdW5hZGp1c3RlZF9wdHJfYW5kX3VuaXRfb2Zmc2V0ICh0cmVlIG9wLCB0cmVl ICpyZXQsCiAJCQkJICAgICBwb2x5X2ludDY0ICpvZmZzZXRfcmV0KTsKIAordm9pZCBpcGFfcHJv cF9jY19maW5hbGl6ZSAodm9pZCk7CisKIC8qIEZyb20gdHJlZS1zcmEuY2M6ICAqLwogdHJlZSBi dWlsZF9yZWZfZm9yX29mZnNldCAobG9jYXRpb25fdCwgdHJlZSwgcG9seV9pbnQ2NCwgYm9vbCwg dHJlZSwKIAkJCSAgIGdpbXBsZV9zdG10X2l0ZXJhdG9yICosIGJvb2wpOwpkaWZmIC0tZ2l0IGEv Z2NjL2lwYS1zcmEuY2MgYi9nY2MvaXBhLXNyYS5jYwppbmRleCA2ZmZhZDMzNWRiNC4uMmFjNmZl ZTE0YzQgMTAwNjQ0Ci0tLSBhL2djYy9pcGEtc3JhLmNjCisrKyBiL2djYy9pcGEtc3JhLmNjCkBA IC00NzA3LDUgKzQ3MDcsMTcgQEAgbWFrZV9wYXNzX2lwYV9zcmEgKGdjYzo6Y29udGV4dCAqY3R4 dCkKICAgcmV0dXJuIG5ldyBwYXNzX2lwYV9zcmEgKGN0eHQpOwogfQogCisvKiBSZXNldCBhbGwg c3RhdGUgd2l0aGluIGlwYS1zcmEuY2Mgc28gdGhhdCB3ZSBjYW4gcmVydW4gdGhlIGNvbXBpbGVy CisgICB3aXRoaW4gdGhlIHNhbWUgcHJvY2Vzcy4gIEZvciB1c2UgYnkgdG9wbGV2OjpmaW5hbGl6 ZS4gICovCisKK3ZvaWQKK2lwYV9zcmFfY2NfZmluYWxpemUgKHZvaWQpCit7CisgIGlmIChmdW5j X3N1bXMpCisgICAgZ2djX2RlbGV0ZSAoZnVuY19zdW1zKTsKKyAgZnVuY19zdW1zID0gTlVMTDsK KyAgZGVsZXRlIGNhbGxfc3VtczsKKyAgY2FsbF9zdW1zID0gTlVMTDsKK30KIAogI2luY2x1ZGUg Imd0LWlwYS1zcmEuaCIKZGlmZiAtLWdpdCBhL2djYy9pcGEtdXRpbHMuaCBiL2djYy9pcGEtdXRp bHMuaAppbmRleCAwZWVmY2Y0MGQ0NC4uNWYxZTY2MDFmZjggMTAwNjQ0Ci0tLSBhL2djYy9pcGEt dXRpbHMuaAorKysgYi9nY2MvaXBhLXV0aWxzLmgKQEAgLTU3LDYgKzU3LDEzIEBAIGJvb2wgaXBh X21ha2VfZnVuY3Rpb25fcHVyZSAoY2dyYXBoX25vZGUgKiwgYm9vbCwgYm9vbCk7CiAKIC8qIElu IGlwYS1wcm9maWxlLmNjICAqLwogYm9vbCBpcGFfcHJvcGFnYXRlX2ZyZXF1ZW5jeSAoc3RydWN0 IGNncmFwaF9ub2RlICpub2RlKTsKK3ZvaWQgaXBhX3Byb2ZpbGVfY2NfZmluYWxpemUgKHZvaWQp OworCisvKiBJbiBpcGEtaWNmLmNjICAqLwordm9pZCBpcGFfaWNmX2NjX2ZpbmFsaXplICh2b2lk KTsKKworLyogSW4gaXBhLXNyYS5jYyAgKi8KK3ZvaWQgaXBhX3NyYV9jY19maW5hbGl6ZSAodm9p ZCk7CiAKIC8qIEluIGlwYS1kZXZpcnQuY2MgICovCiAKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3Vp dGUvaml0LmRnL2FsbC1ub24tZmFpbGluZy10ZXN0cy5oIGIvZ2NjL3Rlc3RzdWl0ZS9qaXQuZGcv YWxsLW5vbi1mYWlsaW5nLXRlc3RzLmgKaW5kZXggZTc2MjU2M2Y5YmQuLmFlZTBhMzVkMTA0IDEw MDY0NAotLS0gYS9nY2MvdGVzdHN1aXRlL2ppdC5kZy9hbGwtbm9uLWZhaWxpbmctdGVzdHMuaAor KysgYi9nY2MvdGVzdHN1aXRlL2ppdC5kZy9hbGwtbm9uLWZhaWxpbmctdGVzdHMuaApAQCAtMzc3 LDYgKzM3NywxMyBAQAogI3VuZGVmIGNyZWF0ZV9jb2RlCiAjdW5kZWYgdmVyaWZ5X2NvZGUKIAor LyogdGVzdC1nZ2MtYnVnZml4LmMgKi8KKyNkZWZpbmUgY3JlYXRlX2NvZGUgY3JlYXRlX2NvZGVf Z2djX2J1Z2ZpeAorI2RlZmluZSB2ZXJpZnlfY29kZSB2ZXJpZnlfY29kZV9nZ2NfYnVnZml4Cisj aW5jbHVkZSAidGVzdC1nZ2MtYnVnZml4LmMiCisjdW5kZWYgY3JlYXRlX2NvZGUKKyN1bmRlZiB2 ZXJpZnlfY29kZQorCiAvKiBOb3cgZXhwb3NlIHRoZSBpbmRpdmlkdWFsIHRlc3RjYXNlcyBhcyBp bnN0YW5jZXMgb2YgdGhpcyBzdHJ1Y3QuICAqLwogCiBzdHJ1Y3QgdGVzdGNhc2UKQEAgLTUyOSw3 ICs1MzYsMTAgQEAgY29uc3Qgc3RydWN0IHRlc3RjYXNlIHRlc3RjYXNlc1tdID0gewogICAgdmVy aWZ5X2NvZGVfdmVyc2lvbn0sCiAgIHsidm9sYXRpbGUiLAogICAgY3JlYXRlX2NvZGVfdm9sYXRp bGUsCi0gICB2ZXJpZnlfY29kZV92b2xhdGlsZX0KKyAgIHZlcmlmeV9jb2RlX3ZvbGF0aWxlfSwK KyAgeyJnZ2NfYnVnZml4IiwKKyAgIGNyZWF0ZV9jb2RlX2dnY19idWdmaXgsCisgICB2ZXJpZnlf Y29kZV9nZ2NfYnVnZml4fSwKIH07CiAKIGNvbnN0IGludCBudW1fdGVzdGNhc2VzID0gKHNpemVv ZiAodGVzdGNhc2VzKSAvIHNpemVvZiAodGVzdGNhc2VzWzBdKSk7CmRpZmYgLS1naXQgYS9nY2Mv dGVzdHN1aXRlL2ppdC5kZy90ZXN0LWdnYy1idWdmaXguYyBiL2djYy90ZXN0c3VpdGUvaml0LmRn L3Rlc3QtZ2djLWJ1Z2ZpeC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw Li41OWViMzc0YWY4YgotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvaml0LmRnL3Rl c3QtZ2djLWJ1Z2ZpeC5jCkBAIC0wLDAgKzEsMzQgQEAKKy8qIHsgZGctZG8gY29tcGlsZSB7IHRh cmdldCB4ODZfNjQtKi0qIH0gfSAqLworCisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8 c3RkaW8uaD4KKworI2luY2x1ZGUgImxpYmdjY2ppdC5oIgorCisjaW5jbHVkZSAiaGFybmVzcy5o IgorCit2b2lkCitjcmVhdGVfY29kZSAoZ2NjX2ppdF9jb250ZXh0ICpjdHh0LCB2b2lkICp1c2Vy X2RhdGEpCit7CisgIGdjY19qaXRfY29udGV4dF9hZGRfY29tbWFuZF9saW5lX29wdGlvbiAoY3R4 dCwgIi1mbHRvIik7CisgIGdjY19qaXRfY29udGV4dF9hZGRfZHJpdmVyX29wdGlvbiAoY3R4dCwg Ii1ub3N0ZGxpYiIpOworCisgIGdjY19qaXRfdHlwZSAqdHlwZV9pbnQgPSBnY2Nfaml0X2NvbnRl eHRfZ2V0X3R5cGUgKGN0eHQsIEdDQ19KSVRfVFlQRV9JTlQpOworICBnY2Nfaml0X3BhcmFtICpw YXJhbXNfZm9yX2Z1bmNfbWFpblswXSA9IHsKKyAgfTsKKyAgZ2NjX2ppdF9mdW5jdGlvbiAqZnVu Y19tYWluID0KKyAgICBnY2Nfaml0X2NvbnRleHRfbmV3X2Z1bmN0aW9uIChjdHh0LCBOVUxMLCBH Q0NfSklUX0ZVTkNUSU9OX0VYUE9SVEVELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHR5cGVfaW50LCAibWFpbiIsIDAsIHBhcmFtc19mb3JfZnVuY19tYWluLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDApOworICBnY2Nfaml0X2Jsb2NrICpibG9ja19zdGFy dCA9CisgICAgZ2NjX2ppdF9mdW5jdGlvbl9uZXdfYmxvY2sgKGZ1bmNfbWFpbiwgInN0YXJ0Iik7 CisgIGdjY19qaXRfcnZhbHVlICpydmFsdWVfX2ludF80MiA9CisgICAgZ2NjX2ppdF9jb250ZXh0 X25ld19ydmFsdWVfZnJvbV9pbnQgKGN0eHQsIHR5cGVfaW50LCA0Mik7CisgIGdjY19qaXRfYmxv Y2tfZW5kX3dpdGhfcmV0dXJuIChibG9ja19zdGFydCwgTlVMTCwgcnZhbHVlX19pbnRfNDIpOwor fQorCit2b2lkCit2ZXJpZnlfY29kZSAoZ2NjX2ppdF9jb250ZXh0ICpjdHh0LCBnY2Nfaml0X3Jl c3VsdCAqcmVzdWx0KQoreworICBDSEVDS19OT05fTlVMTCAocmVzdWx0KTsKK30KZGlmZiAtLWdp dCBhL2djYy90b3BsZXYuY2MgYi9nY2MvdG9wbGV2LmNjCmluZGV4IGQ4ZTg5NzhkZDU1Li4yYTg3 NDNmN2JiNCAxMDA2NDQKLS0tIGEvZ2NjL3RvcGxldi5jYworKysgYi9nY2MvdG9wbGV2LmNjCkBA IC03NSw2ICs3NSw3IEBAIGFsb25nIHdpdGggR0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICBJ ZiBub3Qgc2VlCiAjaW5jbHVkZSAic3ltYm9sLXN1bW1hcnkuaCIKICNpbmNsdWRlICJ0cmVlLXZy cC5oIgogI2luY2x1ZGUgImlwYS1wcm9wLmgiCisjaW5jbHVkZSAiaXBhLXV0aWxzLmgiCiAjaW5j bHVkZSAiZ2NzZS5oIgogI2luY2x1ZGUgIm9tcC1vZmZsb2FkLmgiCiAjaW5jbHVkZSAiZWRpdC1j b250ZXh0LmgiCkBAIC0yMzM3LDcgKzIzMzgsMTEgQEAgdG9wbGV2OjpmaW5hbGl6ZSAodm9pZCkK ICAgaXBhX2Zuc3VtbWFyeV9jY19maW5hbGl6ZSAoKTsKICAgaXBhX21vZHJlZl9jY19maW5hbGl6 ZSAoKTsKICAgaXBhX2VkZ2VfbW9kaWZpY2F0aW9uc19maW5hbGl6ZSAoKTsKKyAgaXBhX2ljZl9j Y19maW5hbGl6ZSAoKTsKIAorICBpcGFfcHJvcF9jY19maW5hbGl6ZSAoKTsKKyAgaXBhX3Byb2Zp bGVfY2NfZmluYWxpemUgKCk7CisgIGlwYV9zcmFfY2NfZmluYWxpemUgKCk7CiAgIGNncmFwaF9j Y19maW5hbGl6ZSAoKTsKICAgY2dyYXBodW5pdF9jY19maW5hbGl6ZSAoKTsKICAgc3ltdGFiX3Ro dW5rc19jY19maW5hbGl6ZSAoKTsKLS0gCjIuNDIuMAoK --=-pNtLUcnKCFjnYKoLRqkt--