From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTP id 30DBD39A801C for ; Fri, 16 Jul 2021 13:02:45 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 30DBD39A801C Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-164-yD8Hwt-UO9KAYJ_WIQfIpg-1; Fri, 16 Jul 2021 09:02:43 -0400 X-MC-Unique: yD8Hwt-UO9KAYJ_WIQfIpg-1 Received: by mail-wm1-f70.google.com with SMTP id l17-20020a05600c4f11b0290225ef65c35dso2350063wmq.2 for ; Fri, 16 Jul 2021 06:02:43 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=TsV6dH0m9GT0bw6Km69Ma9AkK9V1qlVDhXoQz/cK9S4=; b=WH1ZJU4sOAw7IlFeIdDc4lho7/poCfqFnfAPdk1M6BwvYxHOjQ/x5P/VIwH2MTXQ98 aUFyWKrS2zYlbO65jBoheY4znKeqezyVXuLSCCy7YmZ0P+skVsAg3aTKJnGsdrRx3OMi c5GafVGdW8o9GB8HVdb0rAUI36a2U6qCK0w0IPeNLVbtwORN6Jpl33tVxaX+nhVVuZHE J4sxl0Sah6c90dOzfqDIhq7m8B+xvXQ4O09fE17wupbZeZjIrPuzgMPES+32sYjrDu/9 rGzdHJpIBHrHdzL3tXg3FJTuGsFCDE/zqDO/lu8ew0cNXCvr5489fsqxMM2qDSmzXoJk 6s4Q== X-Gm-Message-State: AOAM5335ABe+9L3aqkK9fHiFSUH76Z3VlXe4qWAmwNvEoLWFFGR1Accc HLRWh8wX2dfemWjkwM4lbFo8YQHtkEN5Pz9rYUoC/DwI7LialmurkAyU20iERO9eaBFh/HXLjpb jT/kIl97YhquFR+ZE1wRPUHEzHBdLo24= X-Received: by 2002:a05:600c:3201:: with SMTP id r1mr10416646wmp.41.1626440561107; Fri, 16 Jul 2021 06:02:41 -0700 (PDT) X-Google-Smtp-Source: ABdhPJymCjINbc3JWcJPOL9V0KboT+FfNU+X0r9PuUQEBALI2MEePoSUSB8HMLKhJDjdJwob5jwy4KyptTxQXgH711Q= X-Received: by 2002:a05:600c:3201:: with SMTP id r1mr10416280wmp.41.1626440557191; Fri, 16 Jul 2021 06:02:37 -0700 (PDT) MIME-Version: 1.0 References: <20210716082709.GD2380545@tucnak> <20210716082906.GE2380545@tucnak> In-Reply-To: From: Jonathan Wakely Date: Fri, 16 Jul 2021 14:02:26 +0100 Message-ID: Subject: [PATCH] libstdc++: Use __extension__ instead of diagnostic pragmas (was: Suppress pedantic warnings about __int128) To: "libstdc++" Cc: Jakub Jelinek , gcc-patches X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: multipart/mixed; boundary="000000000000a911da05c73d33d2" X-Spam-Status: No, score=-13.1 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, TXREP 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: libstdc++@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libstdc++ mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 16 Jul 2021 13:02:47 -0000 --000000000000a911da05c73d33d2 Content-Type: text/plain; charset="UTF-8" On Fri, 16 Jul 2021 at 12:29, Jonathan Wakely wrote: > Hmm, in fact it seems that we can just use the __uint128_t typedef > instead, which doesn't give a pedwarn: > > using __rep = __uint128_t; > > Is that typedef always available if __int128 is? There's a comment in > gcc/c-family/c-common.c that I don't understand: > > #if HOST_BITS_PER_WIDE_INT >= 64 > /* Note that this is different than the __int128 type that's part of > the generic __intN support. */ > if (targetm.scalar_mode_supported_p (TImode)) > lang_hooks.decls.pushdecl (build_decl (UNKNOWN_LOCATION, > TYPE_DECL, > get_identifier ("__int128_t"), > intTI_type_node)); > #endif > > They are the same type in C++, so what is "different"? Is it possible > for __int128 to be different from a TImode integer? As discussed on IRC, I'm going to add a configure check that __int128 and __int128_t are the same, and similarly for the unsigned versions. That will allow us to use __int128_t and __uint128_t to avoid the warnings (assuming GCC doesn't change to warn consistently for the non-standard typedefs as well as the non-standard types). For now, I'll just use __extension__ consistently everywhere. I'm testing the attached patch that does that. --000000000000a911da05c73d33d2 Content-Type: text/plain; charset="US-ASCII"; name="patch.txt" Content-Disposition: attachment; filename="patch.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kr6cn1xj0 Y29tbWl0IGQ3NGQ4MGM4NTBmNzBkNjgxMDAzMzZjNWJhMGMxNjZlMjJiYzVlZjYKQXV0aG9yOiBK b25hdGhhbiBXYWtlbHkgPGp3YWtlbHlAcmVkaGF0LmNvbT4KRGF0ZTogICBGcmkgSnVsIDE2IDEz OjIzOjA2IDIwMjEKCiAgICBsaWJzdGRjKys6IFVzZSBfX2V4dGVuc2lvbl9fIGluc3RlYWQgb2Yg ZGlhZ25vc3RpYyBwcmFnbWFzCiAgICAKICAgIFRoaXMgcmV2ZXJ0cyBjMTY3NjY1MWI2YzQxN2U4 ZjJiMjc2YTI4MTk5ZDc2OTQzODM0Mjc3IGFuZCB1c2VzIHRoZQogICAgX19leHRlbnNpb25fXyBr ZXl3b3JkIHRvIHByZXZlbnQgcGVkYW50aWMgd2FybmluZ3MgaW5zdGVhZCBvZiBkaWFnbm9zdGlj CiAgICBwcmFnbWFzLgogICAgCiAgICBUaGlzIGFsc28gYWRkcyB0aGUgX19leHRlbnNpb25fXyBr ZXl3b3JkIGluIDxsaW1pdHM+IGFuZCA8Yml0cy9yYW5kb20uaD4KICAgIHdoZXJlIHRoZXJlIGFy ZSBzb21lIG1vcmUgd2FybmluZ3MgdGhhdCBJIG1pc3NlZCBpbiB0aGUgcHJldmlvdXMgY29tbWl0 LgogICAgCiAgICBsaWJzdGRjKystdjMvQ2hhbmdlTG9nOgogICAgCiAgICAgICAgICAgICogaW5j bHVkZS9iaXRzL2NwcF90eXBlX3RyYWl0cy5oIChfX0lOVF9OKTogVXNlIF9fZXh0ZW5zaW9uX18K ICAgICAgICAgICAgaW5zdGVhZCBvZiBkaWFnbm9zdGljIHByYWdtYXMuCiAgICAgICAgICAgICog aW5jbHVkZS9iaXRzL2Z1bmN0aW9uYWxfaGFzaC5oOiBMaWtld2lzZS4KICAgICAgICAgICAgKiBp bmNsdWRlL2JpdHMvaXRlcmF0b3JfY29uY2VwdHMuaCAoX19pc19zaWduZWRfaW50MTI4KQogICAg ICAgICAgICAoX19pc191bnNpZ25lZF9pbnQxMjgpOiBMaWtld2lzZS4KICAgICAgICAgICAgKiBp bmNsdWRlL2JpdHMvbWF4X3NpemVfdHlwZS5oIChfX21heF9zaXplX3R5cGUpOiBMaWtld2lzZS4K ICAgICAgICAgICAgKG51bWVyaWNfbGltaXRzPF9fbWF4X3NpemVfdHlwZT4pOiBMaWtld2lzZS4K ICAgICAgICAgICAgKiBpbmNsdWRlL2JpdHMvc3RkX2Ficy5oIChhYnMpOiBMaWtld2lzZS4KICAg ICAgICAgICAgKiBpbmNsdWRlL2JpdHMvc3RsX2FsZ29iYXNlLmggKF9fc2l6ZV90b19pbnRlZ2Vy KTogTGlrZXdpc2UuCiAgICAgICAgICAgICogaW5jbHVkZS9iaXRzL3VuaWZvcm1faW50X2Rpc3Qu aCAodW5pZm9ybV9pbnRfZGlzdHJpYnV0aW9uKToKICAgICAgICAgICAgTGlrZXdpc2UuCiAgICAg ICAgICAgICogaW5jbHVkZS9leHQvbnVtZXJpY190cmFpdHMuaCAoX0dMSUJDWFhfSU5UX05fVFJB SVRTKToKICAgICAgICAgICAgTGlrZXdpc2UuCiAgICAgICAgICAgICogaW5jbHVkZS9zdGQvdHlw ZV90cmFpdHMgKF9faXNfaW50ZWdyYWxfaGVscGVyPElOVF9OPikKICAgICAgICAgICAgKF9faXNf c2lnbmVkX2ludGVnZXIsIF9faXNfdW5zaWduZWRfaW50ZWdlcikKICAgICAgICAgICAgKF9fbWFr ZV91bnNpZ25lZDxJTlRfTj4sIF9fbWFrZV9zaWduZWQ8SU5UX04+KTogTGlrZXdpc2UuCiAgICAg ICAgICAgICogaW5jbHVkZS9zdGQvbGltaXRzIChfX0lOVF9OKTogQWRkIF9fZXh0ZW5zaW9uX18g a2V5d29yZC4KICAgICAgICAgICAgKiBpbmNsdWRlL2JpdHMvcmFuZG9tLmggKF9TZWxlY3RfdWlu dF9sZWFzdF90KQogICAgICAgICAgICAocmFuZG9tX2RldmljZSk6IExpa2V3aXNlLgoKZGlmZiAt LWdpdCBhL2xpYnN0ZGMrKy12My9pbmNsdWRlL2JpdHMvY3BwX3R5cGVfdHJhaXRzLmggYi9saWJz dGRjKystdjMvaW5jbHVkZS9iaXRzL2NwcF90eXBlX3RyYWl0cy5oCmluZGV4IDhmOGRkODE3ZGMy Li5kOTQ2MjIwOWJjMiAxMDA2NDQKLS0tIGEvbGlic3RkYysrLXYzL2luY2x1ZGUvYml0cy9jcHBf dHlwZV90cmFpdHMuaAorKysgYi9saWJzdGRjKystdjMvaW5jbHVkZS9iaXRzL2NwcF90eXBlX3Ry YWl0cy5oCkBAIC0yNTMsMTIgKzI1MywxNCBAQCBfR0xJQkNYWF9CRUdJTl9OQU1FU1BBQ0VfVkVS U0lPTgogICAgIH07CiAKICNkZWZpbmUgX19JTlRfTihUWVBFKSAJCQlcCisgIF9fZXh0ZW5zaW9u X18JCQkJXAogICB0ZW1wbGF0ZTw+CQkJCVwKICAgICBzdHJ1Y3QgX19pc19pbnRlZ2VyPFRZUEU+ CQlcCiAgICAgewkJCQkJXAogICAgICAgZW51bSB7IF9fdmFsdWUgPSAxIH07CQlcCiAgICAgICB0 eXBlZGVmIF9fdHJ1ZV90eXBlIF9fdHlwZTsJXAogICAgIH07CQkJCQlcCisgIF9fZXh0ZW5zaW9u X18JCQkJXAogICB0ZW1wbGF0ZTw+CQkJCVwKICAgICBzdHJ1Y3QgX19pc19pbnRlZ2VyPHVuc2ln bmVkIFRZUEU+CVwKICAgICB7CQkJCQlcCkBAIC0yNjYsOSArMjY4LDYgQEAgX0dMSUJDWFhfQkVH SU5fTkFNRVNQQUNFX1ZFUlNJT04KICAgICAgIHR5cGVkZWYgX190cnVlX3R5cGUgX190eXBlOwlc CiAgICAgfTsKIAotI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBwdXNoCi0jcHJhZ21hIEdDQyBkaWFn bm9zdGljIGlnbm9yZWQgIi1XcGVkYW50aWMiCi0KICNpZmRlZiBfX0dMSUJDWFhfVFlQRV9JTlRf Tl8wCiBfX0lOVF9OKF9fR0xJQkNYWF9UWVBFX0lOVF9OXzApCiAjZW5kaWYKQEAgLTI4Miw4ICsy ODEsNiBAQCBfX0lOVF9OKF9fR0xJQkNYWF9UWVBFX0lOVF9OXzIpCiBfX0lOVF9OKF9fR0xJQkNY WF9UWVBFX0lOVF9OXzMpCiAjZW5kaWYKIAotI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBwb3AKLQog I3VuZGVmIF9fSU5UX04KIAogICAvLwpkaWZmIC0tZ2l0IGEvbGlic3RkYysrLXYzL2luY2x1ZGUv Yml0cy9mdW5jdGlvbmFsX2hhc2guaCBiL2xpYnN0ZGMrKy12My9pbmNsdWRlL2JpdHMvZnVuY3Rp b25hbF9oYXNoLmgKaW5kZXggNzhlMzY0NGJjNzQuLjkxOWZhYmE3NzhiIDEwMDY0NAotLS0gYS9s aWJzdGRjKystdjMvaW5jbHVkZS9iaXRzL2Z1bmN0aW9uYWxfaGFzaC5oCisrKyBiL2xpYnN0ZGMr Ky12My9pbmNsdWRlL2JpdHMvZnVuY3Rpb25hbF9oYXNoLmgKQEAgLTE3MSwyOCArMTcxLDMxIEBA IF9HTElCQ1hYX0JFR0lOX05BTUVTUEFDRV9WRVJTSU9OCiAgIC8vLyBFeHBsaWNpdCBzcGVjaWFs aXphdGlvbiBmb3IgdW5zaWduZWQgbG9uZyBsb25nLgogICBfQ3h4X2hhc2h0YWJsZV9kZWZpbmVf dHJpdmlhbF9oYXNoKHVuc2lnbmVkIGxvbmcgbG9uZykKIAotI3ByYWdtYSBHQ0MgZGlhZ25vc3Rp YyBwdXNoCi0jcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XcGVkYW50aWMiCi0KICNp ZmRlZiBfX0dMSUJDWFhfVFlQRV9JTlRfTl8wCisgIF9fZXh0ZW5zaW9uX18KICAgX0N4eF9oYXNo dGFibGVfZGVmaW5lX3RyaXZpYWxfaGFzaChfX0dMSUJDWFhfVFlQRV9JTlRfTl8wKQorICBfX2V4 dGVuc2lvbl9fCiAgIF9DeHhfaGFzaHRhYmxlX2RlZmluZV90cml2aWFsX2hhc2goX19HTElCQ1hY X1RZUEVfSU5UX05fMCB1bnNpZ25lZCkKICNlbmRpZgogI2lmZGVmIF9fR0xJQkNYWF9UWVBFX0lO VF9OXzEKKyAgX19leHRlbnNpb25fXwogICBfQ3h4X2hhc2h0YWJsZV9kZWZpbmVfdHJpdmlhbF9o YXNoKF9fR0xJQkNYWF9UWVBFX0lOVF9OXzEpCisgIF9fZXh0ZW5zaW9uX18KICAgX0N4eF9oYXNo dGFibGVfZGVmaW5lX3RyaXZpYWxfaGFzaChfX0dMSUJDWFhfVFlQRV9JTlRfTl8xIHVuc2lnbmVk KQogI2VuZGlmCiAjaWZkZWYgX19HTElCQ1hYX1RZUEVfSU5UX05fMgorICBfX2V4dGVuc2lvbl9f CiAgIF9DeHhfaGFzaHRhYmxlX2RlZmluZV90cml2aWFsX2hhc2goX19HTElCQ1hYX1RZUEVfSU5U X05fMikKKyAgX19leHRlbnNpb25fXwogICBfQ3h4X2hhc2h0YWJsZV9kZWZpbmVfdHJpdmlhbF9o YXNoKF9fR0xJQkNYWF9UWVBFX0lOVF9OXzIgdW5zaWduZWQpCiAjZW5kaWYKICNpZmRlZiBfX0dM SUJDWFhfVFlQRV9JTlRfTl8zCisgIF9fZXh0ZW5zaW9uX18KICAgX0N4eF9oYXNodGFibGVfZGVm aW5lX3RyaXZpYWxfaGFzaChfX0dMSUJDWFhfVFlQRV9JTlRfTl8zKQorICBfX2V4dGVuc2lvbl9f CiAgIF9DeHhfaGFzaHRhYmxlX2RlZmluZV90cml2aWFsX2hhc2goX19HTElCQ1hYX1RZUEVfSU5U X05fMyB1bnNpZ25lZCkKICNlbmRpZgogCi0jcHJhZ21hIEdDQyBkaWFnbm9zdGljIHBvcAotCiAj dW5kZWYgX0N4eF9oYXNodGFibGVfZGVmaW5lX3RyaXZpYWxfaGFzaAogCiAgIHN0cnVjdCBfSGFz aF9pbXBsCmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMvaW5jbHVkZS9iaXRzL2l0ZXJhdG9yX2Nv bmNlcHRzLmggYi9saWJzdGRjKystdjMvaW5jbHVkZS9iaXRzL2l0ZXJhdG9yX2NvbmNlcHRzLmgK aW5kZXggOTdjMGI4MGE1MDcuLjljMjhlYmZiMzQ1IDEwMDY0NAotLS0gYS9saWJzdGRjKystdjMv aW5jbHVkZS9iaXRzL2l0ZXJhdG9yX2NvbmNlcHRzLmgKKysrIGIvbGlic3RkYysrLXYzL2luY2x1 ZGUvYml0cy9pdGVyYXRvcl9jb25jZXB0cy5oCkBAIC01NTMsOSArNTUzLDcgQEAgX0dMSUJDWFhf QkVHSU5fTkFNRVNQQUNFX1ZFUlNJT04KICAgICBjbGFzcyBfX21heF9kaWZmX3R5cGU7CiAgICAg Y2xhc3MgX19tYXhfc2l6ZV90eXBlOwogCi0jcHJhZ21hIEdDQyBkaWFnbm9zdGljIHB1c2gKLSNw cmFnbWEgR0NDIGRpYWdub3N0aWMgaWdub3JlZCAiLVdwZWRhbnRpYyIKLQorICAgIF9fZXh0ZW5z aW9uX18KICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBfVHA+CiAgICAgICBjb25jZXB0IF9faXNfc2ln bmVkX2ludDEyOAogI2lmIF9fU0laRU9GX0lOVDEyOF9fCkBAIC01NjQsNiArNTYyLDcgQEAgX0dM SUJDWFhfQkVHSU5fTkFNRVNQQUNFX1ZFUlNJT04KIAk9IGZhbHNlOwogI2VuZGlmCiAKKyAgICBf X2V4dGVuc2lvbl9fCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgX1RwPgogICAgICAgY29uY2VwdCBf X2lzX3Vuc2lnbmVkX2ludDEyOAogI2lmIF9fU0laRU9GX0lOVDEyOF9fCkBAIC01NzIsOCArNTcx LDYgQEAgX0dMSUJDWFhfQkVHSU5fTkFNRVNQQUNFX1ZFUlNJT04KIAk9IGZhbHNlOwogI2VuZGlm CiAKLSNwcmFnbWEgR0NDIGRpYWdub3N0aWMgcG9wCi0KICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBf VHA+CiAgICAgICBjb25jZXB0IF9fY3ZfYm9vbCA9IHNhbWVfYXM8Y29uc3Qgdm9sYXRpbGUgX1Rw LCBjb25zdCB2b2xhdGlsZSBib29sPjsKIApkaWZmIC0tZ2l0IGEvbGlic3RkYysrLXYzL2luY2x1 ZGUvYml0cy9tYXhfc2l6ZV90eXBlLmggYi9saWJzdGRjKystdjMvaW5jbHVkZS9iaXRzL21heF9z aXplX3R5cGUuaAppbmRleCAyNDIzN2NjNTdkZS4uMjk4YTkyOWRiMDMgMTAwNjQ0Ci0tLSBhL2xp YnN0ZGMrKy12My9pbmNsdWRlL2JpdHMvbWF4X3NpemVfdHlwZS5oCisrKyBiL2xpYnN0ZGMrKy12 My9pbmNsdWRlL2JpdHMvbWF4X3NpemVfdHlwZS5oCkBAIC00MTcsMTAgKzQxNyw4IEBAIG5hbWVz cGFjZSByYW5nZXMKICNlbmRpZgogCiAjaWYgX19TSVpFT0ZfSU5UMTI4X18KLSNwcmFnbWEgR0ND IGRpYWdub3N0aWMgcHVzaAotI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV3BlZGFu dGljIgorICAgICAgX19leHRlbnNpb25fXwogICAgICAgdXNpbmcgX19yZXAgPSB1bnNpZ25lZCBf X2ludDEyODsKLSNwcmFnbWEgR0NDIGRpYWdub3N0aWMgcG9wCiAjZWxzZQogICAgICAgdXNpbmcg X19yZXAgPSB1bnNpZ25lZCBsb25nIGxvbmc7CiAjZW5kaWYKQEAgLTc3NCwxMCArNzcyLDcgQEAg bmFtZXNwYWNlIHJhbmdlcwogICAgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIGlzX2ludGVnZXIg PSB0cnVlOwogICAgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIGlzX2V4YWN0ID0gdHJ1ZTsKICNp ZiBfX1NJWkVPRl9JTlQxMjhfXwotI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBwdXNoCi0jcHJhZ21h IEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XcGVkYW50aWMiCi0gICAgICBzdGF0aWNfYXNzZXJ0 KHNhbWVfYXM8X1NwOjpfX3JlcCwgdW5zaWduZWQgX19pbnQxMjg+KTsKLSNwcmFnbWEgR0NDIGRp YWdub3N0aWMgcG9wCisgICAgICBzdGF0aWNfYXNzZXJ0KF9fZXh0ZW5zaW9uX18gc2FtZV9hczxf U3A6Ol9fcmVwLCBfX3VpbnQxMjhfdD4pOwogICAgICAgc3RhdGljIGNvbnN0ZXhwciBpbnQgZGln aXRzID0gMTI5OwogI2Vsc2UKICAgICAgIHN0YXRpY19hc3NlcnQoc2FtZV9hczxfU3A6Ol9fcmVw LCB1bnNpZ25lZCBsb25nIGxvbmc+KTsKZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My9pbmNsdWRl L2JpdHMvcmFuZG9tLmggYi9saWJzdGRjKystdjMvaW5jbHVkZS9iaXRzL3JhbmRvbS5oCmluZGV4 IDllMDM1OWI4MDkyLi42ZDBlMTU0NGM5MCAxMDA2NDQKLS0tIGEvbGlic3RkYysrLXYzL2luY2x1 ZGUvYml0cy9yYW5kb20uaAorKysgYi9saWJzdGRjKystdjMvaW5jbHVkZS9iaXRzL3JhbmRvbS5o CkBAIC0xMDEsNyArMTAxLDcgQEAgX0dMSUJDWFhfQkVHSU5fTkFNRVNQQUNFX1ZFUlNJT04KICNp ZiBfX1NJWkVPRl9JTlQxMjhfXyA+IF9fU0laRU9GX0xPTkdfTE9OR19fCiAgICAgdGVtcGxhdGU8 aW50IF9fcz4KICAgICAgIHN0cnVjdCBfU2VsZWN0X3VpbnRfbGVhc3RfdDxfX3MsIDE+Ci0gICAg ICB7IHR5cGVkZWYgdW5zaWduZWQgX19pbnQxMjggdHlwZTsgfTsKKyAgICAgIHsgX19leHRlbnNp b25fXyB0eXBlZGVmIHVuc2lnbmVkIF9faW50MTI4IHR5cGU7IH07CiAjZW5kaWYKIAogICAgIC8v IEFzc3VtZSBhICE9IDAsIGEgPCBtLCBjIDwgbSwgeCA8IG0uCkBAIC0xNjYzLDcgKzE2NjMsNyBA QCBfR0xJQkNYWF9CRUdJTl9OQU1FU1BBQ0VfVkVSU0lPTgogCiAgICAgdm9pZCBfTV9pbml0KGNv bnN0IGNoYXIqLCBzaXplX3QpOyAvLyBub3QgZXhwb3J0ZWQgZnJvbSB0aGUgc2hhcmVkIGxpYnJh cnkKIAotICAgIHVuaW9uCisgICAgX19leHRlbnNpb25fXyB1bmlvbgogICAgIHsKICAgICAgIHN0 cnVjdAogICAgICAgewpkaWZmIC0tZ2l0IGEvbGlic3RkYysrLXYzL2luY2x1ZGUvYml0cy9zdGRf YWJzLmggYi9saWJzdGRjKystdjMvaW5jbHVkZS9iaXRzL3N0ZF9hYnMuaAppbmRleCBjNjVlYmI2 NjQzOS4uOTA4ZDZiY2Q5ODMgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My9pbmNsdWRlL2JpdHMv c3RkX2Ficy5oCisrKyBiL2xpYnN0ZGMrKy12My9pbmNsdWRlL2JpdHMvc3RkX2Ficy5oCkBAIC04 MCwzNSArODAsMzAgQEAgX0dMSUJDWFhfQkVHSU5fTkFNRVNQQUNFX1ZFUlNJT04KICAgeyByZXR1 cm4gX19idWlsdGluX2ZhYnNsKF9feCk7IH0KICNlbmRpZgogCi0jcHJhZ21hIEdDQyBkaWFnbm9z dGljIHB1c2gKLSNwcmFnbWEgR0NDIGRpYWdub3N0aWMgaWdub3JlZCAiLVdwZWRhbnRpYyIKLQog I2lmIGRlZmluZWQoX19HTElCQ1hYX1RZUEVfSU5UX05fMCkKLSAgaW5saW5lIF9HTElCQ1hYX0NP TlNURVhQUiBfX0dMSUJDWFhfVFlQRV9JTlRfTl8wCisgIF9fZXh0ZW5zaW9uX18gaW5saW5lIF9H TElCQ1hYX0NPTlNURVhQUiBfX0dMSUJDWFhfVFlQRV9JTlRfTl8wCiAgIGFicyhfX0dMSUJDWFhf VFlQRV9JTlRfTl8wIF9feCkgeyByZXR1cm4gX194ID49IDAgPyBfX3ggOiAtX194OyB9CiAjZW5k aWYKICNpZiBkZWZpbmVkKF9fR0xJQkNYWF9UWVBFX0lOVF9OXzEpCi0gIGlubGluZSBfR0xJQkNY WF9DT05TVEVYUFIgX19HTElCQ1hYX1RZUEVfSU5UX05fMQorICBfX2V4dGVuc2lvbl9fIGlubGlu ZSBfR0xJQkNYWF9DT05TVEVYUFIgX19HTElCQ1hYX1RZUEVfSU5UX05fMQogICBhYnMoX19HTElC Q1hYX1RZUEVfSU5UX05fMSBfX3gpIHsgcmV0dXJuIF9feCA+PSAwID8gX194IDogLV9feDsgfQog I2VuZGlmCiAjaWYgZGVmaW5lZChfX0dMSUJDWFhfVFlQRV9JTlRfTl8yKQotICBpbmxpbmUgX0dM SUJDWFhfQ09OU1RFWFBSIF9fR0xJQkNYWF9UWVBFX0lOVF9OXzIKKyAgX19leHRlbnNpb25fXyBp bmxpbmUgX0dMSUJDWFhfQ09OU1RFWFBSIF9fR0xJQkNYWF9UWVBFX0lOVF9OXzIKICAgYWJzKF9f R0xJQkNYWF9UWVBFX0lOVF9OXzIgX194KSB7IHJldHVybiBfX3ggPj0gMCA/IF9feCA6IC1fX3g7 IH0KICNlbmRpZgogI2lmIGRlZmluZWQoX19HTElCQ1hYX1RZUEVfSU5UX05fMykKLSAgaW5saW5l IF9HTElCQ1hYX0NPTlNURVhQUiBfX0dMSUJDWFhfVFlQRV9JTlRfTl8zCisgIF9fZXh0ZW5zaW9u X18gaW5saW5lIF9HTElCQ1hYX0NPTlNURVhQUiBfX0dMSUJDWFhfVFlQRV9JTlRfTl8zCiAgIGFi cyhfX0dMSUJDWFhfVFlQRV9JTlRfTl8zIF9feCkgeyByZXR1cm4gX194ID49IDAgPyBfX3ggOiAt X194OyB9CiAjZW5kaWYKIAogI2lmICFkZWZpbmVkKF9fU1RSSUNUX0FOU0lfXykgJiYgZGVmaW5l ZChfR0xJQkNYWF9VU0VfRkxPQVQxMjgpCi0gIGlubGluZSBfR0xJQkNYWF9DT05TVEVYUFIKKyAg X19leHRlbnNpb25fXyBpbmxpbmUgX0dMSUJDWFhfQ09OU1RFWFBSCiAgIF9fZmxvYXQxMjgKICAg YWJzKF9fZmxvYXQxMjggX194KQogICB7IHJldHVybiBfX3ggPCAwID8gLV9feCA6IF9feDsgfQog I2VuZGlmCiAKLSNwcmFnbWEgR0NDIGRpYWdub3N0aWMgcG9wCi0KIF9HTElCQ1hYX0VORF9OQU1F U1BBQ0VfVkVSU0lPTgogfSAvLyBuYW1lc3BhY2UKIH0gLy8gZXh0ZXJuICJDIisrIgpkaWZmIC0t Z2l0IGEvbGlic3RkYysrLXYzL2luY2x1ZGUvYml0cy9zdGxfYWxnb2Jhc2UuaCBiL2xpYnN0ZGMr Ky12My9pbmNsdWRlL2JpdHMvc3RsX2FsZ29iYXNlLmgKaW5kZXggN2Y5MjBkYmRiZjcuLmQwYzQ5 NjI4ZDdmIDEwMDY0NAotLS0gYS9saWJzdGRjKystdjMvaW5jbHVkZS9iaXRzL3N0bF9hbGdvYmFz ZS5oCisrKyBiL2xpYnN0ZGMrKy12My9pbmNsdWRlL2JpdHMvc3RsX2FsZ29iYXNlLmgKQEAgLTEw MTMsMzYgKzEwMTMsMzEgQEAgX0dMSUJDWFhfRU5EX05BTUVTUEFDRV9DT05UQUlORVIKICAgaW5s aW5lIF9HTElCQ1hYX0NPTlNURVhQUiB1bnNpZ25lZCBsb25nIGxvbmcKICAgX19zaXplX3RvX2lu dGVnZXIodW5zaWduZWQgbG9uZyBsb25nIF9fbikgeyByZXR1cm4gX19uOyB9CiAKLSNwcmFnbWEg R0NDIGRpYWdub3N0aWMgcHVzaAotI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV3Bl ZGFudGljIgotCiAjaWYgZGVmaW5lZChfX0dMSUJDWFhfVFlQRV9JTlRfTl8wKQotICBpbmxpbmUg X0dMSUJDWFhfQ09OU1RFWFBSIF9fR0xJQkNYWF9UWVBFX0lOVF9OXzAKKyAgX19leHRlbnNpb25f XyBpbmxpbmUgX0dMSUJDWFhfQ09OU1RFWFBSIF9fR0xJQkNYWF9UWVBFX0lOVF9OXzAKICAgX19z aXplX3RvX2ludGVnZXIoX19HTElCQ1hYX1RZUEVfSU5UX05fMCBfX24pIHsgcmV0dXJuIF9fbjsg fQotICBpbmxpbmUgX0dMSUJDWFhfQ09OU1RFWFBSIHVuc2lnbmVkIF9fR0xJQkNYWF9UWVBFX0lO VF9OXzAKKyAgX19leHRlbnNpb25fXyBpbmxpbmUgX0dMSUJDWFhfQ09OU1RFWFBSIHVuc2lnbmVk IF9fR0xJQkNYWF9UWVBFX0lOVF9OXzAKICAgX19zaXplX3RvX2ludGVnZXIodW5zaWduZWQgX19H TElCQ1hYX1RZUEVfSU5UX05fMCBfX24pIHsgcmV0dXJuIF9fbjsgfQogI2VuZGlmCiAjaWYgZGVm aW5lZChfX0dMSUJDWFhfVFlQRV9JTlRfTl8xKQotICBpbmxpbmUgX0dMSUJDWFhfQ09OU1RFWFBS IF9fR0xJQkNYWF9UWVBFX0lOVF9OXzEKKyAgX19leHRlbnNpb25fXyBpbmxpbmUgX0dMSUJDWFhf Q09OU1RFWFBSIF9fR0xJQkNYWF9UWVBFX0lOVF9OXzEKICAgX19zaXplX3RvX2ludGVnZXIoX19H TElCQ1hYX1RZUEVfSU5UX05fMSBfX24pIHsgcmV0dXJuIF9fbjsgfQotICBpbmxpbmUgX0dMSUJD WFhfQ09OU1RFWFBSIHVuc2lnbmVkIF9fR0xJQkNYWF9UWVBFX0lOVF9OXzEKKyAgX19leHRlbnNp b25fXyBpbmxpbmUgX0dMSUJDWFhfQ09OU1RFWFBSIHVuc2lnbmVkIF9fR0xJQkNYWF9UWVBFX0lO VF9OXzEKICAgX19zaXplX3RvX2ludGVnZXIodW5zaWduZWQgX19HTElCQ1hYX1RZUEVfSU5UX05f MSBfX24pIHsgcmV0dXJuIF9fbjsgfQogI2VuZGlmCiAjaWYgZGVmaW5lZChfX0dMSUJDWFhfVFlQ RV9JTlRfTl8yKQotICBpbmxpbmUgX0dMSUJDWFhfQ09OU1RFWFBSIF9fR0xJQkNYWF9UWVBFX0lO VF9OXzIKKyAgX19leHRlbnNpb25fXyBpbmxpbmUgX0dMSUJDWFhfQ09OU1RFWFBSIF9fR0xJQkNY WF9UWVBFX0lOVF9OXzIKICAgX19zaXplX3RvX2ludGVnZXIoX19HTElCQ1hYX1RZUEVfSU5UX05f MiBfX24pIHsgcmV0dXJuIF9fbjsgfQotICBpbmxpbmUgX0dMSUJDWFhfQ09OU1RFWFBSIHVuc2ln bmVkIF9fR0xJQkNYWF9UWVBFX0lOVF9OXzIKKyAgX19leHRlbnNpb25fXyBpbmxpbmUgX0dMSUJD WFhfQ09OU1RFWFBSIHVuc2lnbmVkIF9fR0xJQkNYWF9UWVBFX0lOVF9OXzIKICAgX19zaXplX3Rv X2ludGVnZXIodW5zaWduZWQgX19HTElCQ1hYX1RZUEVfSU5UX05fMiBfX24pIHsgcmV0dXJuIF9f bjsgfQogI2VuZGlmCiAjaWYgZGVmaW5lZChfX0dMSUJDWFhfVFlQRV9JTlRfTl8zKQotICBpbmxp bmUgX0dMSUJDWFhfQ09OU1RFWFBSIHVuc2lnbmVkIF9fR0xJQkNYWF9UWVBFX0lOVF9OXzMKKyAg X19leHRlbnNpb25fXyBpbmxpbmUgX0dMSUJDWFhfQ09OU1RFWFBSIHVuc2lnbmVkIF9fR0xJQkNY WF9UWVBFX0lOVF9OXzMKICAgX19zaXplX3RvX2ludGVnZXIoX19HTElCQ1hYX1RZUEVfSU5UX05f MyBfX24pIHsgcmV0dXJuIF9fbjsgfQotICBpbmxpbmUgX0dMSUJDWFhfQ09OU1RFWFBSIF9fR0xJ QkNYWF9UWVBFX0lOVF9OXzMKKyAgX19leHRlbnNpb25fXyBpbmxpbmUgX0dMSUJDWFhfQ09OU1RF WFBSIF9fR0xJQkNYWF9UWVBFX0lOVF9OXzMKICAgX19zaXplX3RvX2ludGVnZXIodW5zaWduZWQg X19HTElCQ1hYX1RZUEVfSU5UX05fMyBfX24pIHsgcmV0dXJuIF9fbjsgfQogI2VuZGlmCiAKLSNw cmFnbWEgR0NDIGRpYWdub3N0aWMgcG9wCi0KICAgaW5saW5lIF9HTElCQ1hYX0NPTlNURVhQUiBs b25nIGxvbmcKICAgX19zaXplX3RvX2ludGVnZXIoZmxvYXQgX19uKSB7IHJldHVybiAobG9uZyBs b25nKV9fbjsgfQogICBpbmxpbmUgX0dMSUJDWFhfQ09OU1RFWFBSIGxvbmcgbG9uZwpAQCAtMTA1 MCw3ICsxMDQ1LDcgQEAgX0dMSUJDWFhfRU5EX05BTUVTUEFDRV9DT05UQUlORVIKICAgaW5saW5l IF9HTElCQ1hYX0NPTlNURVhQUiBsb25nIGxvbmcKICAgX19zaXplX3RvX2ludGVnZXIobG9uZyBk b3VibGUgX19uKSB7IHJldHVybiAobG9uZyBsb25nKV9fbjsgfQogI2lmICFkZWZpbmVkKF9fU1RS SUNUX0FOU0lfXykgJiYgZGVmaW5lZChfR0xJQkNYWF9VU0VfRkxPQVQxMjgpCi0gIGlubGluZSBf R0xJQkNYWF9DT05TVEVYUFIgbG9uZyBsb25nCisgIF9fZXh0ZW5zaW9uX18gaW5saW5lIF9HTElC Q1hYX0NPTlNURVhQUiBsb25nIGxvbmcKICAgX19zaXplX3RvX2ludGVnZXIoX19mbG9hdDEyOCBf X24pIHsgcmV0dXJuIChsb25nIGxvbmcpX19uOyB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvbGli c3RkYysrLXYzL2luY2x1ZGUvYml0cy91bmlmb3JtX2ludF9kaXN0LmggYi9saWJzdGRjKystdjMv aW5jbHVkZS9iaXRzL3VuaWZvcm1faW50X2Rpc3QuaAppbmRleCA4ZWUzMzQ1MGZhMS4uNjIyYjFm ZWU5MWQgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My9pbmNsdWRlL2JpdHMvdW5pZm9ybV9pbnRf ZGlzdC5oCisrKyBiL2xpYnN0ZGMrKy12My9pbmNsdWRlL2JpdHMvdW5pZm9ybV9pbnRfZGlzdC5o CkBAIC0yOTksMTcgKzI5OSwxNSBAQCBfR0xJQkNYWF9CRUdJTl9OQU1FU1BBQ0VfVkVSU0lPTgog CiAjaWYgZGVmaW5lZCBfX1VJTlQ2NF9UWVBFX18gJiYgZGVmaW5lZCBfX1VJTlQzMl9UWVBFX18K ICNpZiBfX1NJWkVPRl9JTlQxMjhfXwotI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBwdXNoCi0jcHJh Z21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XcGVkYW50aWMiCiAJICAgIGlmIF9HTElCQ1hY MTdfQ09OU1RFWFBSIChfX3VybmdyYW5nZSA9PSBfX1VJTlQ2NF9NQVhfXykKIAkgICAgICB7CiAJ CS8vIF9fdXJuZyBwcm9kdWNlcyB2YWx1ZXMgdGhhdCB1c2UgZXhhY3RseSA2NC1iaXRzLAogCQkv LyBzbyB1c2UgMTI4LWJpdCBpbnRlZ2VycyB0byBkb3duc2NhbGUgdG8gZGVzaXJlZCByYW5nZS4K IAkJX19VSU5UNjRfVFlQRV9fIF9fdTY0ZXJhbmdlID0gX191ZXJhbmdlOwotCQlfX3JldCA9IF9T X25kPHVuc2lnbmVkIF9faW50MTI4PihfX3VybmcsIF9fdTY0ZXJhbmdlKTsKKwkJX19yZXQgPSBf X2V4dGVuc2lvbl9fIF9TX25kPHVuc2lnbmVkIF9faW50MTI4PihfX3VybmcsCisJCQkJCQkJICAg ICAgIF9fdTY0ZXJhbmdlKTsKIAkgICAgICB9CiAJICAgIGVsc2UKLSNwcmFnbWEgR0NDIGRpYWdu b3N0aWMgcG9wCiAjZW5kaWYKIAkgICAgaWYgX0dMSUJDWFgxN19DT05TVEVYUFIgKF9fdXJuZ3Jh bmdlID09IF9fVUlOVDMyX01BWF9fKQogCSAgICAgIHsKZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12 My9pbmNsdWRlL2V4dC9udW1lcmljX3RyYWl0cy5oIGIvbGlic3RkYysrLXYzL2luY2x1ZGUvZXh0 L251bWVyaWNfdHJhaXRzLmgKaW5kZXggMGRjMWJjNjFmM2UuLjNlZjA5ODlmZTc0IDEwMDY0NAot LS0gYS9saWJzdGRjKystdjMvaW5jbHVkZS9leHQvbnVtZXJpY190cmFpdHMuaAorKysgYi9saWJz dGRjKystdjMvaW5jbHVkZS9leHQvbnVtZXJpY190cmFpdHMuaApAQCAtOTMsMTIgKzkzLDE0IEBA IF9HTElCQ1hYX0JFR0lOX05BTUVTUEFDRV9WRVJTSU9OCiAgIC8vIEVuYWJsZSBfX251bWVyaWNf dHJhaXRzX2ludGVnZXIgZm9yIHR5cGVzIHdoZXJlIHRoZSBfX2lzX2ludGVnZXJfbm9uc3RyaWN0 CiAgIC8vIHByaW1hcnkgdGVtcGxhdGUgZG9lc24ndCBnaXZlIHRoZSByaWdodCBhbnN3ZXIuCiAj ZGVmaW5lIF9HTElCQ1hYX0lOVF9OX1RSQUlUUyhULCBXSURUSCkJCQlcCisgIF9fZXh0ZW5zaW9u X18JCQkJCQlcCiAgIHRlbXBsYXRlPD4gc3RydWN0IF9faXNfaW50ZWdlcl9ub25zdHJpY3Q8VD4J CVwKICAgewkJCQkJCQlcCiAgICAgZW51bSB7IF9fdmFsdWUgPSAxIH07CQkJCVwKICAgICB0eXBl ZGVmIHN0ZDo6X190cnVlX3R5cGUgX190eXBlOwkJCVwKICAgICBlbnVtIHsgX193aWR0aCA9IFdJ RFRIIH07CQkJCVwKICAgfTsJCQkJCQkJXAorICBfX2V4dGVuc2lvbl9fCQkJCQkJXAogICB0ZW1w bGF0ZTw+IHN0cnVjdCBfX2lzX2ludGVnZXJfbm9uc3RyaWN0PHVuc2lnbmVkIFQ+CVwKICAgewkJ CQkJCQlcCiAgICAgZW51bSB7IF9fdmFsdWUgPSAxIH07CQkJCVwKQEAgLTEyMywxMiArMTI1LDkg QEAgX0dMSUJDWFhfQkVHSU5fTkFNRVNQQUNFX1ZFUlNJT04KICNlbmRpZgogCiAjaWYgZGVmaW5l ZCBfX1NUUklDVF9BTlNJX18gJiYgZGVmaW5lZCBfX1NJWkVPRl9JTlQxMjhfXwotI3ByYWdtYSBH Q0MgZGlhZ25vc3RpYyBwdXNoCi0jcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XcGVk YW50aWMiCiAgIC8vIEluIHN0cmljdCBtb2RlcyBfX2lzX2ludGVnZXI8X19pbnQxMjg+IGlzIGZh bHNlLAogICAvLyBidXQgd2Ugc3RpbGwgd2FudCB0byBkZWZpbmUgX19udW1lcmljX3RyYWl0c19p bnRlZ2VyPF9faW50MTI4Pi4KICAgX0dMSUJDWFhfSU5UX05fVFJBSVRTKF9faW50MTI4LCAxMjgp Ci0jcHJhZ21hIEdDQyBkaWFnbm9zdGljIHBvcAogI2VuZGlmCiAKICN1bmRlZiBfR0xJQkNYWF9J TlRfTl9UUkFJVFMKZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My9pbmNsdWRlL3N0ZC9saW1pdHMg Yi9saWJzdGRjKystdjMvaW5jbHVkZS9zdGQvbGltaXRzCmluZGV4IGYyYzIwNzI0ZjM3Li43OWFm ZjNkOTNhNCAxMDA2NDQKLS0tIGEvbGlic3RkYysrLXYzL2luY2x1ZGUvc3RkL2xpbWl0cworKysg Yi9saWJzdGRjKystdjMvaW5jbHVkZS9zdGQvbGltaXRzCkBAIC0xNDc4LDYgKzE0NzgsNyBAQCBf R0xJQkNYWF9CRUdJTl9OQU1FU1BBQ0VfVkVSU0lPTgogICAgIH07CiAKICNkZWZpbmUgX19JTlRf TihUWVBFLCBCSVRTSVpFLCBFWFQsIFVFWFQpCQkJCVwKKyAgX19leHRlbnNpb25fXwkJCQkJCQkJ XAogICB0ZW1wbGF0ZTw+CQkJCQkJCQlcCiAgICAgc3RydWN0IG51bWVyaWNfbGltaXRzPFRZUEU+ CQkJCQkJXAogICAgIHsJCQkJCQkJCQlcCkBAIC0xNTQ2LDYgKzE1NDcsNyBAQCBfR0xJQkNYWF9C RUdJTl9OQU1FU1BBQ0VfVkVSU0lPTgogCT0gcm91bmRfdG93YXJkX3plcm87IAkJCQkJCVwKICAg ICB9OyAJCQkJCQkJCQlcCiAJCQkJCQkJCQlcCisgIF9fZXh0ZW5zaW9uX18JCQkJCQkJCVwKICAg dGVtcGxhdGU8PgkJCQkJCQkJXAogICAgIHN0cnVjdCBudW1lcmljX2xpbWl0czx1bnNpZ25lZCBU WVBFPgkJCQlcCiAgICAgewkJCQkJCQkJCVwKZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My9pbmNs dWRlL3N0ZC90eXBlX3RyYWl0cyBiL2xpYnN0ZGMrKy12My9pbmNsdWRlL3N0ZC90eXBlX3RyYWl0 cwppbmRleCA4ZDljNjM5NGNkOC4uMTVlYzgzYTA2YjggMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12 My9pbmNsdWRlL3N0ZC90eXBlX3RyYWl0cworKysgYi9saWJzdGRjKystdjMvaW5jbHVkZS9zdGQv dHlwZV90cmFpdHMKQEAgLTM0Nyw0OCArMzQ3LDUyIEBAIF9HTElCQ1hYX0JFR0lOX05BTUVTUEFD RV9WRVJTSU9OCiAgICAgc3RydWN0IF9faXNfaW50ZWdyYWxfaGVscGVyPHVuc2lnbmVkIGxvbmcg bG9uZz4KICAgICA6IHB1YmxpYyB0cnVlX3R5cGUgeyB9OwogCi0jcHJhZ21hIEdDQyBkaWFnbm9z dGljIHB1c2gKLSNwcmFnbWEgR0NDIGRpYWdub3N0aWMgaWdub3JlZCAiLVdwZWRhbnRpYyIKLQog ICAvLyBDb25kaXRpb25hbGl6aW5nIG9uIF9fU1RSSUNUX0FOU0lfXyBoZXJlIHdpbGwgYnJlYWsg YW55IHBvcnQgdGhhdAogICAvLyB1c2VzIG9uZSBvZiB0aGVzZSB0eXBlcyBmb3Igc2l6ZV90Lgog I2lmIGRlZmluZWQoX19HTElCQ1hYX1RZUEVfSU5UX05fMCkKKyAgX19leHRlbnNpb25fXwogICB0 ZW1wbGF0ZTw+CiAgICAgc3RydWN0IF9faXNfaW50ZWdyYWxfaGVscGVyPF9fR0xJQkNYWF9UWVBF X0lOVF9OXzA+CiAgICAgOiBwdWJsaWMgdHJ1ZV90eXBlIHsgfTsKIAorICBfX2V4dGVuc2lvbl9f CiAgIHRlbXBsYXRlPD4KICAgICBzdHJ1Y3QgX19pc19pbnRlZ3JhbF9oZWxwZXI8dW5zaWduZWQg X19HTElCQ1hYX1RZUEVfSU5UX05fMD4KICAgICA6IHB1YmxpYyB0cnVlX3R5cGUgeyB9OwogI2Vu ZGlmCiAjaWYgZGVmaW5lZChfX0dMSUJDWFhfVFlQRV9JTlRfTl8xKQorICBfX2V4dGVuc2lvbl9f CiAgIHRlbXBsYXRlPD4KICAgICBzdHJ1Y3QgX19pc19pbnRlZ3JhbF9oZWxwZXI8X19HTElCQ1hY X1RZUEVfSU5UX05fMT4KICAgICA6IHB1YmxpYyB0cnVlX3R5cGUgeyB9OwogCisgIF9fZXh0ZW5z aW9uX18KICAgdGVtcGxhdGU8PgogICAgIHN0cnVjdCBfX2lzX2ludGVncmFsX2hlbHBlcjx1bnNp Z25lZCBfX0dMSUJDWFhfVFlQRV9JTlRfTl8xPgogICAgIDogcHVibGljIHRydWVfdHlwZSB7IH07 CiAjZW5kaWYKICNpZiBkZWZpbmVkKF9fR0xJQkNYWF9UWVBFX0lOVF9OXzIpCisgIF9fZXh0ZW5z aW9uX18KICAgdGVtcGxhdGU8PgogICAgIHN0cnVjdCBfX2lzX2ludGVncmFsX2hlbHBlcjxfX0dM SUJDWFhfVFlQRV9JTlRfTl8yPgogICAgIDogcHVibGljIHRydWVfdHlwZSB7IH07CiAKKyAgX19l eHRlbnNpb25fXwogICB0ZW1wbGF0ZTw+CiAgICAgc3RydWN0IF9faXNfaW50ZWdyYWxfaGVscGVy PHVuc2lnbmVkIF9fR0xJQkNYWF9UWVBFX0lOVF9OXzI+CiAgICAgOiBwdWJsaWMgdHJ1ZV90eXBl IHsgfTsKICNlbmRpZgogI2lmIGRlZmluZWQoX19HTElCQ1hYX1RZUEVfSU5UX05fMykKKyAgX19l eHRlbnNpb25fXwogICB0ZW1wbGF0ZTw+CiAgICAgc3RydWN0IF9faXNfaW50ZWdyYWxfaGVscGVy PF9fR0xJQkNYWF9UWVBFX0lOVF9OXzM+CiAgICAgOiBwdWJsaWMgdHJ1ZV90eXBlIHsgfTsKIAor ICBfX2V4dGVuc2lvbl9fCiAgIHRlbXBsYXRlPD4KICAgICBzdHJ1Y3QgX19pc19pbnRlZ3JhbF9o ZWxwZXI8dW5zaWduZWQgX19HTElCQ1hYX1RZUEVfSU5UX05fMz4KICAgICA6IHB1YmxpYyB0cnVl X3R5cGUgeyB9OwogI2VuZGlmCi0jcHJhZ21hIEdDQyBkaWFnbm9zdGljIHBvcAogICAvLy8gQGVu ZGNvbmQKIAogICAvLy8gaXNfaW50ZWdyYWwKQEAgLTYyMSwxMCArNjI1LDggQEAgX0dMSUJDWFhf QkVHSU5fTkFNRVNQQUNFX1ZFUlNJT04KICAgdGVtcGxhdGU8dHlwZW5hbWUgX1RwLCB0eXBlbmFt ZS4uLiBfVHlwZXM+CiAgICAgdXNpbmcgX19pc19vbmVfb2YgPSBfX29yXzxpc19zYW1lPF9UcCwg X1R5cGVzPi4uLj47CiAKLSNwcmFnbWEgR0NDIGRpYWdub3N0aWMgcHVzaAotI3ByYWdtYSBHQ0Mg ZGlhZ25vc3RpYyBpZ25vcmVkICItV3BlZGFudGljIgotCiAgIC8vIENoZWNrIGlmIGEgdHlwZSBp cyBvbmUgb2YgdGhlIHNpZ25lZCBpbnRlZ2VyIHR5cGVzLgorICBfX2V4dGVuc2lvbl9fCiAgIHRl bXBsYXRlPHR5cGVuYW1lIF9UcD4KICAgICB1c2luZyBfX2lzX3NpZ25lZF9pbnRlZ2VyID0gX19p c19vbmVfb2Y8X19yZW1vdmVfY3ZfdDxfVHA+LAogCSAgc2lnbmVkIGNoYXIsIHNpZ25lZCBzaG9y dCwgc2lnbmVkIGludCwgc2lnbmVkIGxvbmcsCkBAIC02NDQsNiArNjQ2LDcgQEAgX0dMSUJDWFhf QkVHSU5fTkFNRVNQQUNFX1ZFUlNJT04KIAkgID47CiAKICAgLy8gQ2hlY2sgaWYgYSB0eXBlIGlz IG9uZSBvZiB0aGUgdW5zaWduZWQgaW50ZWdlciB0eXBlcy4KKyAgX19leHRlbnNpb25fXwogICB0 ZW1wbGF0ZTx0eXBlbmFtZSBfVHA+CiAgICAgdXNpbmcgX19pc191bnNpZ25lZF9pbnRlZ2VyID0g X19pc19vbmVfb2Y8X19yZW1vdmVfY3ZfdDxfVHA+LAogCSAgdW5zaWduZWQgY2hhciwgdW5zaWdu ZWQgc2hvcnQsIHVuc2lnbmVkIGludCwgdW5zaWduZWQgbG9uZywKQEAgLTY2MSw3ICs2NjQsNiBA QCBfR0xJQkNYWF9CRUdJTl9OQU1FU1BBQ0VfVkVSU0lPTgogCSAgLCB1bnNpZ25lZCBfX0dMSUJD WFhfVFlQRV9JTlRfTl8zCiAjZW5kaWYKIAkgID47Ci0jcHJhZ21hIEdDQyBkaWFnbm9zdGljIHBv cAogCiAgIC8vIENoZWNrIGlmIGEgdHlwZSBpcyBvbmUgb2YgdGhlIHNpZ25lZCBvciB1bnNpZ25l ZCBpbnRlZ2VyIHR5cGVzLgogICB0ZW1wbGF0ZTx0eXBlbmFtZSBfVHA+CkBAIC0xNzI1LDMyICsx NzI3LDMxIEBAIF9HTElCQ1hYX0JFR0lOX05BTUVTUEFDRV9WRVJTSU9OCiAgICAgc3RydWN0IF9f bWFrZV91bnNpZ25lZDxsb25nIGxvbmc+CiAgICAgeyB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgbG9u ZyBfX3R5cGU7IH07CiAKLSNwcmFnbWEgR0NDIGRpYWdub3N0aWMgcHVzaAotI3ByYWdtYSBHQ0Mg ZGlhZ25vc3RpYyBpZ25vcmVkICItV3BlZGFudGljIgotCiAjaWYgZGVmaW5lZChfX0dMSUJDWFhf VFlQRV9JTlRfTl8wKQorICBfX2V4dGVuc2lvbl9fCiAgIHRlbXBsYXRlPD4KICAgICBzdHJ1Y3Qg X19tYWtlX3Vuc2lnbmVkPF9fR0xJQkNYWF9UWVBFX0lOVF9OXzA+CiAgICAgeyB0eXBlZGVmIHVu c2lnbmVkIF9fR0xJQkNYWF9UWVBFX0lOVF9OXzAgX190eXBlOyB9OwogI2VuZGlmCiAjaWYgZGVm aW5lZChfX0dMSUJDWFhfVFlQRV9JTlRfTl8xKQorICBfX2V4dGVuc2lvbl9fCiAgIHRlbXBsYXRl PD4KICAgICBzdHJ1Y3QgX19tYWtlX3Vuc2lnbmVkPF9fR0xJQkNYWF9UWVBFX0lOVF9OXzE+CiAg ICAgeyB0eXBlZGVmIHVuc2lnbmVkIF9fR0xJQkNYWF9UWVBFX0lOVF9OXzEgX190eXBlOyB9Owog I2VuZGlmCiAjaWYgZGVmaW5lZChfX0dMSUJDWFhfVFlQRV9JTlRfTl8yKQorICBfX2V4dGVuc2lv bl9fCiAgIHRlbXBsYXRlPD4KICAgICBzdHJ1Y3QgX19tYWtlX3Vuc2lnbmVkPF9fR0xJQkNYWF9U WVBFX0lOVF9OXzI+CiAgICAgeyB0eXBlZGVmIHVuc2lnbmVkIF9fR0xJQkNYWF9UWVBFX0lOVF9O XzIgX190eXBlOyB9OwogI2VuZGlmCiAjaWYgZGVmaW5lZChfX0dMSUJDWFhfVFlQRV9JTlRfTl8z KQorICBfX2V4dGVuc2lvbl9fCiAgIHRlbXBsYXRlPD4KICAgICBzdHJ1Y3QgX19tYWtlX3Vuc2ln bmVkPF9fR0xJQkNYWF9UWVBFX0lOVF9OXzM+CiAgICAgeyB0eXBlZGVmIHVuc2lnbmVkIF9fR0xJ QkNYWF9UWVBFX0lOVF9OXzMgX190eXBlOyB9OwogI2VuZGlmCiAKLSNwcmFnbWEgR0NDIGRpYWdu b3N0aWMgcG9wCi0KICAgLy8gU2VsZWN0IGJldHdlZW4gaW50ZWdyYWwgYW5kIGVudW06IG5vdCBw b3NzaWJsZSB0byBiZSBib3RoLgogICB0ZW1wbGF0ZTx0eXBlbmFtZSBfVHAsCiAJICAgYm9vbCBf SXNJbnQgPSBpc19pbnRlZ3JhbDxfVHA+Ojp2YWx1ZSwKQEAgLTE4ODYsMzIgKzE4ODcsMzEgQEAg X0dMSUJDWFhfQkVHSU5fTkFNRVNQQUNFX1ZFUlNJT04KICAgICBzdHJ1Y3QgX19tYWtlX3NpZ25l ZDx1bnNpZ25lZCBsb25nIGxvbmc+CiAgICAgeyB0eXBlZGVmIHNpZ25lZCBsb25nIGxvbmcgX190 eXBlOyB9OwogCi0jcHJhZ21hIEdDQyBkaWFnbm9zdGljIHB1c2gKLSNwcmFnbWEgR0NDIGRpYWdu b3N0aWMgaWdub3JlZCAiLVdwZWRhbnRpYyIKLQogI2lmIGRlZmluZWQoX19HTElCQ1hYX1RZUEVf SU5UX05fMCkKKyAgX19leHRlbnNpb25fXwogICB0ZW1wbGF0ZTw+CiAgICAgc3RydWN0IF9fbWFr ZV9zaWduZWQ8dW5zaWduZWQgX19HTElCQ1hYX1RZUEVfSU5UX05fMD4KICAgICB7IHR5cGVkZWYg X19HTElCQ1hYX1RZUEVfSU5UX05fMCBfX3R5cGU7IH07CiAjZW5kaWYKICNpZiBkZWZpbmVkKF9f R0xJQkNYWF9UWVBFX0lOVF9OXzEpCisgIF9fZXh0ZW5zaW9uX18KICAgdGVtcGxhdGU8PgogICAg IHN0cnVjdCBfX21ha2Vfc2lnbmVkPHVuc2lnbmVkIF9fR0xJQkNYWF9UWVBFX0lOVF9OXzE+CiAg ICAgeyB0eXBlZGVmIF9fR0xJQkNYWF9UWVBFX0lOVF9OXzEgX190eXBlOyB9OwogI2VuZGlmCiAj aWYgZGVmaW5lZChfX0dMSUJDWFhfVFlQRV9JTlRfTl8yKQorICBfX2V4dGVuc2lvbl9fCiAgIHRl bXBsYXRlPD4KICAgICBzdHJ1Y3QgX19tYWtlX3NpZ25lZDx1bnNpZ25lZCBfX0dMSUJDWFhfVFlQ RV9JTlRfTl8yPgogICAgIHsgdHlwZWRlZiBfX0dMSUJDWFhfVFlQRV9JTlRfTl8yIF9fdHlwZTsg fTsKICNlbmRpZgogI2lmIGRlZmluZWQoX19HTElCQ1hYX1RZUEVfSU5UX05fMykKKyAgX19leHRl bnNpb25fXwogICB0ZW1wbGF0ZTw+CiAgICAgc3RydWN0IF9fbWFrZV9zaWduZWQ8dW5zaWduZWQg X19HTElCQ1hYX1RZUEVfSU5UX05fMz4KICAgICB7IHR5cGVkZWYgX19HTElCQ1hYX1RZUEVfSU5U X05fMyBfX3R5cGU7IH07CiAjZW5kaWYKIAotI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBwb3AKLQog ICAvLyBTZWxlY3QgYmV0d2VlbiBpbnRlZ3JhbCBhbmQgZW51bTogbm90IHBvc3NpYmxlIHRvIGJl IGJvdGguCiAgIHRlbXBsYXRlPHR5cGVuYW1lIF9UcCwKIAkgICBib29sIF9Jc0ludCA9IGlzX2lu dGVncmFsPF9UcD46OnZhbHVlLAo= --000000000000a911da05c73d33d2--