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 144153858D39; Thu, 22 Feb 2024 17:40:44 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 144153858D39 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 144153858D39 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=136.143.188.90 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1708623647; cv=pass; b=tmbBERpHkz3uDHWFoo2fKCG4mrCB6qrTU2nBswRg8vcolbhCPFgmEL5TBL2VWmJqM0tZHk+8KvAVAnbKCHcLzeMwvXkuMRHsprrmRMEuFlvVM/fwpVxZ0Bvl34F9RFHBdIw7g3JU7X6EgNm0t2Dzesyox646bXbuecavzCDEbUM= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1708623647; c=relaxed/simple; bh=lpw5Hl6W4SJoPLO4UpWkvVdbIQIZpbi0QBxN+2rJtvQ=; h=DKIM-Signature:Message-ID:Subject:From:To:Date:MIME-Version; b=KvZUerrJbdbEih4iUHaIi54tNT+5bTGyv0QVKAmcdwpJ43vTLvcMzHLsxiopQpRzSK+fybWlxilpvyLZ2GgvRywYFHpe41FNpuNn03bGizfALx+eearznFG740vmznW2MTNQbh5LkVjNUXsg4AWVOY59R7VYbT9CGDJmhdR637E= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; t=1708623639; cv=none; d=zohomail.com; s=zohoarc; b=LBKHrEavm7Iiy4HDJLN5nquoU+Rb1NTJHXBRov0wtal6HxFSlHpZRisci1CtZvvRkqn31mS7Paje1OHRpltbChZl0lHiTEyL9YgzLbL+fr2r44/WBFjhpSlUaMdW31sqS7/0i+yDXXXZel4pfCZu/Dm6BiT2ISjta2/PaT3FunM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1708623639; h=Content-Type:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=MG8FksGKJJoRd+rLov2dM/gLEk+r4PxNtiIew4jpCAc=; b=BMLnrBIKKfnQhpRG9XU7ZwzvTaverhb4RMuWDLS/eiC+UyPk55tF9unCAtGMltOwIkoNZ5APWRi5bB71qVDSNtkPZ0sH8WlzX6WN/ZMtmN0BIgNS7FO/vSkEHVsNdiaWISuh1jJuhX1huRQtB3IhdXljigOHBZMCn9+2EoQHOEs= 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=1708623639; s=zm2022; d=zoho.com; i=bouanto@zoho.com; h=Message-ID:Subject:Subject:From:From:To:To:Date:Date:In-Reply-To:References:Content-Type:MIME-Version:Feedback-ID:Message-Id:Reply-To:Cc; bh=MG8FksGKJJoRd+rLov2dM/gLEk+r4PxNtiIew4jpCAc=; b=eD/QLloOtnOxNiJTxU6suHEjdtnoNV3WNoYRQ5y4NWyJX6CKYYZyXoBOc8aSupMj g6iJ+4wOhdZBDzv2SvHAa+KxXEZxgHSHjqeV/8L/E7VXIPC2dX4F03qgP5ml/oNFpFT qyTJtYpVqhdMZ0r/Lg4nFWguECqOlYtNFH1G4Inc= Received: from [192.168.1.172] (38.87.11.6 [38.87.11.6]) by mx.zohomail.com with SMTPS id 1708623638390262.1915359272366; Thu, 22 Feb 2024 09:40:38 -0800 (PST) Message-ID: <53377be068c8f1ae87181acdde28206630535a5f.camel@zoho.com> Subject: Re: [PATCH] libgccjit: Allow comparing aligned int types From: Antoni Boucher To: David Malcolm , "jit@gcc.gnu.org" , "gcc-patches@gcc.gnu.org" Date: Thu, 22 Feb 2024 12:40:36 -0500 In-Reply-To: <06d63ba528f086da2c195ea5b5a07ae4dd33c132.camel@redhat.com> References: <9e79a3d614b1db87c564b0e50f7091c2c203d246.camel@zoho.com> <06d63ba528f086da2c195ea5b5a07ae4dd33c132.camel@redhat.com> 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="=-57C2DWMVCmUUki43+nCC" User-Agent: Evolution 3.50.3 MIME-Version: 1.0 X-Zoho-Virus-Status: 1 X-Zoho-AV-Stamp: zmail-av-1.1.0/208.576.94 Feedback-ID: rr0801122878adebe7e7a629cc522c8afc000025b0a067b500f43d8876a9ca3497ecb9c07cf752295d56ef88bb:zu08011226b84184a5e720711550f46c14000040b4c4ef6d67400c8309a710514657563489a4f7a6636a02:rf080112313a62e3eb092b4af89b9625770000cc02efc335f19e7aa297df3a7e12b52a0f3559e805fc64e52b3206a0caa513ddda34c8:ZohoMail X-ZohoMailClient: External X-Spam-Status: No, score=-10.0 required=5.0 tests=BAYES_00,BODY_8BITS,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: --=-57C2DWMVCmUUki43+nCC Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Thanks for the review. Here's the updated patch. On Wed, 2024-01-24 at 12:18 -0500, David Malcolm wrote: > On Thu, 2023-12-21 at 08:33 -0500, Antoni Boucher wrote: > > Hi. > > This patch allows comparing aligned integer types as equal. > > There's a TODO in the code about whether we should check that the > > alignment is equal. > > What are your thoughts on this? >=20 > I think we should check for equal alignment. >=20 > [...snip...] >=20 > > diff --git a/gcc/testsuite/jit.dg/test-types.c > > b/gcc/testsuite/jit.dg/test-types.c > > index a01944e35fa..c2f4d2bcb3d 100644 > > --- a/gcc/testsuite/jit.dg/test-types.c > > +++ b/gcc/testsuite/jit.dg/test-types.c > > @@ -485,11 +485,15 @@ verify_code (gcc_jit_context *ctxt, > > gcc_jit_result *result) > > =C2=A0 > > =C2=A0=C2=A0 CHECK_VALUE (z.m_FILE_ptr, stderr); > > =C2=A0 > > +=C2=A0 gcc_jit_type *long_type =3D gcc_jit_context_get_type (ctxt, > > GCC_JIT_TYPE_LONG); > > +=C2=A0 gcc_jit_type *int64_type =3D gcc_jit_context_get_type (ctxt, > > GCC_JIT_TYPE_INT64_T); > > =C2=A0=C2=A0 if (sizeof(long) =3D=3D 8) > > -=C2=A0=C2=A0=C2=A0 CHECK (gcc_jit_compatible_types ( > > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 gcc_jit_context_get_type (ctxt, GCC_JIT= _TYPE_LONG), > > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 gcc_jit_context_get_type (ctxt, GCC_JIT= _TYPE_INT64_T))); > > +=C2=A0=C2=A0=C2=A0 CHECK (gcc_jit_compatible_types (long_type, int64_t= ype)); > > =C2=A0 > > =C2=A0=C2=A0 CHECK_VALUE (gcc_jit_type_get_size (gcc_jit_context_get_ty= pe > > (ctxt, GCC_JIT_TYPE_FLOAT)), sizeof (float)); > > =C2=A0=C2=A0 CHECK_VALUE (gcc_jit_type_get_size (gcc_jit_context_get_ty= pe > > (ctxt, GCC_JIT_TYPE_DOUBLE)), sizeof (double)); > > + > > +=C2=A0 gcc_jit_type *aligned_long =3D gcc_jit_type_get_aligned > > (long_type, 4); > > +=C2=A0 gcc_jit_type *aligned_int64 =3D gcc_jit_type_get_aligned > > (int64_type, 4); > > +=C2=A0 CHECK (gcc_jit_compatible_types (aligned_long, aligned_int64)); >=20 > This CHECK should be guarded on sizeof(long) =3D=3D 8 like the check > above. >=20 >=20 > Dave >=20 --=-57C2DWMVCmUUki43+nCC Content-Disposition: attachment; filename="0001-libgccjit-Allow-comparing-aligned-int-types.patch" Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="0001-libgccjit-Allow-comparing-aligned-int-types.patch"; charset="UTF-8" RnJvbSA4OTlhMDU1NWZhMWIxNzk2ZDI5YjU5YTZhNDFkYjg1NGM0NmY2YzA5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbmkgQm91Y2hlciA8Ym91YW50b0B6b2hvLmNvbT4KRGF0 ZTogU3VuLCA4IE9jdCAyMDIzIDA5OjEyOjEyIC0wNDAwClN1YmplY3Q6IFtQQVRDSF0gbGliZ2Nj aml0OiBBbGxvdyBjb21wYXJpbmcgYWxpZ25lZCBpbnQgdHlwZXMKCmdjYy9qaXQvQ2hhbmdlTG9n OgoKCSogaml0LWNvbW1vbi5oOiBBZGQgZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiBtZW1lbnRvX29m X2dldF9hbGlnbmVkLgoJKiBqaXQtcmVjb3JkaW5nLmggKHR5cGU6OmlzX3NhbWVfdHlwZV9hcyk6 IENvbXBhcmUgaW50ZWdlcgoJdHlwZXMuCgkoZHluX2Nhc3RfYWxpZ25lZF90eXBlKTogTmV3IG1l dGhvZC4KCSh0eXBlOjppc19hbGlnbmVkLCBtZW1lbnRvX29mX2dldF9hbGlnbmVkOjppc19zYW1l X3R5cGVfYXMsCgltZW1lbnRvX29mX2dldF9hbGlnbmVkOjppc19hbGlnbmVkKTogbmV3IG1ldGhv ZHMuCgpnY2MvdGVzdHN1aXRlL0NoYW5nZUxvZzoKCgkqIGppdC5kZy90ZXN0LXR5cGVzLmM6IEFk ZCBjaGVja3MgY29tcGFyaW5nIGFsaWduZWQgdHlwZXMuCi0tLQogZ2NjL2ppdC9qaXQtY29tbW9u LmggICAgICAgICAgICAgIHwgIDEgKwogZ2NjL2ppdC9qaXQtcmVjb3JkaW5nLmggICAgICAgICAg IHwgMzAgKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tCiBnY2MvdGVzdHN1aXRlL2ppdC5k Zy90ZXN0LXR5cGVzLmMgfCAxMSArKysrKysrKy0tLQogMyBmaWxlcyBjaGFuZ2VkLCAzMiBpbnNl cnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9nY2Mvaml0L2ppdC1jb21t b24uaCBiL2djYy9qaXQvaml0LWNvbW1vbi5oCmluZGV4IDFlMzM1ODc4YjU2Li41M2E2ZGNjZTc5 ZiAxMDA2NDQKLS0tIGEvZ2NjL2ppdC9qaXQtY29tbW9uLmgKKysrIGIvZ2NjL2ppdC9qaXQtY29t bW9uLmgKQEAgLTEzMyw2ICsxMzMsNyBAQCBuYW1lc3BhY2UgcmVjb3JkaW5nIHsKICAgICBjbGFz cyBzdGF0ZW1lbnQ7CiAgICAgICBjbGFzcyBleHRlbmRlZF9hc207CiAgICAgY2xhc3MgY2FzZV87 CisgICAgY2xhc3MgbWVtZW50b19vZl9nZXRfYWxpZ25lZDsKICAgY2xhc3MgdG9wX2xldmVsX2Fz bTsKIAogICAvKiBFbmQgb2YgcmVjb3JkaW5nIHR5cGVzLiAqLwpkaWZmIC0tZ2l0IGEvZ2NjL2pp dC9qaXQtcmVjb3JkaW5nLmggYi9nY2Mvaml0L2ppdC1yZWNvcmRpbmcuaAppbmRleCBkOGQxNmY0 ZmUyOS4uOWFmOTUyY2MyMTcgMTAwNjQ0Ci0tLSBhL2djYy9qaXQvaml0LXJlY29yZGluZy5oCisr KyBiL2djYy9qaXQvaml0LXJlY29yZGluZy5oCkBAIC01NTIsNiArNTUyLDcgQEAgcHVibGljOgog ICB2aXJ0dWFsIGZ1bmN0aW9uX3R5cGUgKmFzX2FfZnVuY3Rpb25fdHlwZSgpIHsgZ2NjX3VucmVh Y2hhYmxlICgpOyByZXR1cm4gTlVMTDsgfQogICB2aXJ0dWFsIHN0cnVjdF8gKmR5bl9jYXN0X3N0 cnVjdCAoKSB7IHJldHVybiBOVUxMOyB9CiAgIHZpcnR1YWwgdmVjdG9yX3R5cGUgKmR5bl9jYXN0 X3ZlY3Rvcl90eXBlICgpIHsgcmV0dXJuIE5VTEw7IH0KKyAgdmlydHVhbCBtZW1lbnRvX29mX2dl dF9hbGlnbmVkICpkeW5fY2FzdF9hbGlnbmVkX3R5cGUgKCkgeyByZXR1cm4gTlVMTDsgfQogCiAg IC8qIElzIGl0IHR5cGVzYWZlIHRvIGNvcHkgdG8gdGhpcyB0eXBlIGZyb20gcnR5cGU/ICAqLwog ICB2aXJ0dWFsIGJvb2wgYWNjZXB0c193cml0ZXNfZnJvbSAodHlwZSAqcnR5cGUpCkBAIC01NjIs NiArNTYzLDE0IEBAIHB1YmxpYzoKIAogICB2aXJ0dWFsIGJvb2wgaXNfc2FtZV90eXBlX2FzICh0 eXBlICpvdGhlcikKICAgeworICAgIGlmIChpc19pbnQgKCkKKwkJICYmIG90aGVyLT5pc19pbnQg KCkKKwkJICYmIGdldF9zaXplICgpID09IG90aGVyLT5nZXRfc2l6ZSAoKQorCQkgJiYgaXNfc2ln bmVkICgpID09IG90aGVyLT5pc19zaWduZWQgKCkpCisgICAgeworICAgICAgLyogTEhTICh0aGlz KSBpcyBhbiBpbnRlZ2VyIG9mIHRoZSBzYW1lIHNpemUgYW5kIHNpZ24gYXMgcnR5cGUuICAqLwor ICAgICAgcmV0dXJuIHRydWU7CisgICAgfQogICAgIHJldHVybiB0aGlzID09IG90aGVyOwogICB9 CiAKQEAgLTU3OSw2ICs1ODgsNyBAQCBwdWJsaWM6CiAgIHZpcnR1YWwgdHlwZSAqaXNfdm9sYXRp bGUgKCkgeyByZXR1cm4gTlVMTDsgfQogICB2aXJ0dWFsIHR5cGUgKmlzX3Jlc3RyaWN0ICgpIHsg cmV0dXJuIE5VTEw7IH0KICAgdmlydHVhbCB0eXBlICppc19jb25zdCAoKSB7IHJldHVybiBOVUxM OyB9CisgIHZpcnR1YWwgdHlwZSAqaXNfYWxpZ25lZCAoKSB7IHJldHVybiBOVUxMOyB9CiAgIHZp cnR1YWwgdHlwZSAqaXNfYXJyYXkgKCkgPSAwOwogICB2aXJ0dWFsIHN0cnVjdF8gKmlzX3N0cnVj dCAoKSB7IHJldHVybiBOVUxMOyB9CiAgIHZpcnR1YWwgYm9vbCBpc191bmlvbiAoKSBjb25zdCB7 IHJldHVybiBmYWxzZTsgfQpAQCAtNjMzLDEzICs2NDMsNiBAQCBwdWJsaWM6CiAJICAgICAgIGFj Y2VwdCBpdDogICovCiAJICAgIHJldHVybiB0cnVlOwogCSAgfQotICAgICAgfSBlbHNlIGlmIChp c19pbnQgKCkKLQkJICYmIHJ0eXBlLT5pc19pbnQgKCkKLQkJICYmIGdldF9zaXplICgpID09IHJ0 eXBlLT5nZXRfc2l6ZSAoKQotCQkgJiYgaXNfc2lnbmVkICgpID09IHJ0eXBlLT5pc19zaWduZWQg KCkpCi0gICAgICB7Ci0JLyogTEhTICh0aGlzKSBpcyBhbiBpbnRlZ2VyIG9mIHRoZSBzYW1lIHNp emUgYW5kIHNpZ24gYXMgcnR5cGUuICAqLwotCXJldHVybiB0cnVlOwogICAgICAgfQogCiAgICAg cmV0dXJuIHR5cGU6OmFjY2VwdHNfd3JpdGVzX2Zyb20gKHJ0eXBlKTsKQEAgLTgxNiwxMCArODE5 LDIzIEBAIHB1YmxpYzoKICAgOiBkZWNvcmF0ZWRfdHlwZSAob3RoZXJfdHlwZSksCiAgICAgbV9h bGlnbm1lbnRfaW5fYnl0ZXMgKGFsaWdubWVudF9pbl9ieXRlcykge30KIAorICBib29sIGlzX3Nh bWVfdHlwZV9hcyAodHlwZSAqb3RoZXIpIGZpbmFsIG92ZXJyaWRlCisgIHsKKyAgICBpZiAoIW90 aGVyLT5pc19hbGlnbmVkICgpKQorICAgIHsKKyAgICAgIHJldHVybiBtX290aGVyX3R5cGUtPmlz X3NhbWVfdHlwZV9hcyAob3RoZXIpOworICAgIH0KKyAgICByZXR1cm4gbV9hbGlnbm1lbnRfaW5f Ynl0ZXMgPT0gb3RoZXItPmR5bl9jYXN0X2FsaWduZWRfdHlwZSAoKS0+bV9hbGlnbm1lbnRfaW5f Ynl0ZXMKKyAgICAgICYmIG1fb3RoZXJfdHlwZS0+aXNfc2FtZV90eXBlX2FzIChvdGhlci0+aXNf YWxpZ25lZCAoKSk7CisgIH0KKworICB0eXBlICppc19hbGlnbmVkICgpIGZpbmFsIG92ZXJyaWRl IHsgcmV0dXJuIG1fb3RoZXJfdHlwZTsgfQorCiAgIC8qIFN0cmlwIG9mZiB0aGUgYWxpZ25tZW50 LCBnaXZpbmcgdGhlIHVuZGVybHlpbmcgdHlwZS4gICovCiAgIHR5cGUgKnVucXVhbGlmaWVkICgp IGZpbmFsIG92ZXJyaWRlIHsgcmV0dXJuIG1fb3RoZXJfdHlwZTsgfQogCiAgIHZvaWQgcmVwbGF5 X2ludG8gKHJlcGxheWVyICopIGZpbmFsIG92ZXJyaWRlOworICBtZW1lbnRvX29mX2dldF9hbGln bmVkICpkeW5fY2FzdF9hbGlnbmVkX3R5cGUgKCkgZmluYWwgb3ZlcnJpZGUgeyByZXR1cm4gdGhp czsgfQogCiBwcml2YXRlOgogICBzdHJpbmcgKiBtYWtlX2RlYnVnX3N0cmluZyAoKSBmaW5hbCBv dmVycmlkZTsKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvaml0LmRnL3Rlc3QtdHlwZXMuYyBi L2djYy90ZXN0c3VpdGUvaml0LmRnL3Rlc3QtdHlwZXMuYwppbmRleCBhMDE5NDRlMzVmYS4uZDAx NmJiNWQwMDEgMTAwNjQ0Ci0tLSBhL2djYy90ZXN0c3VpdGUvaml0LmRnL3Rlc3QtdHlwZXMuYwor KysgYi9nY2MvdGVzdHN1aXRlL2ppdC5kZy90ZXN0LXR5cGVzLmMKQEAgLTQ4NSwxMSArNDg1LDE2 IEBAIHZlcmlmeV9jb2RlIChnY2Nfaml0X2NvbnRleHQgKmN0eHQsIGdjY19qaXRfcmVzdWx0ICpy ZXN1bHQpCiAKICAgQ0hFQ0tfVkFMVUUgKHoubV9GSUxFX3B0ciwgc3RkZXJyKTsKIAorICBnY2Nf aml0X3R5cGUgKmxvbmdfdHlwZSA9IGdjY19qaXRfY29udGV4dF9nZXRfdHlwZSAoY3R4dCwgR0ND X0pJVF9UWVBFX0xPTkcpOworICBnY2Nfaml0X3R5cGUgKmludDY0X3R5cGUgPSBnY2Nfaml0X2Nv bnRleHRfZ2V0X3R5cGUgKGN0eHQsIEdDQ19KSVRfVFlQRV9JTlQ2NF9UKTsKICAgaWYgKHNpemVv Zihsb25nKSA9PSA4KQotICAgIENIRUNLIChnY2Nfaml0X2NvbXBhdGlibGVfdHlwZXMgKAotICAg ICAgZ2NjX2ppdF9jb250ZXh0X2dldF90eXBlIChjdHh0LCBHQ0NfSklUX1RZUEVfTE9ORyksCi0g ICAgICBnY2Nfaml0X2NvbnRleHRfZ2V0X3R5cGUgKGN0eHQsIEdDQ19KSVRfVFlQRV9JTlQ2NF9U KSkpOworICAgIENIRUNLIChnY2Nfaml0X2NvbXBhdGlibGVfdHlwZXMgKGxvbmdfdHlwZSwgaW50 NjRfdHlwZSkpOwogCiAgIENIRUNLX1ZBTFVFIChnY2Nfaml0X3R5cGVfZ2V0X3NpemUgKGdjY19q aXRfY29udGV4dF9nZXRfdHlwZSAoY3R4dCwgR0NDX0pJVF9UWVBFX0ZMT0FUKSksIHNpemVvZiAo ZmxvYXQpKTsKICAgQ0hFQ0tfVkFMVUUgKGdjY19qaXRfdHlwZV9nZXRfc2l6ZSAoZ2NjX2ppdF9j b250ZXh0X2dldF90eXBlIChjdHh0LCBHQ0NfSklUX1RZUEVfRE9VQkxFKSksIHNpemVvZiAoZG91 YmxlKSk7CisKKyAgZ2NjX2ppdF90eXBlICphbGlnbmVkX2xvbmcgPSBnY2Nfaml0X3R5cGVfZ2V0 X2FsaWduZWQgKGxvbmdfdHlwZSwgNCk7CisgIGdjY19qaXRfdHlwZSAqYWxpZ25lZF9pbnQ2NCA9 IGdjY19qaXRfdHlwZV9nZXRfYWxpZ25lZCAoaW50NjRfdHlwZSwgNCk7CisgIGlmIChzaXplb2Yo bG9uZykgPT0gOCkKKyAgICBDSEVDSyAoZ2NjX2ppdF9jb21wYXRpYmxlX3R5cGVzIChhbGlnbmVk X2xvbmcsIGFsaWduZWRfaW50NjQpKTsKIH0KLS0gCjIuNDMuMAoK --=-57C2DWMVCmUUki43+nCC--