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 4E6FC3858C39; Sun, 23 Jan 2022 17:34:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 4E6FC3858C39 ARC-Seal: i=1; a=rsa-sha256; t=1642959290; cv=none; d=zohomail.com; s=zohoarc; b=hoXgLDLXWqiMiQ/aIrJ2kjEKJMiy8QkcSaOAmY61Y9QQlV3ITINh4ozP0EwCVTEOHfYr1bnU2LQKW2uce3sUhpWGVz3S0QKoBew1nIHfwaaF73Jd5HKuGxQq4cuBJ6wHnZZTAe6qWpcqFNjzMrcvSQp091ti0cX9vqRymxDaKH0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1642959290; h=Content-Type:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; bh=zUGVmZKiHKWZdxESrhChLt5+nS45JAXvOtY3Stbkv0g=; b=J7bodwBETXJUsMTY7PPuZSqLJpTY+rgEHhw1S8/M9KOH8eCLG5L77Ysl6JQhWxGbGd20qq/cmNPoxA7yCuX3KCK0mufh/gSpquKTo6m9F+K6iH1sftvwAecvTd1xjggb5MA+89Ftvbpdkyas5LW2qk2fEx5k2N67C/UjjskLzhU= 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 16429592876405.673345572875064; Sun, 23 Jan 2022 09:34:47 -0800 (PST) Message-ID: Subject: Re: [PATCH] libgccjit: Add option to hide stderr logs [PR104073] From: Antoni Boucher To: David Malcolm , gcc-patches@gcc.gnu.org, jit@gcc.gnu.org Date: Sun, 23 Jan 2022 12:34:45 -0500 In-Reply-To: <0138b8a2502e17b43b66915015147ec9f9594ff4.camel@redhat.com> References: <26928da47b7f5cbcef6c9db31221fe59a83ef4b2.camel@zoho.com> <0138b8a2502e17b43b66915015147ec9f9594ff4.camel@redhat.com> Content-Type: multipart/mixed; boundary="=-8tnklsREqdx79O8s2t7t" User-Agent: Evolution 3.42.3 MIME-Version: 1.0 X-Zoho-Virus-Status: 1 X-ZohoMailClient: External X-Spam-Status: No, score=-10.5 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, RCVD_IN_MSPIKE_H2, 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: 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: Sun, 23 Jan 2022 17:34:59 -0000 --=-8tnklsREqdx79O8s2t7t Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Thanks for the review. Here's the updated patch. Le mardi 18 janvier 2022 =C3=A0 18:22 -0500, David Malcolm a =C3=A9crit=C2= =A0: > On Mon, 2022-01-17 at 21:02 -0500, Antoni Boucher via Gcc-patches > wrote: > > Hi. > > This option will be useful for rustc_codegen_gcc to hide the error > > about unsupported 128-bit integer types. > >=20 > > David, if you know of a better way to check if these types are > > supported than creating such a type and checking if it causes an > > error, > > I will not need this patch. >=20 > Off the top of my head I don't know of such a way. >=20 > That said, this seems to be vaguely analogous to a test in a > "configure" script, attempting a compile and seeing if it succeeds. >=20 > This seems like a useful pattern for libgccjit to support, so that > client code can query the capabilities of the host, so I think the > idea > of this patch is sound. >=20 > As for the details of the patch, I don't like adding new members to > the > enums in libgccjit.h; I prefer adding new entrypoints, as the latter > gives a way to tell if client code uses the new entrypoint as part of > the ELF metadata, so that we can tell directly that client code is > incompatible with an older libgccjit.so from the symbol metadata in > the > built binary. >=20 > So I'd prefer something like: >=20 > =C2=A0 extern void > =C2=A0 gcc_jit_context_set_bool_print_errors_to_stderr (gcc_jit_context > *ctxt, > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 int enabled); >=20 > where gcc_jit_context_set_bool_print_errors_to_stderr defaults to > true, > but client code can use: >=20 > =C2=A0 gcc_jit_context_set_bool_print_errors_to_stderr (ctxt, false); >=20 > Or maybe have a way to specify the FILE * for errors to be printed > to, > defaulting to stderr, but settable to NULL if you want to suppress > the > printing?=C2=A0 That might be more flexible. >=20 > Thoughts? > Dave >=20 --=-8tnklsREqdx79O8s2t7t Content-Disposition: attachment; filename*0=0001-libgccjit-Add-function-to-hide-stderr-logs-PR104073.patc; filename*1=h Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="0001-libgccjit-Add-function-to-hide-stderr-logs-PR104073.patch"; charset="UTF-8" RnJvbSAxZjFiN2QyMjk4OTU2MjY4ZTI2NzhhMTU3YTM0YzhmOWFjMzcwZjNhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbmkgQm91Y2hlciA8Ym91YW50b0B6b2hvLmNvbT4KRGF0 ZTogU3VuLCAyMyBKYW4gMjAyMiAxMTozNzowNyAtMDUwMApTdWJqZWN0OiBbUEFUQ0hdIGxpYmdj Y2ppdDogQWRkIGZ1bmN0aW9uIHRvIGhpZGUgc3RkZXJyIGxvZ3MgW1BSMTA0MDczXQoKMjAyMi0w MS0yMyAgQW50b25pIEJvdWNoZXIgPGJvdWFudG9Aem9oby5jb20KCmdjYy9qaXQvCglQUiBqaXQv MTA0MDczCgkqIGRvY3MvdG9waWNzL2NvbXBhdGliaWxpdHkucnN0IChMSUJHQ0NKSVRfQUJJXzIz KTogTmV3IEFCSSB0YWcuCgkqIGRvY3MvdG9waWNzL2NvbnRleHRzLnJzdDogQWRkIGRvY3VtZW50 YXRpb24gZm9yIHRoZSBuZXcKCWZ1bmN0aW9uIGdjY19qaXRfY29udGV4dF9zZXRfYm9vbF9wcmlu dF9lcnJvcnNfdG9fc3RkZXJyLgoJKiBqaXQtY29tbW9uLmg6IE5ldyBlbnVtIHZhbHVlCgkoSU5O RVJfQk9PTF9PUFRJT05fUFJJTlRfRVJST1JTX1RPX1NUREVSUikuCgkqIGppdC1yZWNvcmRpbmcu Y2M6IEhhbmRsZSB0aGUgbmV3IG9wdGlvbgoJSU5ORVJfQk9PTF9PUFRJT05fUFJJTlRfRVJST1JT X1RPX1NUREVSUi4KCSogbGliZ2Njaml0LmNjOiBOZXcgZnVuY3Rpb24KCShnY2Nfaml0X2NvbnRl eHRfc2V0X2Jvb2xfcHJpbnRfZXJyb3JzX3RvX3N0ZGVycikuCgkqIGxpYmdjY2ppdC5oOiBOZXcg ZnVuY3Rpb24KCShnY2Nfaml0X2NvbnRleHRfc2V0X2Jvb2xfcHJpbnRfZXJyb3JzX3RvX3N0ZGVy cikuCgkqIGxpYmdjY2ppdC5tYXAgKExJQkdDQ0pJVF9BQklfMjMpOiBOZXcgQUJJIHRhZy4KLS0t CiBnY2Mvaml0L2RvY3MvdG9waWNzL2NvbXBhdGliaWxpdHkucnN0IHwgIDkgKysrKysrKysrCiBn Y2Mvaml0L2RvY3MvdG9waWNzL2NvbnRleHRzLnJzdCAgICAgIHwgMTUgKysrKysrKysrKysrKysr CiBnY2Mvaml0L2ppdC1jb21tb24uaCAgICAgICAgICAgICAgICAgIHwgIDEgKwogZ2NjL2ppdC9q aXQtcmVjb3JkaW5nLmNjICAgICAgICAgICAgICB8IDI3ICsrKysrKysrKysrKysrKysrLS0tLS0t LS0tLQogZ2NjL2ppdC9saWJnY2NqaXQuY2MgICAgICAgICAgICAgICAgICB8IDE3ICsrKysrKysr KysrKysrKysrCiBnY2Mvaml0L2xpYmdjY2ppdC5oICAgICAgICAgICAgICAgICAgIHwgMTggKysr KysrKysrKysrKysrKysrCiBnY2Mvaml0L2xpYmdjY2ppdC5tYXAgICAgICAgICAgICAgICAgIHwg MTQgKysrKysrKysrKysrKysKIDcgZmlsZXMgY2hhbmdlZCwgOTEgaW5zZXJ0aW9ucygrKSwgMTAg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZ2NjL2ppdC9kb2NzL3RvcGljcy9jb21wYXRpYmls aXR5LnJzdCBiL2djYy9qaXQvZG9jcy90b3BpY3MvY29tcGF0aWJpbGl0eS5yc3QKaW5kZXggMTZj ZWJlMzFhMTAuLmQ0YjBjY2Q5OGZmIDEwMDY0NAotLS0gYS9nY2Mvaml0L2RvY3MvdG9waWNzL2Nv bXBhdGliaWxpdHkucnN0CisrKyBiL2djYy9qaXQvZG9jcy90b3BpY3MvY29tcGF0aWJpbGl0eS5y c3QKQEAgLTMwMiwzICszMDIsMTIgQEAgdGhyZWFkLWxvY2FsIHN0b3JhZ2UgbW9kZWwgb2YgYSB2 YXJpYWJsZToKIHNlY3Rpb24gb2YgYSB2YXJpYWJsZToKIAogICAqIDpmdW5jOmBnY2Nfaml0X2x2 YWx1ZV9zZXRfbGlua19zZWN0aW9uYAorCisuLiBfTElCR0NDSklUX0FCSV8yMzoKKworYGBMSUJH Q0NKSVRfQUJJXzIzYGAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitgYExJQkdDQ0pJVF9BQklf MjNgYCBjb3ZlcnMgdGhlIGFkZGl0aW9uIG9mIGFuIEFQSSBlbnRyeXBvaW50IHRvIGhpZGUgc3Rk ZXJyCitsb2dzOgorCisgICogOmZ1bmM6YGdjY19qaXRfY29udGV4dF9zZXRfYm9vbF9wcmludF9l cnJvcnNfdG9fc3RkZXJyYApkaWZmIC0tZ2l0IGEvZ2NjL2ppdC9kb2NzL3RvcGljcy9jb250ZXh0 cy5yc3QgYi9nY2Mvaml0L2RvY3MvdG9waWNzL2NvbnRleHRzLnJzdAppbmRleCA2OGFiN2FiMTMy MS4uMDBiNDUyNjJmZGEgMTAwNjQ0Ci0tLSBhL2djYy9qaXQvZG9jcy90b3BpY3MvY29udGV4dHMu cnN0CisrKyBiL2djYy9qaXQvZG9jcy90b3BpY3MvY29udGV4dHMucnN0CkBAIC00ODksNiArNDg5 LDIxIEBAIEJvb2xlYW4gb3B0aW9ucwogCiAgICAgICAjaWZkZWYgTElCR0NDSklUX0hBVkVfZ2Nj X2ppdF9jb250ZXh0X3NldF9ib29sX3VzZV9leHRlcm5hbF9kcml2ZXIKIAorLi4gZnVuY3Rpb246 OiB2b2lkIFwKKyAgICAgICAgICAgICAgZ2NjX2ppdF9jb250ZXh0X3NldF9ib29sX3ByaW50X2Vy cm9yc190b19zdGRlcnIgKGdjY19qaXRfY29udGV4dCAqY3R4dCwgXAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZW5h YmxlZCkKKworICAgQnkgZGVmYXVsdCwgbGliZ2Njaml0IHdpbGwgcHJpbnQgZXJyb3JzIHRvIHN0 ZGVyci4KKworICAgVGhpcyBlbnRyeXBvaW50IGNhbiBiZSB1c2VkIHRvIGRpc2FibGUgdGhlIHBy aW50aW5nLgorCisgICBUaGlzIGVudHJ5cG9pbnQgd2FzIGFkZGVkIGluIDpyZWY6YExJQkdDQ0pJ VF9BQklfMjNgOyB5b3UgY2FuIHRlc3QgZm9yCisgICBpdHMgcHJlc2VuY2UgdXNpbmcKKworICAg Li4gY29kZS1ibG9jazo6IGMKKworICAgICAgI2lmZGVmIExJQkdDQ0pJVF9IQVZFX2djY19qaXRf Y29udGV4dF9zZXRfYm9vbF9wcmludF9lcnJvcnNfdG9fc3RkZXJyCisKIEludGVnZXIgb3B0aW9u cwogKioqKioqKioqKioqKioqCiAKZGlmZiAtLWdpdCBhL2djYy9qaXQvaml0LWNvbW1vbi5oIGIv Z2NjL2ppdC9qaXQtY29tbW9uLmgKaW5kZXggMWE4Y2Q4YmFjN2IuLmMzYTBiNjc2NWMwIDEwMDY0 NAotLS0gYS9nY2Mvaml0L2ppdC1jb21tb24uaAorKysgYi9nY2Mvaml0L2ppdC1jb21tb24uaApA QCAtMTk4LDYgKzE5OCw3IEBAIGVudW0gaW5uZXJfYm9vbF9vcHRpb24KIHsKICAgSU5ORVJfQk9P TF9PUFRJT05fQUxMT1dfVU5SRUFDSEFCTEVfQkxPQ0tTLAogICBJTk5FUl9CT09MX09QVElPTl9V U0VfRVhURVJOQUxfRFJJVkVSLAorICBJTk5FUl9CT09MX09QVElPTl9QUklOVF9FUlJPUlNfVE9f U1RERVJSLAogCiAgIE5VTV9JTk5FUl9CT09MX09QVElPTlMKIH07CmRpZmYgLS1naXQgYS9nY2Mv aml0L2ppdC1yZWNvcmRpbmcuY2MgYi9nY2Mvaml0L2ppdC1yZWNvcmRpbmcuY2MKaW5kZXggMWUz ZmFkZmFjZDcuLjM2ZDk2MmVhMzkxIDEwMDY0NAotLS0gYS9nY2Mvaml0L2ppdC1yZWNvcmRpbmcu Y2MKKysrIGIvZ2NjL2ppdC9qaXQtcmVjb3JkaW5nLmNjCkBAIC01OTIsNiArNTkyLDcgQEAgcmVj b3JkaW5nOjpjb250ZXh0Ojpjb250ZXh0IChjb250ZXh0ICpwYXJlbnRfY3R4dCkKICAgICAgIG1l bXNldCAobV9pbnRfb3B0aW9ucywgMCwgc2l6ZW9mIChtX2ludF9vcHRpb25zKSk7CiAgICAgICBt ZW1zZXQgKG1fYm9vbF9vcHRpb25zLCAwLCBzaXplb2YgKG1fYm9vbF9vcHRpb25zKSk7CiAgICAg ICBtZW1zZXQgKG1faW5uZXJfYm9vbF9vcHRpb25zLCAwLCBzaXplb2YgKG1faW5uZXJfYm9vbF9v cHRpb25zKSk7CisgICAgICBtX2lubmVyX2Jvb2xfb3B0aW9uc1tJTk5FUl9CT09MX09QVElPTl9Q UklOVF9FUlJPUlNfVE9fU1RERVJSXSA9IHRydWU7CiAgICAgfQogCiAgIG1lbXNldCAobV9iYXNp Y190eXBlcywgMCwgc2l6ZW9mIChtX2Jhc2ljX3R5cGVzKSk7CkBAIC0xNTUxLDE1ICsxNTUyLDIw IEBAIHJlY29yZGluZzo6Y29udGV4dDo6YWRkX2Vycm9yX3ZhIChsb2NhdGlvbiAqbG9jLCBjb25z dCBjaGFyICpmbXQsIHZhX2xpc3QgYXApCiAgIGlmICghY3R4dF9wcm9nbmFtZSkKICAgICBjdHh0 X3Byb2duYW1lID0gImxpYmdjY2ppdC5zbyI7CiAKLSAgaWYgKGxvYykKLSAgICBmcHJpbnRmIChz dGRlcnIsICIlczogJXM6IGVycm9yOiAlc1xuIiwKLQkgICAgIGN0eHRfcHJvZ25hbWUsCi0JICAg ICBsb2MtPmdldF9kZWJ1Z19zdHJpbmcgKCksCi0JICAgICBlcnJtc2cpOwotICBlbHNlCi0gICAg ZnByaW50ZiAoc3RkZXJyLCAiJXM6IGVycm9yOiAlc1xuIiwKLQkgICAgIGN0eHRfcHJvZ25hbWUs Ci0JICAgICBlcnJtc2cpOworICBib29sIHByaW50X2Vycm9yc190b19zdGRlcnIgPQorICAgICAg Z2V0X2lubmVyX2Jvb2xfb3B0aW9uIChJTk5FUl9CT09MX09QVElPTl9QUklOVF9FUlJPUlNfVE9f U1RERVJSKTsKKyAgaWYgKHByaW50X2Vycm9yc190b19zdGRlcnIpCisgIHsKKyAgICBpZiAobG9j KQorICAgICAgZnByaW50ZiAoc3RkZXJyLCAiJXM6ICVzOiBlcnJvcjogJXNcbiIsCisJICAgICAg IGN0eHRfcHJvZ25hbWUsCisJICAgICAgIGxvYy0+Z2V0X2RlYnVnX3N0cmluZyAoKSwKKwkgICAg ICAgZXJybXNnKTsKKyAgICBlbHNlCisgICAgICBmcHJpbnRmIChzdGRlcnIsICIlczogZXJyb3I6 ICVzXG4iLAorCSAgICAgICBjdHh0X3Byb2duYW1lLAorCSAgICAgICBlcnJtc2cpOworICB9CiAK ICAgaWYgKCFtX2Vycm9yX2NvdW50KQogICAgIHsKQEAgLTE2ODcsNyArMTY5Myw4IEBAIHN0YXRp YyBjb25zdCBjaGFyICogY29uc3QKIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3QKICBpbm5lcl9i b29sX29wdGlvbl9yZXByb2R1Y2VyX3N0cmluZ3NbTlVNX0lOTkVSX0JPT0xfT1BUSU9OU10gPSB7 CiAgICJnY2Nfaml0X2NvbnRleHRfc2V0X2Jvb2xfYWxsb3dfdW5yZWFjaGFibGVfYmxvY2tzIiwK LSAgImdjY19qaXRfY29udGV4dF9zZXRfYm9vbF91c2VfZXh0ZXJuYWxfZHJpdmVyIgorICAiZ2Nj X2ppdF9jb250ZXh0X3NldF9ib29sX3VzZV9leHRlcm5hbF9kcml2ZXIiLAorICAiZ2NjX2ppdF9j b250ZXh0X3NldF9ib29sX3ByaW50X2Vycm9yc190b19zdGRlcnIiLAogfTsKIAogLyogV3JpdGUg dGhlIGN1cnJlbnQgdmFsdWUgb2YgYWxsIG9wdGlvbnMgdG8gdGhlIGxvZyBmaWxlIChpZiBhbnkp LiAgKi8KZGlmZiAtLWdpdCBhL2djYy9qaXQvbGliZ2Njaml0LmNjIGIvZ2NjL2ppdC9saWJnY2Nq aXQuY2MKaW5kZXggNGMzNTJlOGM5M2QuLjc3OGY4ZTkyNmEyIDEwMDY0NAotLS0gYS9nY2Mvaml0 L2xpYmdjY2ppdC5jYworKysgYi9nY2Mvaml0L2xpYmdjY2ppdC5jYwpAQCAtMzQzMSw2ICszNDMx LDIzIEBAIGdjY19qaXRfY29udGV4dF9zZXRfYm9vbF9hbGxvd191bnJlYWNoYWJsZV9ibG9ja3Mg KGdjY19qaXRfY29udGV4dCAqY3R4dCwKICAgICBib29sX3ZhbHVlKTsKIH0KIAorLyogUHVibGlj IGVudHJ5cG9pbnQuICBTZWUgZGVzY3JpcHRpb24gaW4gbGliZ2Njaml0LmguCisKKyAgIEFmdGVy IGVycm9yLWNoZWNraW5nLCB0aGUgcmVhbCB3b3JrIGlzIGRvbmUgYnkgdGhlCisgICBnY2M6Ompp dDo6cmVjb3JkaW5nOjpjb250ZXh0OjpzZXRfaW5uZXJfYm9vbF9vcHRpb24gbWV0aG9kIGluCisg ICBqaXQtcmVjb3JkaW5nLmNjLiAgKi8KKwordm9pZAorZ2NjX2ppdF9jb250ZXh0X3NldF9ib29s X3ByaW50X2Vycm9yc190b19zdGRlcnIgKGdjY19qaXRfY29udGV4dCAqY3R4dCwKKwkJCQkJCSBp bnQgZW5hYmxlZCkKK3sKKyAgUkVUVVJOX0lGX0ZBSUwgKGN0eHQsIE5VTEwsIE5VTEwsICJOVUxM IGNvbnRleHQiKTsKKyAgSklUX0xPR19GVU5DIChjdHh0LT5nZXRfbG9nZ2VyICgpKTsKKyAgY3R4 dC0+c2V0X2lubmVyX2Jvb2xfb3B0aW9uICgKKyAgICBnY2M6OmppdDo6SU5ORVJfQk9PTF9PUFRJ T05fUFJJTlRfRVJST1JTX1RPX1NUREVSUiwKKyAgICBlbmFibGVkKTsKK30KKwogLyogUHVibGlj IGVudHJ5cG9pbnQuICBTZWUgZGVzY3JpcHRpb24gaW4gbGliZ2Njaml0LmguCiAKICAgIEFmdGVy IGVycm9yLWNoZWNraW5nLCB0aGUgcmVhbCB3b3JrIGlzIGRvbmUgYnkgdGhlCmRpZmYgLS1naXQg YS9nY2Mvaml0L2xpYmdjY2ppdC5oIGIvZ2NjL2ppdC9saWJnY2NqaXQuaAppbmRleCAyYTVmZmFj YjFmZS4uMTZiODYzN2RkMGEgMTAwNjQ0Ci0tLSBhL2djYy9qaXQvbGliZ2Njaml0LmgKKysrIGIv Z2NjL2ppdC9saWJnY2NqaXQuaApAQCAtMjkzLDYgKzI5MywyNCBAQCBnY2Nfaml0X2NvbnRleHRf c2V0X2Jvb2xfYWxsb3dfdW5yZWFjaGFibGVfYmxvY2tzIChnY2Nfaml0X2NvbnRleHQgKmN0eHQs CiAgICB0ZXN0ZWQgZm9yIHdpdGggI2lmZGVmLiAgKi8KICNkZWZpbmUgTElCR0NDSklUX0hBVkVf Z2NjX2ppdF9jb250ZXh0X3NldF9ib29sX2FsbG93X3VucmVhY2hhYmxlX2Jsb2NrcwogCisvKiBC eSBkZWZhdWx0LCBsaWJnY2NqaXQgd2lsbCBwcmludCBlcnJvcnMgdG8gc3RkZXJyLgorCisgICBU aGlzIG9wdGlvbiBjYW4gYmUgdXNlZCB0byBkaXNhYmxlIHRoZSBwcmludGluZy4KKworICAgVGhp cyBlbnRyeXBvaW50IHdhcyBhZGRlZCBpbiBMSUJHQ0NKSVRfQUJJXzIzOyB5b3UgY2FuIHRlc3Qg Zm9yCisgICBpdHMgcHJlc2VuY2UgdXNpbmcKKyAgICAgI2lmZGVmIExJQkdDQ0pJVF9IQVZFX2dj Y19qaXRfY29udGV4dF9zZXRfYm9vbF9wcmludF9lcnJvcnNfdG9fc3RkZXJyCisqLworCitleHRl cm4gdm9pZAorZ2NjX2ppdF9jb250ZXh0X3NldF9ib29sX3ByaW50X2Vycm9yc190b19zdGRlcnIg KGdjY19qaXRfY29udGV4dCAqY3R4dCwKKwkJCQkJCSBpbnQgZW5hYmxlZCk7CisKKy8qIFByZS1j YW5uZWQgZmVhdHVyZSBtYWNybyB0byBpbmRpY2F0ZSB0aGUgcHJlc2VuY2Ugb2YKKyAgIGdjY19q aXRfY29udGV4dF9zZXRfYm9vbF9hbGxvd191bnJlYWNoYWJsZV9ibG9ja3MuICBUaGlzIGNhbiBi ZQorICAgdGVzdGVkIGZvciB3aXRoICNpZmRlZi4gICovCisjZGVmaW5lIExJQkdDQ0pJVF9IQVZF X2djY19qaXRfY29udGV4dF9zZXRfYm9vbF9wcmludF9lcnJvcnNfdG9fc3RkZXJyCisKIC8qIElt cGxlbWVudGF0aW9uIGRldGFpbDoKICAgIGxpYmdjY2ppdCBpbnRlcm5hbGx5IGdlbmVyYXRlcyBh c3NlbWJsZXIsIGFuZCB1c2VzICJkcml2ZXIiIGNvZGUKICAgIGZvciBjb252ZXJ0aW5nIGl0IHRv IG90aGVyIGZvcm1hdHMgKGUuZy4gc2hhcmVkIGxpYnJhcmllcykuCmRpZmYgLS1naXQgYS9nY2Mv aml0L2xpYmdjY2ppdC5tYXAgYi9nY2Mvaml0L2xpYmdjY2ppdC5tYXAKaW5kZXggZjM3M2ZkMzlh YzcuLmFhMTYxYjQzOGM4IDEwMDY0NAotLS0gYS9nY2Mvaml0L2xpYmdjY2ppdC5tYXAKKysrIGIv Z2NjL2ppdC9saWJnY2NqaXQubWFwCkBAIC0yNDMsMyArMjQzLDE3IEBAIExJQkdDQ0pJVF9BQklf MTkgewogICAgIGdjY19qaXRfY29udGV4dF9uZXdfdW5pb25fY29uc3RydWN0b3I7CiAgICAgZ2Nj X2ppdF9nbG9iYWxfc2V0X2luaXRpYWxpemVyX3J2YWx1ZTsKIH0gTElCR0NDSklUX0FCSV8xODsK KworTElCR0NDSklUX0FCSV8yMCB7Cit9IExJQkdDQ0pJVF9BQklfMTk7CisKK0xJQkdDQ0pJVF9B QklfMjEgeworfSBMSUJHQ0NKSVRfQUJJXzIwOworCitMSUJHQ0NKSVRfQUJJXzIyIHsKK30gTElC R0NDSklUX0FCSV8yMTsKKworTElCR0NDSklUX0FCSV8yMyB7CisgIGdsb2JhbDoKKyAgICBnY2Nf aml0X2NvbnRleHRfc2V0X2Jvb2xfcHJpbnRfZXJyb3JzX3RvX3N0ZGVycjsKK30gTElCR0NDSklU X0FCSV8yMjsKLS0gCjIuMjYuMi43LmcxOWRiOWNmYjY4LmRpcnR5Cgo= --=-8tnklsREqdx79O8s2t7t--