From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com [IPv6:2a00:1450:4864:20::52e]) by sourceware.org (Postfix) with ESMTPS id CFDE03858C50; Mon, 16 May 2022 11:27:06 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org CFDE03858C50 Received: by mail-ed1-x52e.google.com with SMTP id p26so1639684eds.5; Mon, 16 May 2022 04:27:06 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to; bh=sJkbJEondMGjDAl3NuNDJb35cR0cG1FPsfRJlY7ryZ4=; b=tZqMTIOHQHZzkPe7PNtcCk1rN8AJ3G5pA3ZQwlhhS4LJ+HlmcdezucVjOjcy7Arx/g lQJZb3NWA/d2Zod7uVmdcx8IEkuHI0m6aLljTquUaagrqxV11kQ5l2dakgkp/Z/FD7Dx AntCQA6TUU9frGm1kFIhPxs0lesfCqqXPCr7970lWWuR5VuHcA65gaOuwF1gpBIlPiaN dnys6EAPcY/GCqGmTsUptdj6ohACyyLPTDBF0t6dCvbLAxNYzy8jnLT4o1BkhCWoFjpQ 6EfSJOkLRWCC2ClrW3faj+5hFxxcqXgukEBqQ+FmThmaasnW8oTzEXbwIoCF6y1Lbpm0 sQXg== X-Gm-Message-State: AOAM531hZ9fbUIqSH+oMcUjlIhesa5mJq4co/hkUHvUNerApxxXidM1S ix2HC+l2NxdOmXDD4XVMklw= X-Google-Smtp-Source: ABdhPJzkgBrGRBy1EsBXLnjGK1783AxPzQ7mh3DpMTJ5066ylb0wdUZXlTjdIHIaojTclG5TTSR8qg== X-Received: by 2002:a05:6402:5253:b0:427:ed62:bb8b with SMTP id t19-20020a056402525300b00427ed62bb8bmr12869384edd.65.1652700425492; Mon, 16 May 2022 04:27:05 -0700 (PDT) Received: from [192.168.0.87] (ip-86-49-13-224.net.upcbroadband.cz. [86.49.13.224]) by smtp.gmail.com with ESMTPSA id hv6-20020a17090760c600b006f3ef214e60sm3544329ejc.198.2022.05.16.04.27.04 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 16 May 2022 04:27:05 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------dgdWUEp3ADMLgboOjvJBLWpy" Message-ID: Date: Mon, 16 May 2022 13:27:04 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.8.1 Subject: Re: [PATCH] [12/11/10] Fix invalid format warnings on Windows Content-Language: en-US To: Joseph Myers , =?UTF-8?Q?Martin_Li=c5=a1ka?= Cc: gcc-patches@gcc.gnu.org, Marek Polacek , redi@gcc.gnu.org, =?UTF-8?Q?Martin_Storsj=c3=b6?= References: <466c29c3-54b1-5627-3d9d-e385ad037a4e@suse.cz> <7fd8d3fb-e0c6-decc-374f-495ab81ab1ff@gmail.com> <8f515605-4fc0-148d-3011-a79f672ea025@suse.cz> From: Tomas Kalibera In-Reply-To: X-Spam-Status: No, score=-11.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, KAM_LOTSOFHASH, NICE_REPLY_A, 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 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: Mon, 16 May 2022 11:27:10 -0000 This is a multi-part message in MIME format. --------------dgdWUEp3ADMLgboOjvJBLWpy Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 5/11/22 18:43, Joseph Myers wrote: > There are various coding style issues in the patch; at least missing space > before '(' and '&&' at end of line (should be at start of line). It will > also need to be updated for .c files having been renamed to .cc in the GCC > source tree. Thanks, I've fixed the formatting issue and updated the patch for master, 12, 11 and 10. In addition to the renaming of .c to .cc files, there was also a change in the first argument of check_function_format. I've also removed a duplicated check for whether fndecl was null and fixed indentation. I've updated the patches for each version to also note that in c51f1e7427e6a5ae2a6d82b5a790df77a3adc99a gcc: Add `ll` and `L` length modifiers for `ms_printf` the ms_printf format has been taught to support (not warn about) printing the 64-bit integers using the "%ll" modifier (currently GCC 11 and newer). However, I assume there may be other differences between the ms_printf and gnu_printf formats people might run into, so it still makes sense to fix this not only in GCC 10, but also in newer versions. Furthermore, the attached patch is still needed (GCC 11, GCC 12, master) to get rid of duplicate warnings for an incorrect format (e.g. "%lu" used to print "unsigned long long"), when both ms_printf and gnu_printf formats are violated (PR 92292). Best Tomas --------------dgdWUEp3ADMLgboOjvJBLWpy Content-Type: text/x-patch; charset=UTF-8; name="master_0001-c-family-Let-stdio.h-override-built-in-printf-format.patch" Content-Disposition: attachment; filename*0="master_0001-c-family-Let-stdio.h-override-built-in-printf-fo"; filename*1="rmat.patch" Content-Transfer-Encoding: base64 RnJvbSA3ZDcyYzljYzM5NWRmNTZjZTA0NGY0YTBiMGI3N2MxNTFiZmUyYmY2IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBUb21hcyBLYWxpYmVyYSA8dG9tYXMua2FsaWJlcmFA Z21haWwuY29tPgpEYXRlOiBNb24sIDE2IE1heSAyMDIyIDA2OjQzOjA5IC0wNDAwClN1Ympl Y3Q6IFtQQVRDSF0gYy1mYW1pbHk6IExldCBzdGRpby5oIG92ZXJyaWRlIGJ1aWx0IGluIHBy aW50ZiBmb3JtYXQKIFtQUjk1MTMwLFBSOTIyOTJdCgpNaW5ndzMyIHRhcmdldHMgdXNlIG1z X3ByaW50ZiBmb3JtYXQgZm9yIHByaW50ZiwgYnV0IG1pbmd3LXc2NCB3aGVuCmNvbmZpZ3Vy ZWQgZm9yIFVDUlQgdXNlcyBnbnVfZm9ybWF0ICh2aWEgc3RkaW8uaCkuICBHQ0MgY2hlY2tz IGJvdGggZm9ybWF0cywKd2hpY2ggbWVhbnMgdGhhdCBvbmUgZ2V0cyBhIHdhcm5pbmcgdHdp Y2UgaWYgdGhlIGZvcm1hdCBzdHJpbmcgdmlvbGF0ZXMgYm90aApmb3JtYXRzOgoKICBwcmlu dGYoIkhlbGxvICVsdVxuIiwgKGxvbmcgbG9uZyB1bnNpZ25lZCkgeCk7CgpGaXhlZCBieSBk aXNhYmxpbmcgdGhlIGJ1aWx0IGluIGZvcm1hdCBpbiBjYXNlIHRoZXJlIGFyZSBhZGRpdGlv bmFsIG9uZXMuCgpUaGlzIGZpeGVzIGFsc28gcHJldmVudHMgaXNzdWVzIGlmIHRoZSBwcmlu dCBmb3JtYXRzIGRpc2FncmVlLiAgSW4gdGhlIHBhc3QKaXQgd2FzIHRoZSBjYXNlIHdoZW4g cHJpbnRpbmcgNjQtYml0IGludGVnZXJzLCBidXQgR0NDIG1zX3ByaW50ZiBmb3JtYXQgc2lu Y2UKYzUxZjFlNzQyN2U2YTVhZTJhNmQ4MmI1YTc5MGRmNzdhM2FkYzk5IHN1cHBvcnRzICVs bHUuCgpnY2MvYy1mYW1pbHkvQ2hhbmdlTG9nOgoKCVBSIGMvOTUxMzAKCVBSIGMvOTIyOTIK CgkqIGMtZm9ybWF0LmNjIChjaGVja19mdW5jdGlvbl9mb3JtYXQpOiBGb3IgYnVpbHRpbiBm dW5jdGlvbnMgd2l0aCBhCgkgIGJ1aWx0IGluIGZvcm1hdCBhbmQgYXQgbGVhc3Qgb25lIG1v cmUsIGRvIG5vdCBjaGVjayB0aGUgZmlyc3Qgb25lLgotLS0KIGdjYy9jLWZhbWlseS9jLWZv cm1hdC5jYyB8IDI5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKystCiAxIGZpbGUgY2hh bmdlZCwgMjggaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2dj Yy9jLWZhbWlseS9jLWZvcm1hdC5jYyBiL2djYy9jLWZhbWlseS9jLWZvcm1hdC5jYwppbmRl eCBlYTU3ZmRlODAxYy4uNzU5MGI0NjdlODEgMTAwNjQ0Ci0tLSBhL2djYy9jLWZhbWlseS9j LWZvcm1hdC5jYworKysgYi9nY2MvYy1mYW1pbHkvYy1mb3JtYXQuY2MKQEAgLTExNTcsOSAr MTE1NywxMCBAQCB2b2lkCiBjaGVja19mdW5jdGlvbl9mb3JtYXQgKGNvbnN0X3RyZWUgZm4s IHRyZWUgYXR0cnMsIGludCBuYXJncywKIAkJICAgICAgIHRyZWUgKmFyZ2FycmF5LCB2ZWM8 bG9jYXRpb25fdD4gKmFyZ2xvY3MpCiB7Ci0gIHRyZWUgYTsKKyAgdHJlZSBhLCBhYTsKIAog ICB0cmVlIGF0bmFtZSA9IGdldF9pZGVudGlmaWVyICgiZm9ybWF0Iik7CisgIGJvb2wgc2tp cHBlZF9kZWZhdWx0X2Zvcm1hdCA9IGZhbHNlOwogCiAgIC8qIFNlZSBpZiB0aGlzIGZ1bmN0 aW9uIGhhcyBhbnkgZm9ybWF0IGF0dHJpYnV0ZXMuICAqLwogICBmb3IgKGEgPSBhdHRyczsg YTsgYSA9IFRSRUVfQ0hBSU4gKGEpKQpAQCAtMTE3MCw2ICsxMTcxLDMyIEBAIGNoZWNrX2Z1 bmN0aW9uX2Zvcm1hdCAoY29uc3RfdHJlZSBmbiwgdHJlZSBhdHRycywgaW50IG5hcmdzLAog CSAgZnVuY3Rpb25fZm9ybWF0X2luZm8gaW5mbzsKIAkgIGRlY29kZV9mb3JtYXRfYXR0ciAo Zm4sIGF0bmFtZSwgVFJFRV9WQUxVRSAoYSksICZpbmZvLAogCQkJICAgICAgLyp2YWxpZGF0 ZWQ9Ki90cnVlKTsKKworCSAgLyogTWluZ3czMiB0YXJnZXRzIGhhdmUgdHJhZGl0aW9uYWxs eSB1c2VkIG1zX3ByaW50ZiBmb3JtYXQgZm9yIHRoZQorCSAgICAgcHJpbnRmIGZ1bmN0aW9u LCBhbmQgdGhpcyBmb3JtYXQgaXMgYnVpbHQgaW4gR0NDLiBCdXQgbm93YWRheXMsCisJICAg ICBpZiBtaW5ndy13NjQgaXMgY29uZmlndXJlZCB0byB0YXJnZXQgVUNSVCwgdGhlIHByaW50 ZiBmdW5jdGlvbgorCSAgICAgdXNlcyB0aGUgZ251X3ByaW50ZiBmb3JtYXQgKHNwZWNpZmll ZCBpbiB0aGUgc3RkaW8uaCBoZWFkZXIpLiBUaGlzCisJICAgICBjYXVzZXMgR0NDIHRvIGNo ZWNrIGJvdGggZm9ybWF0cywgd2hpY2ggbWVhbnMgdGhhdCBHQ0Mgd291bGQKKwkgICAgIHdh cm4gdHdpY2UgYWJvdXQgdGhlIHNhbWUgaXNzdWUgd2hlbiBib3RoIGZvcm1hdHMgYXJlIHZp b2xhdGVkLAorCSAgICAgZS5nLiBmb3IgJWx1IHVzZWQgdG8gcHJpbnQgbG9uZyBsb25nIHVu c2lnbmVkLgorCisJICAgICBIZW5jZSwgaWYgdGhlcmUgYXJlIG11bHRpcGxlIGZvcm1hdCBz cGVjaWZpZXJzLCB3ZSBza2lwIHRoZSBmaXJzdAorCSAgICAgb25lLiBTZWUgUFIgOTUxMzAg KGJ1dCBub3RlIHRoYXQgR0NDIG1zX3ByaW50ZiBhbHJlYWR5IHN1cHBvcnRzCisJICAgICAl bGx1KSBhbmQgUFIgOTIyOTIuICAqLworCisJICBpZiAoIXNraXBwZWRfZGVmYXVsdF9mb3Jt YXQgJiYgZm4gJiYgVFJFRV9DT0RFIChmbikgPT0gRlVOQ1RJT05fREVDTCkKKwkgICAgewor CSAgICAgIGZvcihhYSA9IFRSRUVfQ0hBSU4gKGEpOyBhYTsgYWEgPSBUUkVFX0NIQUlOIChh YSkpCisJCWlmIChpc19hdHRyaWJ1dGVfcCAoImZvcm1hdCIsIGdldF9hdHRyaWJ1dGVfbmFt ZSAoYWEpKQorCQkgICAgJiYgZm5kZWNsX2J1aWx0X2luX3AgKGZuLCBCVUlMVF9JTl9OT1JN QUwpKQorCQkgIHsKKwkJICAgIHNraXBwZWRfZGVmYXVsdF9mb3JtYXQgPSB0cnVlOworCQkg ICAgYnJlYWs7CisJCSAgfQorCSAgICAgIGlmIChza2lwcGVkX2RlZmF1bHRfZm9ybWF0KQor CQljb250aW51ZTsKKwkgICAgfQorCiAJICBpZiAod2Fybl9mb3JtYXQpCiAJICAgIHsKIAkg ICAgICAvKiBGSVhNRTogUmV3cml0ZSBhbGwgdGhlIGludGVybmFsIGZ1bmN0aW9ucyBpbiB0 aGlzIGZpbGUKLS0gCjIuMjUuMQoK --------------dgdWUEp3ADMLgboOjvJBLWpy Content-Type: text/x-patch; charset=UTF-8; name="12_0001-c-family-Let-stdio.h-override-built-in-printf-format.patch" Content-Disposition: attachment; filename*0="12_0001-c-family-Let-stdio.h-override-built-in-printf-format"; filename*1=".patch" Content-Transfer-Encoding: base64 RnJvbSBkNjQzMDk3NjBiYzdmNjFkYjEwYTdmMjhiYWYzMzA4ZDg3MWVmMWVkIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBUb21hcyBLYWxpYmVyYSA8dG9tYXMua2FsaWJlcmFA Z21haWwuY29tPgpEYXRlOiBNb24sIDE2IE1heSAyMDIyIDA2OjE2OjU1IC0wNDAwClN1Ympl Y3Q6IFtQQVRDSF0gYy1mYW1pbHk6IExldCBzdGRpby5oIG92ZXJyaWRlIGJ1aWx0IGluIHBy aW50ZiBmb3JtYXQKIFtQUjk1MTMwLFBSOTIyOTJdCgpNaW5ndzMyIHRhcmdldHMgdXNlIG1z X3ByaW50ZiBmb3JtYXQgZm9yIHByaW50ZiwgYnV0IG1pbmd3LXc2NCB3aGVuCmNvbmZpZ3Vy ZWQgZm9yIFVDUlQgdXNlcyBnbnVfZm9ybWF0ICh2aWEgc3RkaW8uaCkuICBHQ0MgY2hlY2tz IGJvdGggZm9ybWF0cywKd2hpY2ggbWVhbnMgdGhhdCBvbmUgZ2V0cyBhIHdhcm5pbmcgdHdp Y2UgaWYgdGhlIGZvcm1hdCBzdHJpbmcgdmlvbGF0ZXMgYm90aApmb3JtYXRzOgoKICBwcmlu dGYoIkhlbGxvICVsdVxuIiwgKGxvbmcgbG9uZyB1bnNpZ25lZCkgeCk7CgpGaXhlZCBieSBk aXNhYmxpbmcgdGhlIGJ1aWx0IGluIGZvcm1hdCBpbiBjYXNlIHRoZXJlIGFyZSBhZGRpdGlv bmFsIG9uZXMuCgpUaGlzIGZpeGVzIGFsc28gcHJldmVudHMgaXNzdWVzIGlmIHRoZSBwcmlu dCBmb3JtYXRzIGRpc2FncmVlLiAgSW4gdGhlIHBhc3QKaXQgd2FzIHRoZSBjYXNlIHdoZW4g cHJpbnRpbmcgNjQtYml0IGludGVnZXJzLCBidXQgR0NDIG1zX3ByaW50ZiBmb3JtYXQgc2lu Y2UKYzUxZjFlNzQyN2U2YTVhZTJhNmQ4MmI1YTc5MGRmNzdhM2FkYzk5IHN1cHBvcnRzICVs bHUuCgpnY2MvYy1mYW1pbHkvQ2hhbmdlTG9nOgoKCVBSIGMvOTUxMzAKCVBSIGMvOTIyOTIK CgkqIGMtY29tbW9uLmNjIChjaGVja19mdW5jdGlvbl9hcmd1bWVudHMpOiBQYXNzIGFsc28g ZnVuY3Rpb24KCSAgZGVjbGFyYXRpb24gdG8gY2hlY2tfZnVuY3Rpb25fZm9ybWF0LgoKCSog Yy1jb21tb24uaCAoY2hlY2tfZnVuY3Rpb25fZm9ybWF0KTogRXh0cmEgYXJndW1lbnQgLSBm dW5jdGlvbgoJICBkZWNsYXJhdGlvbi4KCgkqIGMtZm9ybWF0LmNjIChjaGVja19mdW5jdGlv bl9mb3JtYXQpOiBGb3IgYnVpbHRpbiBmdW5jdGlvbnMgd2l0aCBhCgkgIGJ1aWx0IGluIGZv cm1hdCBhbmQgYXQgbGVhc3Qgb25lIG1vcmUsIGRvIG5vdCBjaGVjayB0aGUgZmlyc3Qgb25l LgotLS0KIGdjYy9jLWZhbWlseS9jLWNvbW1vbi5jYyB8ICAyICstCiBnY2MvYy1mYW1pbHkv Yy1jb21tb24uaCAgfCAgMiArLQogZ2NjL2MtZmFtaWx5L2MtZm9ybWF0LmNjIHwgMzIgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KIDMgZmlsZXMgY2hhbmdlZCwgMzIgaW5z ZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9nY2MvYy1mYW1pbHkv Yy1jb21tb24uY2MgYi9nY2MvYy1mYW1pbHkvYy1jb21tb24uY2MKaW5kZXggYmIwNTQ0ZWVh ZWEuLmEwNjM0NjhmMjZkIDEwMDY0NAotLS0gYS9nY2MvYy1mYW1pbHkvYy1jb21tb24uY2MK KysrIGIvZ2NjL2MtZmFtaWx5L2MtY29tbW9uLmNjCkBAIC02MDcxLDcgKzYwNzEsNyBAQCBj aGVja19mdW5jdGlvbl9hcmd1bWVudHMgKGxvY2F0aW9uX3QgbG9jLCBjb25zdF90cmVlIGZu ZGVjbCwgY29uc3RfdHJlZSBmbnR5cGUsCiAgIC8qIENoZWNrIGZvciBlcnJvcnMgaW4gZm9y bWF0IHN0cmluZ3MuICAqLwogCiAgIGlmICh3YXJuX2Zvcm1hdCB8fCB3YXJuX3N1Z2dlc3Rf YXR0cmlidXRlX2Zvcm1hdCkKLSAgICBjaGVja19mdW5jdGlvbl9mb3JtYXQgKGZudHlwZSwg VFlQRV9BVFRSSUJVVEVTIChmbnR5cGUpLCBuYXJncywgYXJnYXJyYXksCisgICAgY2hlY2tf ZnVuY3Rpb25fZm9ybWF0IChmbmRlY2wsIGZudHlwZSwgVFlQRV9BVFRSSUJVVEVTIChmbnR5 cGUpLCBuYXJncywgYXJnYXJyYXksCiAJCQkgICBhcmdsb2NzKTsKIAogICBpZiAod2Fybl9m b3JtYXQpCmRpZmYgLS1naXQgYS9nY2MvYy1mYW1pbHkvYy1jb21tb24uaCBiL2djYy9jLWZh bWlseS9jLWNvbW1vbi5oCmluZGV4IDUyYTg1YmZiNzgzLi43YjhjODdiZWMxOSAxMDA2NDQK LS0tIGEvZ2NjL2MtZmFtaWx5L2MtY29tbW9uLmgKKysrIGIvZ2NjL2MtZmFtaWx5L2MtY29t bW9uLmgKQEAgLTg1Nyw3ICs4NTcsNyBAQCBleHRlcm4gdm9pZCBjaGVja19mdW5jdGlvbl9h cmd1bWVudHNfcmVjdXJzZSAodm9pZCAoKikKIAkJCQkJICAgICAgb3B0X2NvZGUpOwogZXh0 ZXJuIGJvb2wgY2hlY2tfYnVpbHRpbl9mdW5jdGlvbl9hcmd1bWVudHMgKGxvY2F0aW9uX3Qs IHZlYzxsb2NhdGlvbl90PiwKIAkJCQkJICAgICAgdHJlZSwgdHJlZSwgaW50LCB0cmVlICop OwotZXh0ZXJuIHZvaWQgY2hlY2tfZnVuY3Rpb25fZm9ybWF0IChjb25zdF90cmVlLCB0cmVl LCBpbnQsIHRyZWUgKiwKK2V4dGVybiB2b2lkIGNoZWNrX2Z1bmN0aW9uX2Zvcm1hdCAoY29u c3RfdHJlZSwgY29uc3RfdHJlZSwgdHJlZSwgaW50LCB0cmVlICosCiAJCQkJICAgdmVjPGxv Y2F0aW9uX3Q+ICopOwogZXh0ZXJuIGJvb2wgYXR0cmlidXRlX2ZhbGx0aHJvdWdoX3AgKHRy ZWUpOwogZXh0ZXJuIHRyZWUgaGFuZGxlX2Zvcm1hdF9hdHRyaWJ1dGUgKHRyZWUgKiwgdHJl ZSwgdHJlZSwgaW50LCBib29sICopOwpkaWZmIC0tZ2l0IGEvZ2NjL2MtZmFtaWx5L2MtZm9y bWF0LmNjIGIvZ2NjL2MtZmFtaWx5L2MtZm9ybWF0LmNjCmluZGV4IDk4ZjI4YzBkY2M2Li41 NTk0ODkxNWU0NCAxMDA2NDQKLS0tIGEvZ2NjL2MtZmFtaWx5L2MtZm9ybWF0LmNjCisrKyBi L2djYy9jLWZhbWlseS9jLWZvcm1hdC5jYwpAQCAtMTE2MCwxMiArMTE2MCwxMyBAQCBkZWNv ZGVfZm9ybWF0X3R5cGUgKGNvbnN0IGNoYXIgKnMsIGJvb2wgKmlzX3JhdyAvKiA9IE5VTEwg Ki8pCiAgICBhdHRyaWJ1dGUgdGhlbXNlbHZlcy4gICovCiAKIHZvaWQKLWNoZWNrX2Z1bmN0 aW9uX2Zvcm1hdCAoY29uc3RfdHJlZSBmbnR5cGUsIHRyZWUgYXR0cnMsIGludCBuYXJncywK K2NoZWNrX2Z1bmN0aW9uX2Zvcm1hdCAoY29uc3RfdHJlZSBmbmRlY2wsIGNvbnN0X3RyZWUg Zm50eXBlLCB0cmVlIGF0dHJzLCBpbnQgbmFyZ3MsCiAJCSAgICAgICB0cmVlICphcmdhcnJh eSwgdmVjPGxvY2F0aW9uX3Q+ICphcmdsb2NzKQogewotICB0cmVlIGE7CisgIHRyZWUgYSwg YWE7CiAKICAgdHJlZSBhdG5hbWUgPSBnZXRfaWRlbnRpZmllciAoImZvcm1hdCIpOworICBi b29sIHNraXBwZWRfZGVmYXVsdF9mb3JtYXQgPSBmYWxzZTsKIAogICAvKiBTZWUgaWYgdGhp cyBmdW5jdGlvbiBoYXMgYW55IGZvcm1hdCBhdHRyaWJ1dGVzLiAgKi8KICAgZm9yIChhID0g YXR0cnM7IGE7IGEgPSBUUkVFX0NIQUlOIChhKSkKQEAgLTExNzYsNiArMTE3NywzMyBAQCBj aGVja19mdW5jdGlvbl9mb3JtYXQgKGNvbnN0X3RyZWUgZm50eXBlLCB0cmVlIGF0dHJzLCBp bnQgbmFyZ3MsCiAJICBmdW5jdGlvbl9mb3JtYXRfaW5mbyBpbmZvOwogCSAgZGVjb2RlX2Zv cm1hdF9hdHRyIChmbnR5cGUsIGF0bmFtZSwgVFJFRV9WQUxVRSAoYSksICZpbmZvLAogCQkJ ICAgICAgLyp2YWxpZGF0ZWQ9Ki90cnVlKTsKKworCSAgLyogTWluZ3czMiB0YXJnZXRzIGhh dmUgdHJhZGl0aW9uYWxseSB1c2VkIG1zX3ByaW50ZiBmb3JtYXQgZm9yIHRoZQorCSAgICAg cHJpbnRmIGZ1bmN0aW9uLCBhbmQgdGhpcyBmb3JtYXQgaXMgYnVpbHQgaW4gR0NDLiBCdXQg bm93YWRheXMsCisJICAgICBpZiBtaW5ndy13NjQgaXMgY29uZmlndXJlZCB0byB0YXJnZXQg VUNSVCwgdGhlIHByaW50ZiBmdW5jdGlvbgorCSAgICAgdXNlcyB0aGUgZ251X3ByaW50ZiBm b3JtYXQgKHNwZWNpZmllZCBpbiB0aGUgc3RkaW8uaCBoZWFkZXIpLiBUaGlzCisJICAgICBj YXVzZXMgR0NDIHRvIGNoZWNrIGJvdGggZm9ybWF0cywgd2hpY2ggbWVhbnMgdGhhdCBHQ0Mg d291bGQgd2FybgorCSAgICAgdHdpY2UgYWJvdXQgdGhlIHNhbWUgaXNzdWUgd2hlbiBib3Ro IGZvcm1hdHMgYXJlIHZpb2xhdGVkLCBlLmcuCisJICAgICBmb3IgJWx1IHVzZWQgdG8gcHJp bnQgbG9uZyBsb25nIHVuc2lnbmVkLiBBbHNvLCBpdCB3b3VsZCBiZQorCSAgICAgaW1wb3Nz aWJsZSB0byB1c2UgZmVhdHVyZXMgcGVybWl0dGVkIGJ5IG9ubHkgb25lIGZvcm1hdC4KKwor CSAgICAgSGVuY2UsIGlmIHRoZXJlIGFyZSBtdWx0aXBsZSBmb3JtYXQgc3BlY2lmaWVycywg d2Ugc2tpcCB0aGUgZmlyc3QKKwkgICAgIG9uZS4gU2VlIFBSIDk1MTMwIChidXQgbm90ZSB0 aGF0IEdDQyBtc19wcmludGYgYWxyZWFkeSBzdXBwb3J0cworCSAgICAgJWxsdSkgYW5kIFBS IDkyMjkyLiAgKi8KKworCSAgaWYgKCFza2lwcGVkX2RlZmF1bHRfZm9ybWF0ICYmIGZuZGVj bCkKKwkgICAgeworCSAgICAgIGZvcihhYSA9IFRSRUVfQ0hBSU4gKGEpOyBhYTsgYWEgPSBU UkVFX0NIQUlOIChhYSkpCisJCWlmIChpc19hdHRyaWJ1dGVfcCAoImZvcm1hdCIsIGdldF9h dHRyaWJ1dGVfbmFtZSAoYWEpKQorCQkgICAgJiYgZm5kZWNsX2J1aWx0X2luX3AgKGZuZGVj bCwgQlVJTFRfSU5fTk9STUFMKSkKKwkJICB7CisJCSAgICBza2lwcGVkX2RlZmF1bHRfZm9y bWF0ID0gdHJ1ZTsKKwkJICAgIGJyZWFrOworCQkgIH0KKwkgICAgICBpZiAoc2tpcHBlZF9k ZWZhdWx0X2Zvcm1hdCkKKwkJY29udGludWU7CisJICAgIH0KKwogCSAgaWYgKHdhcm5fZm9y bWF0KQogCSAgICB7CiAJICAgICAgLyogRklYTUU6IFJld3JpdGUgYWxsIHRoZSBpbnRlcm5h bCBmdW5jdGlvbnMgaW4gdGhpcyBmaWxlCi0tIAoyLjI1LjEKCg== --------------dgdWUEp3ADMLgboOjvJBLWpy Content-Type: text/x-patch; charset=UTF-8; name="11_0001-c-family-Let-stdio.h-override-built-in-printf-format.patch" Content-Disposition: attachment; filename*0="11_0001-c-family-Let-stdio.h-override-built-in-printf-format"; filename*1=".patch" Content-Transfer-Encoding: base64 RnJvbSBmMzgwMmQ4ZWY5M2Y3NTRiODk5YTU3YTMzYWZlNzIwZGIyMWU0MDEzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBUb21hcyBLYWxpYmVyYSA8dG9tYXMua2FsaWJlcmFA Z21haWwuY29tPgpEYXRlOiBNb24sIDE2IE1heSAyMDIyIDA1OjU1OjI5IC0wNDAwClN1Ympl Y3Q6IFtQQVRDSF0gYy1mYW1pbHk6IExldCBzdGRpby5oIG92ZXJyaWRlIGJ1aWx0IGluIHBy aW50ZiBmb3JtYXQgCiBbUFI5NTEzMCxQUjkyMjkyXQoKTWluZ3czMiB0YXJnZXRzIHVzZSBt c19wcmludGYgZm9ybWF0IGZvciBwcmludGYsIGJ1dCBtaW5ndy13NjQgd2hlbgpjb25maWd1 cmVkIGZvciBVQ1JUIHVzZXMgZ251X2Zvcm1hdCAodmlhIHN0ZGlvLmgpLiAgR0NDIGNoZWNr cyBib3RoIGZvcm1hdHMsCndoaWNoIG1lYW5zIHRoYXQgb25lIGdldHMgYSB3YXJuaW5nIHR3 aWNlIGlmIHRoZSBmb3JtYXQgc3RyaW5nIHZpb2xhdGVzIGJvdGgKZm9ybWF0czoKCiAgcHJp bnRmKCJIZWxsbyAlbHVcbiIsIChsb25nIGxvbmcgdW5zaWduZWQpIHgpOwoKRml4ZWQgYnkg ZGlzYWJsaW5nIHRoZSBidWlsdCBpbiBmb3JtYXQgaW4gY2FzZSB0aGVyZSBhcmUgYWRkaXRp b25hbCBvbmVzLgoKVGhpcyBmaXhlcyBhbHNvIHByZXZlbnRzIGlzc3VlcyBpZiB0aGUgcHJp bnQgZm9ybWF0cyBkaXNhZ3JlZS4gIEluIHRoZSBwYXN0Cml0IHdhcyB0aGUgY2FzZSB3aGVu IHByaW50aW5nIDY0LWJpdCBpbnRlZ2VycywgYnV0IEdDQyBtc19wcmludGYgZm9ybWF0IHNp bmNlCmM1MWYxZTc0MjdlNmE1YWUyYTZkODJiNWE3OTBkZjc3YTNhZGM5OSBzdXBwb3J0cyAl bGx1LgoKZ2NjL2MtZmFtaWx5L0NoYW5nZUxvZzoKCglQUiBjLzk1MTMwCglQUiBjLzkyMjky CgoJKiBjLWNvbW1vbi5jIChjaGVja19mdW5jdGlvbl9hcmd1bWVudHMpOiBQYXNzIGFsc28g ZnVuY3Rpb24KCSAgZGVjbGFyYXRpb24gdG8gY2hlY2tfZnVuY3Rpb25fZm9ybWF0LgoKCSog Yy1jb21tb24uaCAoY2hlY2tfZnVuY3Rpb25fZm9ybWF0KTogRXh0cmEgYXJndW1lbnQgLSBm dW5jdGlvbgoJICBkZWNsYXJhdGlvbi4KCgkqIGMtZm9ybWF0LmMgKGNoZWNrX2Z1bmN0aW9u X2Zvcm1hdCk6IEZvciBidWlsdGluIGZ1bmN0aW9ucyB3aXRoIGEKCSAgYnVpbHQgaW4gZm9y bWF0IGFuZCBhdCBsZWFzdCBvbmUgbW9yZSwgZG8gbm90IGNoZWNrIHRoZSBmaXJzdCBvbmUu Ci0tLQogZ2NjL2MtZmFtaWx5L2MtY29tbW9uLmMgfCAgMiArLQogZ2NjL2MtZmFtaWx5L2Mt Y29tbW9uLmggfCAgMiArLQogZ2NjL2MtZmFtaWx5L2MtZm9ybWF0LmMgfCAzMiArKysrKysr KysrKysrKysrKysrKysrKysrKysrKystLQogMyBmaWxlcyBjaGFuZ2VkLCAzMiBpbnNlcnRp b25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2djYy9jLWZhbWlseS9jLWNv bW1vbi5jIGIvZ2NjL2MtZmFtaWx5L2MtY29tbW9uLmMKaW5kZXggMTZmYzUyMzAyZTUuLjVh OGJjYjY3NzRmIDEwMDY0NAotLS0gYS9nY2MvYy1mYW1pbHkvYy1jb21tb24uYworKysgYi9n Y2MvYy1mYW1pbHkvYy1jb21tb24uYwpAQCAtNTg0OSw3ICs1ODQ5LDcgQEAgY2hlY2tfZnVu Y3Rpb25fYXJndW1lbnRzIChsb2NhdGlvbl90IGxvYywgY29uc3RfdHJlZSBmbmRlY2wsIGNv bnN0X3RyZWUgZm50eXBlLAogICAvKiBDaGVjayBmb3IgZXJyb3JzIGluIGZvcm1hdCBzdHJp bmdzLiAgKi8KIAogICBpZiAod2Fybl9mb3JtYXQgfHwgd2Fybl9zdWdnZXN0X2F0dHJpYnV0 ZV9mb3JtYXQpCi0gICAgY2hlY2tfZnVuY3Rpb25fZm9ybWF0IChmbnR5cGUsIFRZUEVfQVRU UklCVVRFUyAoZm50eXBlKSwgbmFyZ3MsIGFyZ2FycmF5LAorICAgIGNoZWNrX2Z1bmN0aW9u X2Zvcm1hdCAoZm5kZWNsLCBmbnR5cGUsIFRZUEVfQVRUUklCVVRFUyAoZm50eXBlKSwgbmFy Z3MsIGFyZ2FycmF5LAogCQkJICAgYXJnbG9jcyk7CiAKICAgaWYgKHdhcm5fZm9ybWF0KQpk aWZmIC0tZ2l0IGEvZ2NjL2MtZmFtaWx5L2MtY29tbW9uLmggYi9nY2MvYy1mYW1pbHkvYy1j b21tb24uaAppbmRleCBmMzBiNmM2YWMzMy4uMzRkOTM2ZTdiNDggMTAwNjQ0Ci0tLSBhL2dj Yy9jLWZhbWlseS9jLWNvbW1vbi5oCisrKyBiL2djYy9jLWZhbWlseS9jLWNvbW1vbi5oCkBA IC04NTQsNyArODU0LDcgQEAgZXh0ZXJuIHZvaWQgY2hlY2tfZnVuY3Rpb25fYXJndW1lbnRz X3JlY3Vyc2UgKHZvaWQgKCopCiAJCQkJCSAgICAgIHVuc2lnbmVkIEhPU1RfV0lERV9JTlQp OwogZXh0ZXJuIGJvb2wgY2hlY2tfYnVpbHRpbl9mdW5jdGlvbl9hcmd1bWVudHMgKGxvY2F0 aW9uX3QsIHZlYzxsb2NhdGlvbl90PiwKIAkJCQkJICAgICAgdHJlZSwgdHJlZSwgaW50LCB0 cmVlICopOwotZXh0ZXJuIHZvaWQgY2hlY2tfZnVuY3Rpb25fZm9ybWF0IChjb25zdF90cmVl LCB0cmVlLCBpbnQsIHRyZWUgKiwKK2V4dGVybiB2b2lkIGNoZWNrX2Z1bmN0aW9uX2Zvcm1h dCAoY29uc3RfdHJlZSwgY29uc3RfdHJlZSwgdHJlZSwgaW50LCB0cmVlICosCiAJCQkJICAg dmVjPGxvY2F0aW9uX3Q+ICopOwogZXh0ZXJuIGJvb2wgYXR0cmlidXRlX2ZhbGx0aHJvdWdo X3AgKHRyZWUpOwogZXh0ZXJuIHRyZWUgaGFuZGxlX2Zvcm1hdF9hdHRyaWJ1dGUgKHRyZWUg KiwgdHJlZSwgdHJlZSwgaW50LCBib29sICopOwpkaWZmIC0tZ2l0IGEvZ2NjL2MtZmFtaWx5 L2MtZm9ybWF0LmMgYi9nY2MvYy1mYW1pbHkvYy1mb3JtYXQuYwppbmRleCBmNDM1OTY1N2Zj MS4uNDZhODViYWU3MTIgMTAwNjQ0Ci0tLSBhL2djYy9jLWZhbWlseS9jLWZvcm1hdC5jCisr KyBiL2djYy9jLWZhbWlseS9jLWZvcm1hdC5jCkBAIC0xMTY4LDEyICsxMTY4LDEzIEBAIGRl Y29kZV9mb3JtYXRfdHlwZSAoY29uc3QgY2hhciAqcywgYm9vbCAqaXNfcmF3IC8qID0gTlVM TCAqLykKICAgIGF0dHJpYnV0ZSB0aGVtc2VsdmVzLiAgKi8KIAogdm9pZAotY2hlY2tfZnVu Y3Rpb25fZm9ybWF0IChjb25zdF90cmVlIGZudHlwZSwgdHJlZSBhdHRycywgaW50IG5hcmdz LAorY2hlY2tfZnVuY3Rpb25fZm9ybWF0IChjb25zdF90cmVlIGZuZGVjbCwgY29uc3RfdHJl ZSBmbnR5cGUsIHRyZWUgYXR0cnMsIGludCBuYXJncywKIAkJICAgICAgIHRyZWUgKmFyZ2Fy cmF5LCB2ZWM8bG9jYXRpb25fdD4gKmFyZ2xvY3MpCiB7Ci0gIHRyZWUgYTsKKyAgdHJlZSBh LCBhYTsKIAogICB0cmVlIGF0bmFtZSA9IGdldF9pZGVudGlmaWVyICgiZm9ybWF0Iik7Cisg IGJvb2wgc2tpcHBlZF9kZWZhdWx0X2Zvcm1hdCA9IGZhbHNlOwogCiAgIC8qIFNlZSBpZiB0 aGlzIGZ1bmN0aW9uIGhhcyBhbnkgZm9ybWF0IGF0dHJpYnV0ZXMuICAqLwogICBmb3IgKGEg PSBhdHRyczsgYTsgYSA9IFRSRUVfQ0hBSU4gKGEpKQpAQCAtMTE4NCw2ICsxMTg1LDMzIEBA IGNoZWNrX2Z1bmN0aW9uX2Zvcm1hdCAoY29uc3RfdHJlZSBmbnR5cGUsIHRyZWUgYXR0cnMs IGludCBuYXJncywKIAkgIGZ1bmN0aW9uX2Zvcm1hdF9pbmZvIGluZm87CiAJICBkZWNvZGVf Zm9ybWF0X2F0dHIgKGZudHlwZSwgYXRuYW1lLCBUUkVFX1ZBTFVFIChhKSwgJmluZm8sCiAJ CQkgICAgICAvKnZhbGlkYXRlZD0qL3RydWUpOworCisJICAvKiBNaW5ndzMyIHRhcmdldHMg aGF2ZSB0cmFkaXRpb25hbGx5IHVzZWQgbXNfcHJpbnRmIGZvcm1hdCBmb3IgdGhlCisJICAg ICBwcmludGYgZnVuY3Rpb24sIGFuZCB0aGlzIGZvcm1hdCBpcyBidWlsdCBpbiBHQ0MuIEJ1 dCBub3dhZGF5cywKKwkgICAgIGlmIG1pbmd3LXc2NCBpcyBjb25maWd1cmVkIHRvIHRhcmdl dCBVQ1JULCB0aGUgcHJpbnRmIGZ1bmN0aW9uCisJICAgICB1c2VzIHRoZSBnbnVfcHJpbnRm IGZvcm1hdCAoc3BlY2lmaWVkIGluIHRoZSBzdGRpby5oIGhlYWRlcikuIFRoaXMKKwkgICAg IGNhdXNlcyBHQ0MgdG8gY2hlY2sgYm90aCBmb3JtYXRzLCB3aGljaCBtZWFucyB0aGF0IEdD QyB3b3VsZCB3YXJuCisJICAgICB0d2ljZSBhYm91dCB0aGUgc2FtZSBpc3N1ZSB3aGVuIGJv dGggZm9ybWF0cyBhcmUgdmlvbGF0ZWQsIGUuZy4KKwkgICAgIGZvciAlbHUgdXNlZCB0byBw cmludCBsb25nIGxvbmcgdW5zaWduZWQuIEFsc28sIGl0IHdvdWxkIGJlCisJICAgICBpbXBv c3NpYmxlIHRvIHVzZSBmZWF0dXJlcyBwZXJtaXR0ZWQgYnkgb25seSBvbmUgZm9ybWF0Lgor CisJICAgICBIZW5jZSwgaWYgdGhlcmUgYXJlIG11bHRpcGxlIGZvcm1hdCBzcGVjaWZpZXJz LCB3ZSBza2lwIHRoZSBmaXJzdAorCSAgICAgb25lLiBTZWUgUFIgOTUxMzAgKGJ1dCBub3Rl IHRoYXQgR0NDIG1zX3ByaW50ZiBhbHJlYWR5IHN1cHBvcnRzCisJICAgICAlbGx1KSBhbmQg UFIgOTIyOTIuICAqLworCisJICBpZiAoIXNraXBwZWRfZGVmYXVsdF9mb3JtYXQgJiYgZm5k ZWNsKQorCSAgICB7CisJICAgICAgZm9yKGFhID0gVFJFRV9DSEFJTiAoYSk7IGFhOyBhYSA9 IFRSRUVfQ0hBSU4gKGFhKSkKKwkJaWYgKGlzX2F0dHJpYnV0ZV9wICgiZm9ybWF0IiwgZ2V0 X2F0dHJpYnV0ZV9uYW1lIChhYSkpCisJCSAgICAmJiBmbmRlY2xfYnVpbHRfaW5fcCAoZm5k ZWNsLCBCVUlMVF9JTl9OT1JNQUwpKQorCQkgIHsKKwkJICAgIHNraXBwZWRfZGVmYXVsdF9m b3JtYXQgPSB0cnVlOworCQkgICAgYnJlYWs7CisJCSAgfQorCSAgICAgIGlmIChza2lwcGVk X2RlZmF1bHRfZm9ybWF0KQorCQljb250aW51ZTsKKwkgICAgfQorCiAJICBpZiAod2Fybl9m b3JtYXQpCiAJICAgIHsKIAkgICAgICAvKiBGSVhNRTogUmV3cml0ZSBhbGwgdGhlIGludGVy bmFsIGZ1bmN0aW9ucyBpbiB0aGlzIGZpbGUKLS0gCjIuMjUuMQoK --------------dgdWUEp3ADMLgboOjvJBLWpy Content-Type: text/x-patch; charset=UTF-8; name="10_0001-c-family-Let-stdio.h-override-built-in-printf-format.patch" Content-Disposition: attachment; filename*0="10_0001-c-family-Let-stdio.h-override-built-in-printf-format"; filename*1=".patch" Content-Transfer-Encoding: base64 RnJvbSA2NWE4OTFmYTdmOTZmOTVjNDU0NGEzNmEyZGNjMTQ0ZmI0ZmE4ZThjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBUb21hcyBLYWxpYmVyYSA8dG9tYXMua2FsaWJlcmFA Z21haWwuY29tPgpEYXRlOiBNb24sIDE2IE1heSAyMDIyIDA1OjI1OjM5IC0wNDAwClN1Ympl Y3Q6IFtQQVRDSF0gYy1mYW1pbHk6IExldCBzdGRpby5oIG92ZXJyaWRlIGJ1aWx0IGluIHBy aW50ZiBmb3JtYXQgCiBbUFI5NTEzMCxQUjkyMjkyXQoKTWluZ3czMiB0YXJnZXRzIHVzZSBt c19wcmludGYgZm9ybWF0IGZvciBwcmludGYsIGJ1dCBtaW5ndy13NjQgd2hlbgpjb25maWd1 cmVkIGZvciBVQ1JUIHVzZXMgZ251X2Zvcm1hdCAodmlhIHN0ZGlvLmgpLiAgR0NDIHRoZW4g Y2hlY2tzIGJvdGgKZm9ybWF0cywgd2hpY2ggbWVhbnMgdGhhdCBvbmUgY2Fubm90IHByaW50 IGEgNjQtYml0IGludGVnZXIgd2l0aG91dCBhCndhcm5pbmcuICBBbGwgdGhlc2UgbGluZXMg aXNzdWUgYSB3YXJuaW5nOgoKICBwcmludGYoIkhlbGxvICUiUFJJdTY0IlxuIiwgKHVpbnQ2 NF90KSB4KTsKICBwcmludGYoIkhlbGxvICVJNjR1XG4iLCAobG9uZyBsb25nIHVuc2lnbmVk KSB4KTsKICBwcmludGYoIkhlbGxvICVsbHVcbiIsIChsb25nIGxvbmcgdW5zaWduZWQpIHgp OwoKYmVjYXVzZSBlYWNoIG9mIHRoZW0gdmlvbGF0ZXMgb25lIG9mIHRoZSBmb3JtYXRzLgoK T25lIGdldHMgYSB3YXJuaW5nIHR3aWNlIGlmIHRoZSBmb3JtYXQgc3RyaW5nIHZpb2xhdGVz IGJvdGggZm9ybWF0czoKCiAgcHJpbnRmKCJIZWxsbyAlbHVcbiIsIChsb25nIGxvbmcgdW5z aWduZWQpIHgpOwoKRml4ZWQgYnkgZGlzYWJsaW5nIHRoZSBidWlsdCBpbiBmb3JtYXQgaW4g Y2FzZSB0aGVyZSBhcmUgYWRkaXRpb25hbCBvbmVzLgoKZ2NjL2MtZmFtaWx5L0NoYW5nZUxv ZzoKCglQUiBjLzk1MTMwCglQUiBjLzkyMjkyCgoJKiBjLWNvbW1vbi5jIChjaGVja19mdW5j dGlvbl9hcmd1bWVudHMpOiBQYXNzIGFsc28gZnVuY3Rpb24KCSAgZGVjbGFyYXRpb24gdG8g Y2hlY2tfZnVuY3Rpb25fZm9ybWF0LgoKCSogYy1jb21tb24uaCAoY2hlY2tfZnVuY3Rpb25f Zm9ybWF0KTogRXh0cmEgYXJndW1lbnQgLSBmdW5jdGlvbgoJICBkZWNsYXJhdGlvbi4KCgkq IGMtZm9ybWF0LmMgKGNoZWNrX2Z1bmN0aW9uX2Zvcm1hdCk6IEZvciBidWlsdGluIGZ1bmN0 aW9ucyB3aXRoIGEKCSAgYnVpbHQgaW4gZm9ybWF0IGFuZCBhdCBsZWFzdCBvbmUgbW9yZSwg ZG8gbm90IGNoZWNrIHRoZSBmaXJzdCBvbmUuCi0tLQogZ2NjL2MtZmFtaWx5L2MtY29tbW9u LmMgfCAgMiArLQogZ2NjL2MtZmFtaWx5L2MtY29tbW9uLmggfCAgMiArLQogZ2NjL2MtZmFt aWx5L2MtZm9ybWF0LmMgfCAzMiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQog MyBmaWxlcyBjaGFuZ2VkLCAzMiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2djYy9jLWZhbWlseS9jLWNvbW1vbi5jIGIvZ2NjL2MtZmFtaWx5L2MtY29t bW9uLmMKaW5kZXggODEwNWEyN2FiNTYuLjVkZGYyYmU1YWJmIDEwMDY0NAotLS0gYS9nY2Mv Yy1mYW1pbHkvYy1jb21tb24uYworKysgYi9nY2MvYy1mYW1pbHkvYy1jb21tb24uYwpAQCAt NTczMyw3ICs1NzMzLDcgQEAgY2hlY2tfZnVuY3Rpb25fYXJndW1lbnRzIChsb2NhdGlvbl90 IGxvYywgY29uc3RfdHJlZSBmbmRlY2wsIGNvbnN0X3RyZWUgZm50eXBlLAogICAvKiBDaGVj ayBmb3IgZXJyb3JzIGluIGZvcm1hdCBzdHJpbmdzLiAgKi8KIAogICBpZiAod2Fybl9mb3Jt YXQgfHwgd2Fybl9zdWdnZXN0X2F0dHJpYnV0ZV9mb3JtYXQpCi0gICAgY2hlY2tfZnVuY3Rp b25fZm9ybWF0IChmbnR5cGUsIFRZUEVfQVRUUklCVVRFUyAoZm50eXBlKSwgbmFyZ3MsIGFy Z2FycmF5LAorICAgIGNoZWNrX2Z1bmN0aW9uX2Zvcm1hdCAoZm5kZWNsLCBmbnR5cGUsIFRZ UEVfQVRUUklCVVRFUyAoZm50eXBlKSwgbmFyZ3MsIGFyZ2FycmF5LAogCQkJICAgYXJnbG9j cyk7CiAKICAgaWYgKHdhcm5fZm9ybWF0KQpkaWZmIC0tZ2l0IGEvZ2NjL2MtZmFtaWx5L2Mt Y29tbW9uLmggYi9nY2MvYy1mYW1pbHkvYy1jb21tb24uaAppbmRleCBlZDM5Yjc3NjRiZi4u NjEwMzdiM2IwZGYgMTAwNjQ0Ci0tLSBhL2djYy9jLWZhbWlseS9jLWNvbW1vbi5oCisrKyBi L2djYy9jLWZhbWlseS9jLWNvbW1vbi5oCkBAIC04MzUsNyArODM1LDcgQEAgZXh0ZXJuIHZv aWQgY2hlY2tfZnVuY3Rpb25fYXJndW1lbnRzX3JlY3Vyc2UgKHZvaWQgKCopCiAJCQkJCSAg ICAgIHVuc2lnbmVkIEhPU1RfV0lERV9JTlQpOwogZXh0ZXJuIGJvb2wgY2hlY2tfYnVpbHRp bl9mdW5jdGlvbl9hcmd1bWVudHMgKGxvY2F0aW9uX3QsIHZlYzxsb2NhdGlvbl90PiwKIAkJ CQkJICAgICAgdHJlZSwgdHJlZSwgaW50LCB0cmVlICopOwotZXh0ZXJuIHZvaWQgY2hlY2tf ZnVuY3Rpb25fZm9ybWF0IChjb25zdF90cmVlLCB0cmVlLCBpbnQsIHRyZWUgKiwKK2V4dGVy biB2b2lkIGNoZWNrX2Z1bmN0aW9uX2Zvcm1hdCAoY29uc3RfdHJlZSwgY29uc3RfdHJlZSwg dHJlZSwgaW50LCB0cmVlICosCiAJCQkJICAgdmVjPGxvY2F0aW9uX3Q+ICopOwogZXh0ZXJu IGJvb2wgYXR0cmlidXRlX2ZhbGx0aHJvdWdoX3AgKHRyZWUpOwogZXh0ZXJuIHRyZWUgaGFu ZGxlX2Zvcm1hdF9hdHRyaWJ1dGUgKHRyZWUgKiwgdHJlZSwgdHJlZSwgaW50LCBib29sICop OwpkaWZmIC0tZ2l0IGEvZ2NjL2MtZmFtaWx5L2MtZm9ybWF0LmMgYi9nY2MvYy1mYW1pbHkv Yy1mb3JtYXQuYwppbmRleCAzM2E1YjZkMzk2NS4uMDQyOTllMDc5NGUgMTAwNjQ0Ci0tLSBh L2djYy9jLWZhbWlseS9jLWZvcm1hdC5jCisrKyBiL2djYy9jLWZhbWlseS9jLWZvcm1hdC5j CkBAIC0xMTY4LDEyICsxMTY4LDEzIEBAIGRlY29kZV9mb3JtYXRfdHlwZSAoY29uc3QgY2hh ciAqcywgYm9vbCAqaXNfcmF3IC8qID0gTlVMTCAqLykKICAgIGF0dHJpYnV0ZSB0aGVtc2Vs dmVzLiAgKi8KIAogdm9pZAotY2hlY2tfZnVuY3Rpb25fZm9ybWF0IChjb25zdF90cmVlIGZu dHlwZSwgdHJlZSBhdHRycywgaW50IG5hcmdzLAorY2hlY2tfZnVuY3Rpb25fZm9ybWF0IChj b25zdF90cmVlIGZuZGVjbCwgY29uc3RfdHJlZSBmbnR5cGUsIHRyZWUgYXR0cnMsIGludCBu YXJncywKIAkJICAgICAgIHRyZWUgKmFyZ2FycmF5LCB2ZWM8bG9jYXRpb25fdD4gKmFyZ2xv Y3MpCiB7Ci0gIHRyZWUgYTsKKyAgdHJlZSBhLCBhYTsKIAogICB0cmVlIGF0bmFtZSA9IGdl dF9pZGVudGlmaWVyICgiZm9ybWF0Iik7CisgIGJvb2wgc2tpcHBlZF9kZWZhdWx0X2Zvcm1h dCA9IGZhbHNlOwogCiAgIC8qIFNlZSBpZiB0aGlzIGZ1bmN0aW9uIGhhcyBhbnkgZm9ybWF0 IGF0dHJpYnV0ZXMuICAqLwogICBmb3IgKGEgPSBhdHRyczsgYTsgYSA9IFRSRUVfQ0hBSU4g KGEpKQpAQCAtMTE4NCw2ICsxMTg1LDMzIEBAIGNoZWNrX2Z1bmN0aW9uX2Zvcm1hdCAoY29u c3RfdHJlZSBmbnR5cGUsIHRyZWUgYXR0cnMsIGludCBuYXJncywKIAkgIGZ1bmN0aW9uX2Zv cm1hdF9pbmZvIGluZm87CiAJICBkZWNvZGVfZm9ybWF0X2F0dHIgKGZudHlwZSwgYXRuYW1l LCBUUkVFX1ZBTFVFIChhKSwgJmluZm8sCiAJCQkgICAgICAvKnZhbGlkYXRlZD0qL3RydWUp OworCisJICAvKiBNaW5ndzMyIHRhcmdldHMgaGF2ZSB0cmFkaXRpb25hbGx5IHVzZWQgbXNf cHJpbnRmIGZvcm1hdCBmb3IgdGhlCisJICAgICBwcmludGYgZnVuY3Rpb24sIGFuZCB0aGlz IGZvcm1hdCBpcyBidWlsdCBpbiBHQ0MuIEJ1dCBub3dhZGF5cywKKwkgICAgIGlmIG1pbmd3 LXc2NCBpcyBjb25maWd1cmVkIHRvIHRhcmdldCBVQ1JULCB0aGUgcHJpbnRmIGZ1bmN0aW9u CisJICAgICB1c2VzIHRoZSBnbnVfcHJpbnRmIGZvcm1hdCAoc3BlY2lmaWVkIGluIHRoZSBz dGRpby5oIGhlYWRlcikuIFRoaXMKKwkgICAgIGNhdXNlcyBHQ0MgdG8gY2hlY2sgYm90aCBm b3JtYXRzLCB3aGljaCBtZWFucyB0aGF0IHRoZXJlIGlzIG5vIHdheQorCSAgICAgdG8gZS5n LiBwcmludCBhIGxvbmcgbG9uZyB1bnNpZ25lZCB3aXRob3V0IGEgd2FybmluZyAobXNfcHJp bnRmCisJICAgICB3YXJucyBmb3IgJWxsdSBhbmQgZ251X3ByaW50ZiB3YXJucyBmb3IgJUk2 NHUpLiBBbHNvLCBHQ0Mgd291bGQgd2FybgorCSAgICAgdHdpY2UgYWJvdXQgdGhlIHNhbWUg aXNzdWUgd2hlbiBib3RoIGZvcm1hdHMgYXJlIHZpb2xhdGVkLCBlLmcuCisJICAgICBmb3Ig JWx1IHVzZWQgdG8gcHJpbnQgbG9uZyBsb25nIHVuc2lnbmVkLgorCisJICAgICBIZW5jZSwg aWYgdGhlcmUgYXJlIG11bHRpcGxlIGZvcm1hdCBzcGVjaWZpZXJzLCB3ZSBza2lwIHRoZSBm aXJzdAorCSAgICAgb25lLiBTZWUgUFIgOTUxMzAsIFBSIDkyMjkyLiAgKi8KKworCSAgaWYg KCFza2lwcGVkX2RlZmF1bHRfZm9ybWF0ICYmIGZuZGVjbCkKKwkgICAgeworCSAgICAgIGZv cihhYSA9IFRSRUVfQ0hBSU4gKGEpOyBhYTsgYWEgPSBUUkVFX0NIQUlOIChhYSkpCisJCWlm IChpc19hdHRyaWJ1dGVfcCAoImZvcm1hdCIsIGdldF9hdHRyaWJ1dGVfbmFtZSAoYWEpKQor CQkgICAgJiYgZm5kZWNsX2J1aWx0X2luX3AgKGZuZGVjbCwgQlVJTFRfSU5fTk9STUFMKSkK KwkJICB7CisJCSAgICBza2lwcGVkX2RlZmF1bHRfZm9ybWF0ID0gdHJ1ZTsKKwkJICAgIGJy ZWFrOworCQkgIH0KKwkgICAgICBpZiAoc2tpcHBlZF9kZWZhdWx0X2Zvcm1hdCkKKwkJY29u dGludWU7CisJICAgIH0KKwogCSAgaWYgKHdhcm5fZm9ybWF0KQogCSAgICB7CiAJICAgICAg LyogRklYTUU6IFJld3JpdGUgYWxsIHRoZSBpbnRlcm5hbCBmdW5jdGlvbnMgaW4gdGhpcyBm aWxlCi0tIAoyLjI1LjEKCg== --------------dgdWUEp3ADMLgboOjvJBLWpy--