From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ed1-x529.google.com (mail-ed1-x529.google.com [IPv6:2a00:1450:4864:20::529]) by sourceware.org (Postfix) with ESMTPS id 4F6083858CDB for ; Thu, 9 Mar 2023 13:33:24 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 4F6083858CDB Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-ed1-x529.google.com with SMTP id ay14so6949393edb.11 for ; Thu, 09 Mar 2023 05:33:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1678368803; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=je4zXbjOt9h1WschIbCd+vXMvq+MUlYewVzzVnfPSws=; b=LrZdLK6njcahC0wH8u+pxwXEzhvJnCZyrqVGr6Di7e2D3YJWDIB77X+NvVs3WWbn0l yvm3HSXR301c3O4p1ZGAQzOedXJDQogFvOJjhnyec/KBEHENzromHa/ONb3WR+07628v rjwEyl0sbZ0U7MRCFMpg1pztbey0Rc8yhNfi87Dyqjjs4sP0Co4dEazCYGrthcFC7AxR 5toB/TGk2BbgqjErR8RT2PbsayVnXnQIcXoB/7xB5x5Yk32LfJYge1gFsUJ3kpGHVOyp kegvurebSh4mS/YquA9qxnX8AheSSDDLKQCKoiPnhFPmhYUdb6eDbxRMo2shb+LEh6zb tdIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678368803; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=je4zXbjOt9h1WschIbCd+vXMvq+MUlYewVzzVnfPSws=; b=wZZZ18Gd9pmWATL5IVfPuGwkVw1OE6zCzDUI8J8CFvZcRVTSRpfNgS955CeTIHGBUs g2wjWmdGCmWnNBIWg+VclfxsygXIBpTvxACYlMyHA7MmAJWFPOsM6BwO8Dq+3vGFE64G 5IrQfLvHcRZ0eo/yhrd3/RCsAPIYNMIC6q1/HeXm4/kSucHGvJriXCp4TsNM+R8Q0RNQ dkmfgsdYuHKUqA66w9Va4nM4MZoDyZ252TIRO7eMz3rrAxtHMk2hKquqCDXnvkrycOz2 vlFU/lkB+SKttf5YmOIUoWoLWH5nHRtld93sH7psnK625jAezytTuGCY/ACKeBS756l1 nvjQ== X-Gm-Message-State: AO0yUKXQoeD34YnmWQaIrGFyoTGvFC0o+jhu4vuPmPk4Q53V35j7GVs9 DM2D0Uw3OtXBAyAvQj1qP0G8wU+EwWz6boDWTmEuzgw1XEKKtQ== X-Google-Smtp-Source: AK7set9C/s2StDOTRmlhLbEiThX1nEc3UCzCJ+R6H7BnO7c2NvSn68JrDIQFMDBVI/soAHJ5aqeR7JKHdzOjEjL8JRw= X-Received: by 2002:a17:906:388d:b0:877:e539:810b with SMTP id q13-20020a170906388d00b00877e539810bmr11279413ejd.2.1678368802597; Thu, 09 Mar 2023 05:33:22 -0800 (PST) MIME-Version: 1.0 References: <508051a3-0314-bb4a-1ce8-5772b1b8f5a6@codeweavers.com> In-Reply-To: From: Costas Argyris Date: Thu, 9 Mar 2023 13:33:11 +0000 Message-ID: Subject: Re: Enable UTF-8 code page in driver and compiler on 64-bit mingw host [PR108865] To: gcc-patches@gcc.gnu.org Cc: 10walls@gmail.com Content-Type: multipart/mixed; boundary="0000000000004850ff05f677b087" X-Spam-Status: No, score=-7.8 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,HTML_MESSAGE,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP 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: --0000000000004850ff05f677b087 Content-Type: multipart/alternative; boundary="0000000000004850fe05f677b085" --0000000000004850fe05f677b085 Content-Type: text/plain; charset="UTF-8" Pinging the list and mingw maintainer. Analysis and pre-approval here: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108865 On Wed, 8 Mar 2023 at 10:52, Costas Argyris wrote: > Added .manifest file to the make rule for utf8rc-mingw32.o, latest patch > attached. > > On Tue, 7 Mar 2023 at 15:27, Costas Argyris > wrote: > >> Hi Jacek, >> >> "but I think it should work just fine if you didn't explicitly limit the >> patch to x86_64." >> >> I would think so too. >> >> Actually, even cygwin might benefit from this, assuming it has the same >> problem, which I don't know if it's the case. >> >> But I'm not experienced with that so I would like to explore these hosts >> separately and just focus on the most common 64-bit Windows host with this >> change, if possible. >> >> "The point that when winnt-utf8.manifest is modified, utf8-mingw32.o >> should be rebuilt." >> >> Right, makes sense. >> >> Just noting that winnt-utf8.manifest is really not meant to be modified, >> because it is copied straight from: >> >> >> https://learn.microsoft.com/en-us/windows/apps/design/globalizing/use-utf8-code-page >> >> and will probably remain like that, but I do get your point and I am >> happy to make the change. >> >> Thanks, >> Costas >> >> On Tue, 7 Mar 2023 at 14:18, Jacek Caban wrote: >> >>> Hi Costas, >>> >>> On 3/7/23 15:00, Costas Argyris wrote: >>> > Hi Jacek, >>> > >>> > "Is there a reason to make it specific to x86_64? It seems to me that >>> > all mingw hosts could use it." >>> > >>> > Are you referring to the 32-bit host? My concern here is that this >>> > functionality (embedding the UTF-8 >>> > manifest file into the executable) is only truly supported in recent >>> > versions of Windows. From: >>> > >>> > >>> https://learn.microsoft.com/en-us/windows/apps/design/globalizing/use-utf8-code-page >>> > >>> > It says that Windows Version 1903 (May 2019 Update) enables this, so >>> > we are looking at the 64-bit >>> > version of Windows. >>> > >>> > I suppose you are referring to the scenario where one has a 32-bit >>> > gcc + mingw running in a 64-bit >>> > Windows that is recent enough to support this? It is not clear to >>> > me based on the above doc what >>> > would happen encoding-wise in that situation, and I haven't tried it >>> > either because I assumed that >>> > most people would want the 64-bit version of gcc since they are >>> > probably running a 64-bit OS. >>> > >>> > If you think it is useful, I could look into that as a separate task >>> > to try and keep this one simple, if >>> > that makes sense. >>> >>> >>> Yes, realistically it's mostly about 32-bit gcc on 64-bit Windows >>> (perhaps aarch64 as well at some point in the future). It's probably >>> indeed not very popular configuration those days, but I think it should >>> work just fine if you didn't explicitly limit the patch to x86_64. >>> >>> >>> > "I think that .manifest file should also be a dependency here." >>> > >>> > Why is that? Windres takes only the .rc file as its input, as per >>> > its own doc, and it successfully >>> > compiles it into an object file. The .manifest file is only >>> > referenced by the .rc file, and it doesn't >>> > get passed to windres, so I don't see why it has to be listed as a >>> > prerequisite in the make rule. >>> >>> >>> The point that when winnt-utf8.manifest is modified, utf8-mingw32.o >>> should be rebuilt. Anyway, it's probably not a big deal (I should >>> disclaim that I'm not very familiar with gcc build system; I'm mostly on >>> this ML due to mingw-w64 contributions). >>> >>> >>> Thanks, >>> >>> Jacek >>> >>> --0000000000004850fe05f677b085-- --0000000000004850ff05f677b087 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Enable-UTF-8-code-page-on-Windows-64-bit-host-PR1088.patch" Content-Disposition: attachment; filename="0001-Enable-UTF-8-code-page-on-Windows-64-bit-host-PR1088.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lf15f4af0 RnJvbSA2OTRkNmY0ODYwYTA4ZjY5MDA3MGRmNDExZjNmNzJkNjZhNDhhOTgx IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBDb3N0YXMgQXJneXJp cyA8Y29zdGFzLmFyZ3lyaXNAZ21haWwuY29tPgpEYXRlOiBUdWUsIDI4IEZl YiAyMDIzIDE3OjEwOjE4ICswMDAwClN1YmplY3Q6IFtQQVRDSF0gRW5hYmxl IFVURi04IGNvZGUgcGFnZSBvbiBXaW5kb3dzIDY0LWJpdCBob3N0IFtQUjEw ODg2NV0KCkNvbXBpbGUgYSByZXNvdXJjZSBvYmplY3QgdGhhdCBjb250YWlu cyB0aGUgdXRmOCBtYW5pZmVzdC4KClRoZW4gbGluayB0aGF0IG9iamVjdCBp bnRvIHRoZSBkcml2ZXIgYW5kIGNvbXBpbGVyIHByb3Blci4KCkZvciBjb21w aWxlciBwcm9wZXIgdGhlIGxpbmsgaGFzIHRvIGJlIGZvcmNlZCBiZWNhdXNl IHRoZQpyZXNvdXJjZSBvYmplY3QgZmlsZSBnZXRzIGludG8gYSBzdGF0aWMg bGlicmFyeSAobGliYmFja2VuZC5hKQphbmQgZ2V0cyBldmVudHVhbGx5IGRy b3BwZWQgYmVjYXVzZSBpdCBoYXMgbm8gc3ltYm9scyBvZgppdHMgb3duIGFu ZCBub3RoaW5nIGlzIHJlZmVyZW5jaW5nIGl0IGluc2lkZSB0aGUgbGlicmFy eS4KClRoZXJlZm9yZSwgYW4gYXJ0aWZpY2lhbCBzeW1ib2wgaXMgcGxhbnRl ZCB0byBmb3JjZSB0aGUgbGluay4KLS0tCiBnY2MvY29uZmlnLmhvc3QgICAg ICAgICAgICAgICAgICAgICB8ICA1ICsrLQogZ2NjL2NvbmZpZy9pMzg2L3N5 bS1taW5ndzMyLmNjICAgICAgfCAgMSArCiBnY2MvY29uZmlnL2kzODYvdXRm OC1taW5ndzMyLnJjICAgICB8ICAzICsrCiBnY2MvY29uZmlnL2kzODYvd2lu bnQtdXRmOC5tYW5pZmVzdCB8ICA4ICsrKysKIGdjYy9jb25maWcvaTM4Ni94 LW1pbmd3MzIgICAgICAgICAgIHwgIDMgKy0KIGdjYy9jb25maWcvaTM4Ni94 LW1pbmd3MzItdXRmOCAgICAgIHwgNTcgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKIDYgZmlsZXMgY2hhbmdlZCwgNzMgaW5zZXJ0aW9ucygrKSwg NCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvY29uZmln L2kzODYvc3ltLW1pbmd3MzIuY2MKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2Mv Y29uZmlnL2kzODYvdXRmOC1taW5ndzMyLnJjCiBjcmVhdGUgbW9kZSAxMDA2 NDQgZ2NjL2NvbmZpZy9pMzg2L3dpbm50LXV0ZjgubWFuaWZlc3QKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBnY2MvY29uZmlnL2kzODYveC1taW5ndzMyLXV0ZjgK CmRpZmYgLS1naXQgYS9nY2MvY29uZmlnLmhvc3QgYi9nY2MvY29uZmlnLmhv c3QKaW5kZXggYTUyMmMzOTY1OGUuLjRhYmIzMmFkNzNkIDEwMDY0NAotLS0g YS9nY2MvY29uZmlnLmhvc3QKKysrIGIvZ2NjL2NvbmZpZy5ob3N0CkBAIC0y NDEsMTAgKzI0MSwxMSBAQCBjYXNlICR7aG9zdH0gaW4KICAgeDg2XzY0LSot bWluZ3cqKQogICAgIHVzZV9sb25nX2xvbmdfZm9yX3dpZGVzdF9mYXN0X2lu dD15ZXMKICAgICBob3N0X3htX2ZpbGU9aTM4Ni94bS1taW5ndzMyLmgKLSAg ICBob3N0X3htYWtlX2ZpbGU9IiR7aG9zdF94bWFrZV9maWxlfSBpMzg2L3gt bWluZ3czMiIKKyAgICBob3N0X3htYWtlX2ZpbGU9IiR7aG9zdF94bWFrZV9m aWxlfSBpMzg2L3gtbWluZ3czMiBpMzg2L3gtbWluZ3czMi11dGY4IgogICAg IGhvc3RfZXhlZXh0PS5leGUKICAgICBvdXRfaG9zdF9ob29rX29iaj1ob3N0 LW1pbmd3MzIubwotICAgIGhvc3RfZXh0cmFfZ2NjX29ianM9IiR7aG9zdF9l eHRyYV9nY2Nfb2Jqc30gZHJpdmVyLW1pbmd3MzIubyIKKyAgICBob3N0X2V4 dHJhX29ianM9IiR7aG9zdF9leHRyYV9vYmpzfSB1dGY4LW1pbmd3MzIubyIK KyAgICBob3N0X2V4dHJhX2djY19vYmpzPSIke2hvc3RfZXh0cmFfZ2NjX29i anN9IGRyaXZlci1taW5ndzMyLm8gdXRmOHJjLW1pbmd3MzIubyIKICAgICBo b3N0X2x0b19wbHVnaW5fc29uYW1lPWxpYmx0b19wbHVnaW4uZGxsCiAgICAg OzsKICAgYWFyY2g2NCotKi1kYXJ3aW4qKQpkaWZmIC0tZ2l0IGEvZ2NjL2Nv bmZpZy9pMzg2L3N5bS1taW5ndzMyLmNjIGIvZ2NjL2NvbmZpZy9pMzg2L3N5 bS1taW5ndzMyLmNjCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwLi5mMzY5Njk4YWJjNAotLS0gL2Rldi9udWxsCisrKyBiL2djYy9j b25maWcvaTM4Ni9zeW0tbWluZ3czMi5jYwpAQCAtMCwwICsxIEBACitjaGFy IEhPU1RfRVhUUkFfT0JKU19TWU1CT0w7CmRpZmYgLS1naXQgYS9nY2MvY29u ZmlnL2kzODYvdXRmOC1taW5ndzMyLnJjIGIvZ2NjL2NvbmZpZy9pMzg2L3V0 ZjgtbWluZ3czMi5yYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAwMC4uZTIxNzRlODViN2MKLS0tIC9kZXYvbnVsbAorKysgYi9nY2Mv Y29uZmlnL2kzODYvdXRmOC1taW5ndzMyLnJjCkBAIC0wLDAgKzEsMyBAQAor I2luY2x1ZGUgPHdpbnVzZXIuaD4KKworQ1JFQVRFUFJPQ0VTU19NQU5JRkVT VF9SRVNPVVJDRV9JRCBSVF9NQU5JRkVTVCAid2lubnQtdXRmOC5tYW5pZmVz dCIKZGlmZiAtLWdpdCBhL2djYy9jb25maWcvaTM4Ni93aW5udC11dGY4Lm1h bmlmZXN0IGIvZ2NjL2NvbmZpZy9pMzg2L3dpbm50LXV0ZjgubWFuaWZlc3QK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmRhYjky OWUxNTE1Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL2NvbmZpZy9pMzg2L3dp bm50LXV0ZjgubWFuaWZlc3QKQEAgLTAsMCArMSw4IEBACis8P3htbCB2ZXJz aW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCIgc3RhbmRhbG9uZT0ieWVzIj8+ Cis8YXNzZW1ibHkgbWFuaWZlc3RWZXJzaW9uPSIxLjAiIHhtbG5zPSJ1cm46 c2NoZW1hcy1taWNyb3NvZnQtY29tOmFzbS52MSI+CisgIDxhcHBsaWNhdGlv bj4KKyAgICA8d2luZG93c1NldHRpbmdzPgorICAgICAgPGFjdGl2ZUNvZGVQ YWdlIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL1NNSS8y MDE5L1dpbmRvd3NTZXR0aW5ncyI+VVRGLTg8L2FjdGl2ZUNvZGVQYWdlPgor ICAgIDwvd2luZG93c1NldHRpbmdzPgorICA8L2FwcGxpY2F0aW9uPgorPC9h c3NlbWJseT4KZGlmZiAtLWdpdCBhL2djYy9jb25maWcvaTM4Ni94LW1pbmd3 MzIgYi9nY2MvY29uZmlnL2kzODYveC1taW5ndzMyCmluZGV4IDViOGI1Zjk2 MTQzLi5jYjNkODQzNDg4MSAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9pMzg2 L3gtbWluZ3czMgorKysgYi9nY2MvY29uZmlnL2kzODYveC1taW5ndzMyCkBA IC0yNyw4ICsyNyw3IEBAIFdFUlJPUl9GTEFHUyArPSAtV25vLWZvcm1hdAog CiBob3N0LW1pbmd3MzIubyA6ICQoc3JjZGlyKS9jb25maWcvaTM4Ni9ob3N0 LW1pbmd3MzIuY2MgJChDT05GSUdfSCkgJChTWVNURU1fSCkgXAogICBjb3Jl dHlwZXMuaCBob3N0aG9va3MuaCBob3N0aG9va3MtZGVmLmggdG9wbGV2Lmgg JChESUFHTk9TVElDX0gpICQoSE9PS1NfSCkKLQkkKENPTVBJTEVSKSAtYyAk KEFMTF9DT01QSUxFUkZMQUdTKSAkKEFMTF9DUFBGTEFHUykgJChJTkNMVURF UykgXAotCQkkKHNyY2RpcikvY29uZmlnL2kzODYvaG9zdC1taW5ndzMyLmNj CisJJChDT01QSUxFUikgLWMgJChBTExfQ09NUElMRVJGTEFHUykgJChBTExf Q1BQRkxBR1MpICQoSU5DTFVERVMpICQ8CiAKIGRyaXZlci1taW5ndzMyLm8g OiAkKHNyY2RpcikvY29uZmlnL2kzODYvZHJpdmVyLW1pbmd3MzIuY2MgJChD T05GSUdfSCkKIAkkKENPTVBJTEVSKSAtYyAkKEFMTF9DT01QSUxFUkZMQUdT KSAkKEFMTF9DUFBGTEFHUykgJChJTkNMVURFUykgJDwKZGlmZiAtLWdpdCBh L2djYy9jb25maWcvaTM4Ni94LW1pbmd3MzItdXRmOCBiL2djYy9jb25maWcv aTM4Ni94LW1pbmd3MzItdXRmOApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwMC4uZWZlZWVmZjQ5OTYKLS0tIC9kZXYvbnVsbAorKysg Yi9nY2MvY29uZmlnL2kzODYveC1taW5ndzMyLXV0ZjgKQEAgLTAsMCArMSw1 NyBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMjMgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBJbmMuCisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdDQy4K KyMKKyMgR0NDIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQg YnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZl cnNpb24gMywgb3IgKGF0IHlvdXIgb3B0aW9uKQorIyBhbnkgbGF0ZXIgdmVy c2lvbi4KKyMKKyMgR0NDIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo YXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJS QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisj IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKyMgWW91IHNob3VsZCBoYXZlIHJl Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UKKyMgYWxvbmcgd2l0aCBHQ0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4g IElmIG5vdCBzZWUKKyMgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+ LgorIworIworIyBGb3IgNjQtYml0IFdpbmRvd3MgaG9zdCwgZW1iZWQgYSBt YW5pZmVzdCB0aGF0IHNldHMgdGhlIGFjdGl2ZQorIyBjb2RlIHBhZ2Ugb2Yg dGhlIGRyaXZlciBhbmQgY29tcGlsZXIgcHJvcGVyIHByb2Nlc3NlcyB0byB1 dGY4LgorIyBUaGlzIG9ubHkgaGFzIGFuIGVmZmVjdCBvbiBXaW5kb3dzIHZl cnNpb24gMTkwMyAoTWF5IDIwMTkgVXBkYXRlKQorIyBvciBsYXRlci4KKwor IyBUaGUgcmVzb3VyY2UgLnJjIGZpbGUgcmVmZXJlbmNlcyB0aGUgdXRmOCAu bWFuaWZlc3QgZmlsZS4KKyMgQ29tcGlsZSBpdCBpbnRvIGFuIG9iamVjdCBm aWxlIHVzaW5nIHdpbmRyZXMuCisjIFRoZSByZXN1bHRpbmcgLm8gZmlsZSBn ZXRzIGFkZGVkIHRvIGhvc3RfZXh0cmFfZ2NjX29ianMgaW4KKyMgY29uZmln Lmhvc3QgZm9yIHg4Nl82NC0qLW1pbmd3KiBob3N0IGFuZCBnZXRzIGxpbmtl ZCBpbnRvCisjIHRoZSBkcml2ZXIgYXMgYSAubyBmaWxlLCBzbyBpdCdzIGxh Y2sgb2Ygc3ltYm9scyBpcyBPSy4KK3V0ZjhyYy1taW5ndzMyLm8gOiAkKHNy Y2RpcikvY29uZmlnL2kzODYvdXRmOC1taW5ndzMyLnJjIFwKKyAgJChzcmNk aXIpL2NvbmZpZy9pMzg2L3dpbm50LXV0ZjgubWFuaWZlc3QKKwkkKFdJTkRS RVMpICQ8ICRACisKKyMgQ3JlYXRlIGFuIG9iamVjdCBmaWxlIHRoYXQganVz dCBleHBvcnRzIHRoZSBnbG9iYWwgc3ltYm9sCisjIEhPU1RfRVhUUkFfT0JK U19TWU1CT0wKK3N5bS1taW5ndzMyLm8gOiAkKHNyY2RpcikvY29uZmlnL2kz ODYvc3ltLW1pbmd3MzIuY2MKKwkkKENPTVBJTEVSKSAtYyAkPCAkQAorCisj IENvbWJpbmUgdGhlIHR3byBvYmplY3QgZmlsZXMgaW50byBvbmUgd2hpY2gg aGFzIGJvdGggdGhlCisjIGNvbXBpbGVkIHV0ZjggcmVzb3VyY2UgYW5kIHRo ZSBIT1NUX0VYVFJBX09CSlNfU1lNQk9MIHN5bWJvbC4KKyMgVGhlIHJlc3Vs dGluZyAubyBmaWxlIGdldHMgYWRkZWQgdG8gaG9zdF9leHRyYV9vYmpzIGlu CisjIGNvbmZpZy5ob3N0IGZvciB4ODZfNjQtKi1taW5ndyogaG9zdCBhbmQg Z2V0cyBhcmNoaXZlZCBpbnRvCisjIGxpYmJhY2tlbmQuYSB3aGljaCBnZXRz IGxpbmtlZCBpbnRvIHRoZSBjb21waWxlciBwcm9wZXIuCisjIElmIG5vdGhp bmcgcmVmZXJlbmNlcyBpdCBpbnRvIGxpYmJhY2tlbmQuYSwgaXQgd2lsbCBu b3QKKyMgZ2V0IGxpbmtlZCBpbnRvIHRoZSBjb21waWxlciBwcm9wZXIgZXZl bnR1YWxseS4KKyMgVGhlcmVmb3JlIHdlIG5lZWQgdG8gcmVxdWVzdCB0aGUg c3ltYm9sIGF0IGNvbXBpbGVyIGxpbmsgdGltZS4KK3V0ZjgtbWluZ3czMi5v IDogdXRmOHJjLW1pbmd3MzIubyBzeW0tbWluZ3czMi5vCisJJChDT01QSUxF UikgLXIgdXRmOHJjLW1pbmd3MzIubyBzeW0tbWluZ3czMi5vIC1vICRACisK KyMgRm9yY2UgY29tcGlsZXJzIHRvIGxpbmsgYWdhaW5zdCB0aGUgdXRmOCBy ZXNvdXJjZSBieQorIyByZXF1aXJpbmcgdGhlIHN5bWJvbCB0byBiZSBkZWZp bmVkLgorIyBPdGhlcndpc2UgdGhlIG9iamVjdCBmaWxlIHdvbid0IGdldCBs aW5rZWQgaW4gdGhlIGNvbXBpbGVycworIyBiZWNhdXNlIG5vdGhpbmcgaXMg cmVmZXJlbmNpbmcgaXQgaW4gbGliYmFja2VuZC5hCisjIFRoaXMgaXMgZXhw ZWN0ZWQgYmVjYXVzZSB0aGUgcmVzb3VyY2Ugb2JqZWN0IGlzIG5vdCBzdXBw b3NlZAorIyB0byBoYXZlIGFueSBzeW1ib2xzLCBpdCBqdXN0IGhhcyB0byBi ZSBsaW5rZWQgaW50byB0aGUKKyMgZXhlY3V0YWJsZSBpbiBvcmRlciBmb3Ig V2luZG93cyB0byB1c2UgdGhlIHV0ZjggY29kZSBwYWdlLgorJChDT01QSUxF UlMpIDogb3ZlcnJpZGUgTERGTEFHUyArPSAtV2wsLS1yZXF1aXJlLWRlZmlu ZWQ9SE9TVF9FWFRSQV9PQkpTX1NZTUJPTAotLSAKMi4zMC4yCgo= --0000000000004850ff05f677b087--