From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf1-x436.google.com (mail-pf1-x436.google.com [IPv6:2607:f8b0:4864:20::436]) by sourceware.org (Postfix) with ESMTPS id E6012388A80D for ; Tue, 13 Jul 2021 16:35:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org E6012388A80D Received: by mail-pf1-x436.google.com with SMTP id a127so20148931pfa.10 for ; Tue, 13 Jul 2021 09:35:55 -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=mtl7MamY060XWEm1mklr0rDek/AmBsa/Q5IUyd/xvRQ=; b=k40FsuCQZiKr5o5mEnIrlzQ2CV3CTw+iCMPinzlajL0pKY+qeVAnTJB8i13gzngtOL mVpzKfHlThBB7DOWPad6ksuQVrb6u63tCxi7CCZ53bhqGVHP4QaZl+IfgeFZsASOM9QJ acgA7gXtRPz2GtJ48/FMGS8DRLS8qvABuX+0N7grNYNPzhSjBEJ2lFxAz46H2nWVtS7u Bz2MPpqdiISjqgNNc9AQG82SYPY4AVFrpqk/9Xdp2pn7mH3uSTEnLHFQRWG++IGH6uRw BnttNRZpADMHFyzu4U30UI48PkqatEi6WxcvHKqjnfKUdzmHpAmmzgWz1KNZKHtto/z0 a17A== X-Gm-Message-State: AOAM530t6zPZDmK0N3l945VdAzvSARfTP5p4JoWk3dJJhzsqIBH+njWL AhK9ptAWWD/UW/q3fKSWvvZt9qZqmFkeE97Bo5M= X-Google-Smtp-Source: ABdhPJxEFwdGFmsTci3mpVxj/9at8+P87p3GdKVfhY9KcUjXNsWHpy15WMWDZf+IkcI5nLGb70QofxKchRGX8T7mMWo= X-Received: by 2002:aa7:8812:0:b029:32d:8252:fd0 with SMTP id c18-20020aa788120000b029032d82520fd0mr5433488pfo.48.1626194154858; Tue, 13 Jul 2021 09:35:54 -0700 (PDT) MIME-Version: 1.0 References: <20210713015130.6297-1-hjl.tools@gmail.com> <20210713065556.GI2380545@tucnak> In-Reply-To: <20210713065556.GI2380545@tucnak> From: "H.J. Lu" Date: Tue, 13 Jul 2021 09:35:18 -0700 Message-ID: Subject: [PATCH v3] x86: Don't enable UINTR in 32-bit mode To: Jakub Jelinek , Hongyu Wang Cc: GCC Patches , Uros Bizjak Content-Type: multipart/mixed; boundary="000000000000efcff205c703d460" X-Spam-Status: No, score=-3031.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, 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: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Jul 2021 16:35:58 -0000 --000000000000efcff205c703d460 Content-Type: text/plain; charset="UTF-8" On Mon, Jul 12, 2021 at 11:56 PM Jakub Jelinek wrote: > > On Mon, Jul 12, 2021 at 06:51:30PM -0700, H.J. Lu wrote: > > @@ -404,9 +404,18 @@ const char *host_detect_local_cpu (int argc, const char **argv) > > if (argc < 1) > > return NULL; > > I think it would be simpler to use 2 arguments instead of one. > So change the above to if (argc < 2) Fixed. > > > > - arch = !strcmp (argv[0], "arch"); > > + arch = !strncmp (argv[0], "arch", 4); > > > > - if (!arch && strcmp (argv[0], "tune")) > > + if (!arch && strncmp (argv[0], "tune", 4)) > > + return NULL; > > Keep strcmp as is here. Fixed. > > + > > + bool codegen_x86_64; > > + > > + if (!strcmp (argv[0] + 4, "32")) > > + codegen_x86_64 = false; > > + else if (!strcmp (argv[0] + 4, "64")) > > + codegen_x86_64 = true; > > + else > > return NULL; > > Check argv[1] here instead. Fixed. > > @@ -813,7 +826,8 @@ const char *host_detect_local_cpu (int argc, const char **argv) > > } > > > > done: > > - return concat (cache, "-m", argv[0], "=", cpu, options, NULL); > > + const char *moption = arch ? "-march=" : "-mtune="; > > + return concat (cache, moption, cpu, options, NULL); > > } > > #else > > You don't need this change. Fixed. > > diff --git a/gcc/config/i386/i386-options.c b/gcc/config/i386/i386-options.c > > index 7a35c468da3..7cba655595e 100644 > > --- a/gcc/config/i386/i386-options.c > > +++ b/gcc/config/i386/i386-options.c > > @@ -2109,6 +2109,7 @@ ix86_option_override_internal (bool main_args_p, > > #define DEF_PTA(NAME) \ > > if (((processor_alias_table[i].flags & PTA_ ## NAME) != 0) \ > > && PTA_ ## NAME != PTA_64BIT \ > > + && (TARGET_64BIT || PTA_ ## NAME != PTA_UINTR) \ > > && !TARGET_EXPLICIT_ ## NAME ## _P (opts)) \ > > SET_TARGET_ ## NAME (opts); > > #include "i386-isa.def" > > diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h > > index 8c3eace56da..ae9f455c48d 100644 > > --- a/gcc/config/i386/i386.h > > +++ b/gcc/config/i386/i386.h > > @@ -577,9 +577,12 @@ extern const char *host_detect_local_cpu (int argc, const char **argv); > > #define CC1_CPU_SPEC CC1_CPU_SPEC_1 > > #else > > #define CC1_CPU_SPEC CC1_CPU_SPEC_1 \ > > -"%{march=native:%>march=native %:local_cpu_detect(arch) \ > > - %{!mtune=*:%>mtune=native %:local_cpu_detect(tune)}} \ > > -%{mtune=native:%>mtune=native %:local_cpu_detect(tune)}" > > +"%{" OPT_ARCH32 ":%{march=native:%>march=native %:local_cpu_detect(arch32) \ > > + %{!mtune=*:%>mtune=native %:local_cpu_detect(tune32)}}}" \ > > +"%{" OPT_ARCH32 ":%{mtune=native:%>mtune=native %:local_cpu_detect(tune32)}}" \ > > +"%{" OPT_ARCH64 ":%{march=native:%>march=native %:local_cpu_detect(arch64) \ > > + %{!mtune=*:%>mtune=native %:local_cpu_detect(tune64)}}}" \ > > +"%{" OPT_ARCH64 ":%{mtune=native:%>mtune=native %:local_cpu_detect(tune64)}}" > > And you can use > #define ARCH_ARG "%{" OPT_ARCH64 ":64;32}" I added #define ARCH_ARG "%{" OPT_ARCH64 ":64;:32}" > %:local_cpu_detect(arch, " ARCH_ARG ") > etc. > > Jakub > Here is the v3 patch. OK for master? Thanks. -- H.J. --000000000000efcff205c703d460 Content-Type: text/x-patch; charset="US-ASCII"; name="v3-0001-x86-Don-t-enable-UINTR-in-32-bit-mode.patch" Content-Disposition: attachment; filename="v3-0001-x86-Don-t-enable-UINTR-in-32-bit-mode.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kr29xtmj0 RnJvbSBjZWFiODFlZjk3YWIxMDJjNDEwODMwYzQxYmE3ZmVhOTExMTcwZDFhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiSC5KLiBMdSIgPGhqbC50b29sc0BnbWFpbC5jb20+CkRhdGU6 IEZyaSwgOSBKdWwgMjAyMSAwOToxNjowMSAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggdjNdIHg4Njog RG9uJ3QgZW5hYmxlIFVJTlRSIGluIDMyLWJpdCBtb2RlCgpVSU5UUiBpcyBhdmFpbGFibGUgb25s eSBpbiA2NC1iaXQgbW9kZS4gIFNpbmNlIHRoZSBjb2RlZ2VuIHRhcmdldCBpcwp1bmtub3duIHdo ZW4gdGhlIHRoZSBnY2MgZHJpdmVyIGlzIHByb2Nlc3NpbmcgLW1hcmNoPW5hdGl2ZSwgdG8gcHJv cGVybHkKaGFuZGxlIFVJTlRSIGZvciAtbWFyY2g9bmF0aXZlOgoKMS4gUGFzcyAiYXJjaCBbMzJ8 NjRdIiBhbmQgInR1bmUgWzMyfDY0XSIgdG8gaG9zdF9kZXRlY3RfbG9jYWxfY3B1IHRvCmluZGlj YXRlIDMyLWJpdCBhbmQgNjQtYml0IGNvZGVnZW4uCjIuIENoYW5nZSBpeDg2X29wdGlvbl9vdmVy cmlkZV9pbnRlcm5hbCB0byBlbmFibGUgVUlOVFIgb25seSBpbiA2NC1iaXQKbW9kZSBmb3IgLW1h cmNoPUNQVSB3aGVuIFBUQV9DUFUgaW5jbHVkZXMgUFRBX1VJTlRSLgoKZ2NjLwoKCVBSIHRhcmdl dC8xMDEzOTUKCSogY29uZmlnL2kzODYvZHJpdmVyLWkzODYuYyAoaG9zdF9kZXRlY3RfbG9jYWxf Y3B1KTogQ2hlY2sKCSJhcmNoIFszMnw2NF0iIGFuZCAidHVuZSBbMzJ8NjRdIiBmb3IgMzItYml0 IGFuZCA2NC1iaXQgY29kZWdlbi4KCUVuYWJsZSBVSU5UUiBvbmx5IGZvciA2NC1iaXQgY29kZWdl bi4KCSogY29uZmlnL2kzODYvaTM4Ni1vcHRpb25zLmMKCShpeDg2X29wdGlvbl9vdmVycmlkZV9p bnRlcm5hbDo6REVGX1BUQSk6IFNraXAgUFRBX1VJTlRSIGlmIG5vdAoJaW4gNjQtYml0IG1vZGUu CgkqIGNvbmZpZy9pMzg2L2kzODYuaCAoQVJDSF9BUkcpOiBOZXcuCgkoQ0MxX0NQVV9TUEVDKTog UGFzcyAiW2FyY2h8dHVuZV0gMzIiIGZvciAzMi1iaXQgY29kZWdlbiBhbmQKCSJbYXJjaHx0dW5l XSA2NCIgZm9yIDY0LWJpdCBjb2RlZ2VuLgoKZ2NjL3Rlc3RzdWl0ZS8KCglQUiB0YXJnZXQvMTAx Mzk1CgkqIGdjYy50YXJnZXQvaTM4Ni9wcjEwMTM5NS0xLmM6IE5ldyB0ZXN0LgoJKiBnY2MudGFy Z2V0L2kzODYvcHIxMDEzOTUtMi5jOiBMaWtld2lzZS4KCSogZ2NjLnRhcmdldC9pMzg2L3ByMTAx Mzk1LTMuYzogTGlrZXdpc2UuCi0tLQogZ2NjL2NvbmZpZy9pMzg2L2RyaXZlci1pMzg2LmMgICAg ICAgICAgICAgIHwgMjUgKysrKysrKysrKysrKysrKy0tLS0tLQogZ2NjL2NvbmZpZy9pMzg2L2kz ODYtb3B0aW9ucy5jICAgICAgICAgICAgIHwgIDEgKwogZ2NjL2NvbmZpZy9pMzg2L2kzODYuaCAg ICAgICAgICAgICAgICAgICAgIHwgIDcgKysrLS0tCiBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv aTM4Ni9wcjEwMTM5NS0xLmMgfCAxMiArKysrKysrKysrKwogZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L2kzODYvcHIxMDEzOTUtMi5jIHwgMjIgKysrKysrKysrKysrKysrKysrKwogZ2NjL3Rlc3Rz dWl0ZS9nY2MudGFyZ2V0L2kzODYvcHIxMDEzOTUtMy5jIHwgIDYgKysrKysrCiA2IGZpbGVzIGNo YW5nZWQsIDY0IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2 NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHIxMDEzOTUtMS5jCiBjcmVhdGUgbW9k ZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHIxMDEzOTUtMi5jCiBjcmVh dGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHIxMDEzOTUtMy5j CgpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9pMzg2L2RyaXZlci1pMzg2LmMgYi9nY2MvY29uZmln L2kzODYvZHJpdmVyLWkzODYuYwppbmRleCBkZDkyMzY2MTZiNC4uZjg0NGExNjhkZGIgMTAwNjQ0 Ci0tLSBhL2djYy9jb25maWcvaTM4Ni9kcml2ZXItaTM4Ni5jCisrKyBiL2djYy9jb25maWcvaTM4 Ni9kcml2ZXItaTM4Ni5jCkBAIC0zNzAsOSArMzcwLDkgQEAgZGV0ZWN0X2NhY2hlc19pbnRlbCAo Ym9vbCB4ZW9uX21wLCB1bnNpZ25lZCBtYXhfbGV2ZWwsCiB9CiAKIC8qIFRoaXMgd2lsbCBiZSBj YWxsZWQgYnkgdGhlIHNwZWMgcGFyc2VyIGluIGdjYy5jIHdoZW4gaXQgc2VlcwotICAgYSAlOmxv Y2FsX2NwdV9kZXRlY3QoYXJncykgY29uc3RydWN0LiAgQ3VycmVudGx5IGl0IHdpbGwgYmUgY2Fs bGVkCi0gICB3aXRoIGVpdGhlciAiYXJjaCIgb3IgInR1bmUiIGFzIGFyZ3VtZW50IGRlcGVuZGlu ZyBvbiBpZiAtbWFyY2g9bmF0aXZlCi0gICBvciAtbXR1bmU9bmF0aXZlIGlzIHRvIGJlIHN1YnN0 aXR1dGVkLgorICAgYSAlOmxvY2FsX2NwdV9kZXRlY3QoYXJncykgY29uc3RydWN0LiAgQ3VycmVu dGx5IGl0IHdpbGwgYmUKKyAgIGNhbGxlZCB3aXRoIGVpdGhlciAiYXJjaCBbMzJ8NjRdIiBvciAi dHVuZSBbMzJ8NjRdIiBhcyBhcmd1bWVudAorICAgZGVwZW5kaW5nIG9uIGlmIC1tYXJjaD1uYXRp dmUgb3IgLW10dW5lPW5hdGl2ZSBpcyB0byBiZSBzdWJzdGl0dXRlZC4KIAogICAgSXQgcmV0dXJu cyBhIHN0cmluZyBjb250YWluaW5nIG5ldyBjb21tYW5kIGxpbmUgcGFyYW1ldGVycyB0byBiZQog ICAgcHV0IGF0IHRoZSBwbGFjZSBvZiB0aGUgYWJvdmUgdHdvIG9wdGlvbnMsIGRlcGVuZGluZyBv biB3aGF0IENQVQpAQCAtNDAxLDcgKzQwMSw3IEBAIGNvbnN0IGNoYXIgKmhvc3RfZGV0ZWN0X2xv Y2FsX2NwdSAoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KQogCiAgIHVuc2lnbmVkIGludCBs MnNpemVrYiA9IDA7CiAKLSAgaWYgKGFyZ2MgPCAxKQorICBpZiAoYXJnYyA8IDIpCiAgICAgcmV0 dXJuIE5VTEw7CiAKICAgYXJjaCA9ICFzdHJjbXAgKGFyZ3ZbMF0sICJhcmNoIik7CkBAIC00MDks NiArNDA5LDE1IEBAIGNvbnN0IGNoYXIgKmhvc3RfZGV0ZWN0X2xvY2FsX2NwdSAoaW50IGFyZ2Ms IGNvbnN0IGNoYXIgKiphcmd2KQogICBpZiAoIWFyY2ggJiYgc3RyY21wIChhcmd2WzBdLCAidHVu ZSIpKQogICAgIHJldHVybiBOVUxMOwogCisgIGJvb2wgY29kZWdlbl94ODZfNjQ7CisKKyAgaWYg KCFzdHJjbXAgKGFyZ3ZbMV0sICIzMiIpKQorICAgIGNvZGVnZW5feDg2XzY0ID0gZmFsc2U7Cisg IGVsc2UgaWYgKCFzdHJjbXAgKGFyZ3ZbMV0sICI2NCIpKQorICAgIGNvZGVnZW5feDg2XzY0ID0g dHJ1ZTsKKyAgZWxzZQorICAgIHJldHVybiBOVUxMOworCiAgIHN0cnVjdCBfX3Byb2Nlc3Nvcl9t b2RlbCBjcHVfbW9kZWwgPSB7IH07CiAgIHN0cnVjdCBfX3Byb2Nlc3Nvcl9tb2RlbDIgY3B1X21v ZGVsMiA9IHsgfTsKICAgdW5zaWduZWQgaW50IGNwdV9mZWF0dXJlczJbU0laRV9PRl9DUFVfRkVB VFVSRVNdID0geyB9OwpAQCAtODA0LDggKzgxMywxMiBAQCBjb25zdCBjaGFyICpob3N0X2RldGVj dF9sb2NhbF9jcHUgKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndikKIAlpZiAoaXNhX25hbWVz X3RhYmxlW2ldLm9wdGlvbikKIAkgIHsKIAkgICAgaWYgKGhhc19mZWF0dXJlIChpc2FfbmFtZXNf dGFibGVbaV0uZmVhdHVyZSkpCi0JICAgICAgb3B0aW9ucyA9IGNvbmNhdCAob3B0aW9ucywgIiAi LAotCQkJCWlzYV9uYW1lc190YWJsZVtpXS5vcHRpb24sIE5VTEwpOworCSAgICAgIHsKKwkJaWYg KGNvZGVnZW5feDg2XzY0CisJCSAgICB8fCBpc2FfbmFtZXNfdGFibGVbaV0uZmVhdHVyZSAhPSBG RUFUVVJFX1VJTlRSKQorCQkgIG9wdGlvbnMgPSBjb25jYXQgKG9wdGlvbnMsICIgIiwKKwkJCQkg ICAgaXNhX25hbWVzX3RhYmxlW2ldLm9wdGlvbiwgTlVMTCk7CisJICAgICAgfQogCSAgICBlbHNl CiAJICAgICAgb3B0aW9ucyA9IGNvbmNhdCAob3B0aW9ucywgbmVnX29wdGlvbiwKIAkJCQlpc2Ff bmFtZXNfdGFibGVbaV0ub3B0aW9uICsgMiwgTlVMTCk7CmRpZmYgLS1naXQgYS9nY2MvY29uZmln L2kzODYvaTM4Ni1vcHRpb25zLmMgYi9nY2MvY29uZmlnL2kzODYvaTM4Ni1vcHRpb25zLmMKaW5k ZXggN2EzNWM0NjhkYTMuLjdjYmE2NTU1OTVlIDEwMDY0NAotLS0gYS9nY2MvY29uZmlnL2kzODYv aTM4Ni1vcHRpb25zLmMKKysrIGIvZ2NjL2NvbmZpZy9pMzg2L2kzODYtb3B0aW9ucy5jCkBAIC0y MTA5LDYgKzIxMDksNyBAQCBpeDg2X29wdGlvbl9vdmVycmlkZV9pbnRlcm5hbCAoYm9vbCBtYWlu X2FyZ3NfcCwKICNkZWZpbmUgREVGX1BUQShOQU1FKSBcCiAJaWYgKCgocHJvY2Vzc29yX2FsaWFz X3RhYmxlW2ldLmZsYWdzICYgUFRBXyAjIyBOQU1FKSAhPSAwKSBcCiAJICAgICYmIFBUQV8gIyMg TkFNRSAhPSBQVEFfNjRCSVQgXAorCSAgICAmJiAoVEFSR0VUXzY0QklUIHx8IFBUQV8gIyMgTkFN RSAhPSBQVEFfVUlOVFIpIFwKIAkgICAgJiYgIVRBUkdFVF9FWFBMSUNJVF8gIyMgTkFNRSAjIyBf UCAob3B0cykpIFwKIAkgIFNFVF9UQVJHRVRfICMjIE5BTUUgKG9wdHMpOwogI2luY2x1ZGUgImkz ODYtaXNhLmRlZiIKZGlmZiAtLWdpdCBhL2djYy9jb25maWcvaTM4Ni9pMzg2LmggYi9nY2MvY29u ZmlnL2kzODYvaTM4Ni5oCmluZGV4IDhjM2VhY2U1NmRhLi4zMjRlOGE5NTJkOSAxMDA2NDQKLS0t IGEvZ2NjL2NvbmZpZy9pMzg2L2kzODYuaAorKysgYi9nY2MvY29uZmlnL2kzODYvaTM4Ni5oCkBA IC01NzYsMTAgKzU3NiwxMSBAQCBleHRlcm4gY29uc3QgY2hhciAqaG9zdF9kZXRlY3RfbG9jYWxf Y3B1IChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpOwogI2lmbmRlZiBIQVZFX0xPQ0FMX0NQ VV9ERVRFQ1QKICNkZWZpbmUgQ0MxX0NQVV9TUEVDIENDMV9DUFVfU1BFQ18xCiAjZWxzZQorI2Rl ZmluZSBBUkNIX0FSRyAiJXsiIE9QVF9BUkNINjQgIjo2NDs6MzJ9IgogI2RlZmluZSBDQzFfQ1BV X1NQRUMgQ0MxX0NQVV9TUEVDXzEgXAotIiV7bWFyY2g9bmF0aXZlOiU+bWFyY2g9bmF0aXZlICU6 bG9jYWxfY3B1X2RldGVjdChhcmNoKSBcCi0gICV7IW10dW5lPSo6JT5tdHVuZT1uYXRpdmUgJTps b2NhbF9jcHVfZGV0ZWN0KHR1bmUpfX0gXAotJXttdHVuZT1uYXRpdmU6JT5tdHVuZT1uYXRpdmUg JTpsb2NhbF9jcHVfZGV0ZWN0KHR1bmUpfSIKKyIle21hcmNoPW5hdGl2ZTolPm1hcmNoPW5hdGl2 ZSAlOmxvY2FsX2NwdV9kZXRlY3QoYXJjaCAiIEFSQ0hfQVJHICIpIFwKKyAgJXshbXR1bmU9Kjol Pm10dW5lPW5hdGl2ZSAlOmxvY2FsX2NwdV9kZXRlY3QodHVuZSAiIEFSQ0hfQVJHICIpfX0gXAor JXttdHVuZT1uYXRpdmU6JT5tdHVuZT1uYXRpdmUgJTpsb2NhbF9jcHVfZGV0ZWN0KHR1bmUgIiBB UkNIX0FSRyAiKX0iCiAjZW5kaWYKICNlbmRpZgogDApkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L2kzODYvcHIxMDEzOTUtMS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L2kzODYvcHIxMDEzOTUtMS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw Li43NGM4YmZlODkxYQotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdl dC9pMzg2L3ByMTAxMzk1LTEuYwpAQCAtMCwwICsxLDEyIEBACisvKiB7IGRnLWRvIGNvbXBpbGUg fSAqLworLyogeyBkZy1vcHRpb25zICItTzIgLW1hcmNoPXNhcHBoaXJlcmFwaWRzIiB9ICovCisK KyNpZmRlZiBfX3g4Nl82NF9fCisjIGlmbmRlZiBfX1VJTlRSX18KKyMgIGVycm9yIFVJTlRSIGlz IG5vdCBlbmFibGVkIGZvciBTYXBwaGlyZXJhcGlkcworIyBlbmRpZgorI2Vsc2UKKyMgaWZkZWYg X19VSU5UUl9fCisjICBlcnJvciBVSU5UUiBpcyBub3QgdXNhYmxlIGluIDMyLWJpdCBtb2RlCisj IGVuZGlmCisjZW5kaWYKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2 L3ByMTAxMzk1LTIuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByMTAxMzk1LTIu YwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZjJiNjc3ZjhjODAKLS0t IC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjEwMTM5NS0y LmMKQEAgLTAsMCArMSwyMiBAQAorLyogeyBkZy1kbyBydW4gfSAqLworLyogeyBkZy1vcHRpb25z ICItTzIgLW1hcmNoPW5hdGl2ZSIgfSAqLworCitpbnQKK21haW4gKCkKK3sKKyAgaWYgKF9fYnVp bHRpbl9jcHVfc3VwcG9ydHMgKCJ1aW50ciIpKQorICAgIHsKKyNpZmRlZiBfX3g4Nl82NF9fCisj IGlmbmRlZiBfX1VJTlRSX18KKyAgICAgIF9fYnVpbHRpbl9hYm9ydCAoKTsKKyMgZW5kaWYKKyNl bHNlCisjIGlmZGVmIF9fVUlOVFJfXworICAgICAgX19idWlsdGluX2Fib3J0ICgpOworIyBlbmRp ZgorI2VuZGlmCisgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgcmV0dXJuIDA7Cit9CmRpZmYg LS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjEwMTM5NS0zLmMgYi9nY2Mv dGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjEwMTM5NS0zLmMKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwMDAuLmJjNmFiNDIzYzkzCi0tLSAvZGV2L251bGwKKysrIGIvZ2Nj L3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHIxMDEzOTUtMy5jCkBAIC0wLDAgKzEsNiBAQAor LyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctb3B0aW9ucyAiLU8yIC1tYXJjaD1uYXRp dmUgLW1uby11aW50ciIgfSAqLworCisjaWZkZWYgX19VSU5UUl9fCisjIGVycm9yIFVJTlRSIHNo b3VsZCBiZSBkaXNhYmxlZAorI2VuZGlmCi0tIAoyLjMxLjEKCg== --000000000000efcff205c703d460--