Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vTN6s-0001Li-0m for pgsql-hackers@arkaria.postgresql.org; Wed, 10 Dec 2025 16:32:16 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vTN6s-00Ckiu-0o for pgsql-hackers@arkaria.postgresql.org; Wed, 10 Dec 2025 16:32:14 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vTN6r-00CkiU-0p for pgsql-hackers@lists.postgresql.org; Wed, 10 Dec 2025 16:32:14 +0000 Received: from fout-a8-smtp.messagingengine.com ([103.168.172.151]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vTN6p-004A6i-0a for pgsql-hackers@lists.postgresql.org; Wed, 10 Dec 2025 16:32:12 +0000 Received: from phl-compute-02.internal (phl-compute-02.internal [10.202.2.42]) by mailfout.phl.internal (Postfix) with ESMTP id D88A4EC0736; Wed, 10 Dec 2025 11:32:09 -0500 (EST) Received: from phl-imap-14 ([10.202.2.87]) by phl-compute-02.internal (MEProxy); Wed, 10 Dec 2025 11:32:09 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=burd.me; h=cc:cc :content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to; s=fm1; t=1765384329; x=1765470729; bh=bQ8E8PTaNB mS4zWs5IwwWu7Xk4HgBt2Utmdge/Hx4VE=; b=ZagYPXlr3rMtX/fzdV/TIGDrQw 3n+JAWvNq/AbZIRk7S8qCr8qcxob3i9jnl1iFgzAlmVsAMPNJtasjdIqc6ed1DoK 92TojMnjNQH1DImLe+WK869cNMCKMcqvQREuYxNfn5xD0+Sup4qE4T0/Ibe3qNrK Gh6vfO2HK6jPLzaVMLkYgDsM/SqZVUE6F1y9AKOMPfcGWIrzv5vu4DueYzqtEc3g +N0cYWJQYUxixYCUXN74AhejjQPUx+3hoyYCIfuUT8cPATJkkmXze0QZRaqdKpji lbrbUoqeaGK2nJcJoMojsnXrGfQeIem1c+4rt5qiYDu/g1LLO5cecodF7ySw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t= 1765384329; x=1765470729; bh=bQ8E8PTaNBmS4zWs5IwwWu7Xk4HgBt2Utmd ge/Hx4VE=; b=BLxo4goC8u8kuun2bfMduKI5FynZ7isDA3pF45DAaSFVdM0jx0X dd/Yj5Otg57UAQxhvHHjxrJCIsNKnc/uGEpPH3pvQxcRuf09d4e6/6HSvJrQEsNQ TZml3UdrjmgyvY94lXGvGS/WuW2MONWeqcqWelmItDmwYwsWUi3Ww8N1xyvjxxge 0C4YCZGsm/3w1LdK+IwMjimJXJJWyyGDN0l+myhS7Zns3iEvnlCwCwMIIAd6Ita+ RL6hoBNmFc6+vLsyE5VdlzzTqhfVRRvPrINPGmoT/+223J1lS3teZSeGGqtjLUnb NkcfgICEPHW7hCaKDEmWH0d/bSpRzRpjPUg== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgddvvdelvdcutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpuffrtefokffrpgfnqfghnecuuegr ihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjug hrpefoggffhffvvefkjghfufgtsehmtderreertdejnecuhfhrohhmpedfifhrvghguceu uhhrugdfuceoghhrvghgsegsuhhrugdrmhgvqeenucggtffrrghtthgvrhhnpeefvdffte duffehjeetjefgtdfgleffgeduteehteduveehgfeiveejfffhgeeiieenucffohhmrghi nhepvhhishhurghlshhtuhguihhordgtohhmnecuvehluhhsthgvrhfuihiivgeptdenuc frrghrrghmpehmrghilhhfrhhomhepghhrvghgsegsuhhrugdrmhgvpdhnsggprhgtphht thhopeeipdhmohguvgepshhmthhpohhuthdprhgtphhtthhopegrnhgurhgvshesrghnrg hrrgiivghlrdguvgdprhgtphhtthhopehpvghtvghrsegvihhsvghnthhrrghuthdrohhr ghdprhgtphhtthhopegurghvvggtrhgrmhgvrhesghhmrghilhdrtghomhdprhgtphhtth hopehnrghthhgrnhgusghoshhsrghrthesghhmrghilhdrtghomhdprhgtphhtthhopeht hhhomhgrshdrmhhunhhrohesghhmrghilhdrtghomhdprhgtphhtthhopehpghhsqhhlqd hhrggtkhgvrhhssehlihhsthhsrdhpohhsthhgrhgvshhqlhdrohhrgh X-ME-Proxy: Feedback-ID: i675e48f3:Fastmail Received: by mailuser.phl.internal (Postfix, from userid 501) id 89C66C4006B; Wed, 10 Dec 2025 11:32:09 -0500 (EST) X-Mailer: MessagingEngine.com Webmail Interface MIME-Version: 1.0 X-ThreadId: ASp1z1VhzG_s Date: Wed, 10 Dec 2025 11:31:36 -0500 From: "Greg Burd" To: "PostgreSQL Hackers" Cc: "Thomas Munro" , "Nathan Bossart" , "Peter Eisentraut" , "Dave Cramer" , "Andres Freund" Message-Id: <5e169c16-9e54-4325-8027-1f52a5bb5c1e@app.fastmail.com> In-Reply-To: References: <386595D6-0373-4E08-BC00-D8F17F5F7CAE@greg.burd.me> <63d07b91-a55a-4c5f-bf62-d3506acfdb5b@app.fastmail.com> Subject: =?UTF-8?Q?Re:_[PATCH]_Fix_ARM64/MSVC_atomic_memory_ordering_issues_on_Wi?= =?UTF-8?Q?n11_by_adding_explicit_DMB_=E2=80=8Bbarriers?= Content-Type: multipart/mixed; boundary=e924481f811e406ca12fdc7417e3da97 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --e924481f811e406ca12fdc7417e3da97 Content-Type: text/plain Content-Transfer-Encoding: 7bit Hello. Rebased with only minor changes to meson.build this patch is ready for review/commit as it is passing tests on my aarch64 Win11 MSVC system. Also note that this system I'm testing on is ready to become a member of the buildfarm (application submitted) and monitor this combo in perpetuity. FWIW, Dave's bug report to Microsoft [1] seems to be a duplicate of [2] and the duplicate is about to be auto-closed. best. -greg [1] https://developercommunity.visualstudio.com/t/MSVCs-_InterlockedCompareExchange-doe/11004239 [2] https://developercommunity.visualstudio.com/t/MSVC-compiler-optimization-in-PostgreSQL/10982137 --e924481f811e406ca12fdc7417e3da97 Content-Disposition: attachment; filename*0="v6-0001-Enable-build-on-Windows-11-ARM64-with-MSVC.patch" Content-Type: application/octet-stream; name="=?UTF-8?Q?v6-0001-Enable-build-on-Windows-11-ARM64-with-MSVC.patch?=" Content-Transfer-Encoding: base64 RnJvbSA1OTVjMTEwYjNjNWZmOWU2ZGY4Yzg2MjEzMTY3MzMzOWQ4OGI0NTUyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBEYXZlIENyYW1lciA8ZGF2ZWNyYW1lckBnbWFpbC5j b20+CkRhdGU6IFN1biwgMTMgSnVsIDIwMjUgMDY6MzM6MTcgLTA0MDAKU3ViamVjdDogW1BB VENIIHY2XSBFbmFibGUgYnVpbGQgb24gV2luZG93cyAxMSBBUk02NCB3aXRoIE1TVkMKCkFk ZCBzdXBwb3J0IGZvciB0aGUgQVJNNjQgYXJjaGl0ZWN0dXJlIG9uIFdpbmRvd3MgMTEgdXNp bmcgTVNWQyBjb21waWxlciwKYWRkcmVzc2luZyBidWlsZCBpc3N1ZXMgYW5kIGltcGxlbWVu dGluZyBwcm9wZXIgbWVtb3J5IHN5bmNocm9uaXphdGlvbgpzZW1hbnRpY3MgZm9yIHRoaXMg cGxhdGZvcm0uCgpJbXBsZW1lbnQgc3Bpbl9kZWxheSgpIHdpdGggX195aWVsZCgpIGludHJp bnNpYyB0aGF0IGVtaXRzIHRoZSBZSUVMRAppbnN0cnVjdGlvbi4gIFVzZSBNU1ZDIENSQzMy IGltcGxlbWVudGF0aW9uIG9uIEFSTTY0LiAgQ2hhbmdlcyB0aGUKU19VTkxPQ0soKSBtYWNy byB0byB1c2UgdGhlIEludGVybG9ja2VkRXhjaGFuZ2UoKSBpbnRyaW5zaWMuCgpBdXRob3I6 IEdyZWcgQnVyZCA8Z3JlZ0BidXJkLm1lPgpBdXRob3I6IERhdmUgQ3JhbWVyIDxkYXZlY3Jh bWVyQGdtYWlsLmNvbT4KRGlzY3Vzc2lvbjogaHR0cHM6Ly9wb3N0Z3IuZXMvbS8zYzU3NmFk Ny1kMmRhLTQxMzctYjc5MS01ODIxZGE3Y2MzNzAlNDBhcHAuZmFzdG1haWwuY29tCi0tLQog ZG9jL3NyYy9zZ21sL2luc3RhbGxhdGlvbi5zZ21sIHwgIDIgKy0KIG1lc29uLmJ1aWxkICAg ICAgICAgICAgICAgICAgICB8IDY0ICsrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0t LS0KIHNyYy9pbmNsdWRlL3N0b3JhZ2Uvc19sb2NrLmggICB8IDYxICsrKysrKysrKysrKysr KysrKysrKysrKysrLS0tLS0tCiBzcmMvcG9ydC9wZ19jcmMzMmNfYXJtdjguYyAgICAgfCAg NiArKysrCiBzcmMvdG9vbHMvbXN2Y19nZW5kZWYucGwgICAgICAgfCAgOCArKy0tLQogNSBm aWxlcyBjaGFuZ2VkLCAxMDYgaW5zZXJ0aW9ucygrKSwgMzUgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2luc3RhbGxhdGlvbi5zZ21sIGIvZG9jL3NyYy9zZ21s L2luc3RhbGxhdGlvbi5zZ21sCmluZGV4IGZlOGQ3M2UxZjhjLi4zZjhkNTEyYTkwNiAxMDA2 NDQKLS0tIGEvZG9jL3NyYy9zZ21sL2luc3RhbGxhdGlvbi5zZ21sCisrKyBiL2RvYy9zcmMv c2dtbC9pbnN0YWxsYXRpb24uc2dtbApAQCAtMzk2Nyw3ICszOTY3LDcgQEAgY29uZmlndXJl IC4uLiBMREZMQUdTPSItUiAvdXNyL3Nmdy9saWI6L29wdC9zZncvbGliOi91c3IvbG9jYWwv bGliIgogICAgPHNlY3QzIGlkPSJpbnN0YWxsLXdpbmRvd3MtZnVsbC02NC1iaXQiPgogICAg IDx0aXRsZT5TcGVjaWFsIENvbnNpZGVyYXRpb25zIGZvciA2NC1CaXQgV2luZG93czwvdGl0 bGU+CiAgICAgPHBhcmE+Ci0gICAgIFBvc3RncmVTUUwgd2lsbCBvbmx5IGJ1aWxkIGZvciB0 aGUgeDY0IGFyY2hpdGVjdHVyZSBvbiA2NC1iaXQgV2luZG93cy4KKyAgICAgUG9zdGdyZVNR TCB3aWxsIG9ubHkgYnVpbGQgZm9yIHRoZSB4NjQgYW5kIEFSTTY0IGFyY2hpdGVjdHVyZXMg b24gNjQtYml0IFdpbmRvd3MuCiAgICAgPC9wYXJhPgogICAgIDxwYXJhPgogICAgICBNaXhp bmcgMzItIGFuZCA2NC1iaXQgdmVyc2lvbnMgaW4gdGhlIHNhbWUgYnVpbGQgdHJlZSBpcyBu b3Qgc3VwcG9ydGVkLgpkaWZmIC0tZ2l0IGEvbWVzb24uYnVpbGQgYi9tZXNvbi5idWlsZApp bmRleCA3MTgxNTBlM2FjMC4uMTMwNDQ3OGIzM2IgMTAwNjQ0Ci0tLSBhL21lc29uLmJ1aWxk CisrKyBiL21lc29uLmJ1aWxkCkBAIC0yNTEyLDI1ICsyNTEyLDUxIEBAIGludCBtYWluKHZv aWQpCiB9CiAnJycKIAotICBpZiBjYy5saW5rcyhwcm9nLCBuYW1lOiAnX19jcmMzMmNiLCBf X2NyYzMyY2gsIF9fY3JjMzJjdywgYW5kIF9fY3JjMzJjZCB3aXRob3V0IC1tYXJjaD1hcm12 OC1hK2NyYycsCi0gICAgICBhcmdzOiB0ZXN0X2NfYXJncykKLSAgICAjIFVzZSBBUk0gQ1JD IEV4dGVuc2lvbiB1bmNvbmRpdGlvbmFsbHkKLSAgICBjZGF0YS5zZXQoJ1VTRV9BUk1WOF9D UkMzMkMnLCAxKQotICAgIGhhdmVfb3B0aW1pemVkX2NyYyA9IHRydWUKLSAgZWxpZiBjYy5s aW5rcyhwcm9nLCBuYW1lOiAnX19jcmMzMmNiLCBfX2NyYzMyY2gsIF9fY3JjMzJjdywgYW5k IF9fY3JjMzJjZCB3aXRoIC1tYXJjaD1hcm12OC1hK2NyYytzaW1kJywKLSAgICAgIGFyZ3M6 IHRlc3RfY19hcmdzICsgWyctbWFyY2g9YXJtdjgtYStjcmMrc2ltZCddKQotICAgICMgVXNl IEFSTSBDUkMgRXh0ZW5zaW9uLCB3aXRoIHJ1bnRpbWUgY2hlY2sKLSAgICBjZmxhZ3NfY3Jj ICs9ICctbWFyY2g9YXJtdjgtYStjcmMrc2ltZCcKLSAgICBjZGF0YS5zZXQoJ1VTRV9BUk1W OF9DUkMzMkMnLCBmYWxzZSkKLSAgICBjZGF0YS5zZXQoJ1VTRV9BUk1WOF9DUkMzMkNfV0lU SF9SVU5USU1FX0NIRUNLJywgMSkKLSAgICBoYXZlX29wdGltaXplZF9jcmMgPSB0cnVlCi0g IGVsaWYgY2MubGlua3MocHJvZywgbmFtZTogJ19fY3JjMzJjYiwgX19jcmMzMmNoLCBfX2Ny YzMyY3csIGFuZCBfX2NyYzMyY2Qgd2l0aCAtbWFyY2g9YXJtdjgtYStjcmMnLAotICAgICAg YXJnczogdGVzdF9jX2FyZ3MgKyBbJy1tYXJjaD1hcm12OC1hK2NyYyddKQotICAgICMgVXNl IEFSTSBDUkMgRXh0ZW5zaW9uLCB3aXRoIHJ1bnRpbWUgY2hlY2sKLSAgICBjZmxhZ3NfY3Jj ICs9ICctbWFyY2g9YXJtdjgtYStjcmMnCi0gICAgY2RhdGEuc2V0KCdVU0VfQVJNVjhfQ1JD MzJDJywgZmFsc2UpCi0gICAgY2RhdGEuc2V0KCdVU0VfQVJNVjhfQ1JDMzJDX1dJVEhfUlVO VElNRV9DSEVDSycsIDEpCi0gICAgaGF2ZV9vcHRpbWl6ZWRfY3JjID0gdHJ1ZQorICBpZiBo b3N0X21hY2hpbmUuY3B1X2ZhbWlseSgpID09ICdhYXJjaDY0JworICAgICMgTVNWQyBBUk02 NDogSW50cmluc2ljcyBhcmUgcGFydCBvZiBpbnRyaW4uaCwgYWx3YXlzIGF2YWlsYWJsZS4K KyAgICAjIE5vIHJ1bnRpbWUgdGVzdCBuZWVkZWQgLSBhc3N1bWUgYXZhaWxhYmlsaXR5IG9u IEFSTTY0IHRhcmdldHMuCisgICAgaWYgY2MuZ2V0X2lkKCkgPT0gJ21zdmMnCisgICAgICBj ZGF0YS5zZXQoJ1VTRV9BUk1WOF9DUkMzMkMnLCAxKQorICAgICAgaGF2ZV9vcHRpbWl6ZWRf Y3JjID0gdHJ1ZQorICAgICAgbWVzc2FnZSgnVXNpbmcgQVJNNjQgQ1JDMzJDIGhhcmR3YXJl IGFjY2VsZXJhdGlvbiAoTVNWQyknKQorICAgIGVsc2UKKyAgICAgICMgR0NDL0NsYW5nIEFS TTY0OiBUZXN0IHdpdGggcHJvZ3Jlc3NpdmUgZmxhZyByZXF1aXJlbWVudHMgdG8gbWF4aW1p emUKKyAgICAgICMgY29tcGF0aWJpbGl0eSBhY3Jvc3MgdG9vbGNoYWluIHZlcnNpb25zLgor CisgICAgICAjIEZpcnN0OiBUcnkgd2l0aG91dCBhbnkgc3BlY2lhbCBmbGFncyAoYnVpbHQt aW4gc3VwcG9ydCkKKyAgICAgIGlmIGNjLmxpbmtzKHByb2csIG5hbWU6ICdfX2NyYzMyY2Is IF9fY3JjMzJjaCwgX19jcmMzMmN3LCBhbmQgX19jcmMzMmNkIHdpdGhvdXQgLW1hcmNoPWFy bXY4LWErY3JjJywKKyAgICAgICAgICBhcmdzOiB0ZXN0X2NfYXJncykKKyAgICAgICAgY2Rh dGEuc2V0KCdVU0VfQVJNVjhfQ1JDMzJDJywgMSkKKyAgICAgICAgaGF2ZV9vcHRpbWl6ZWRf Y3JjID0gdHJ1ZQorICAgICAgICBtZXNzYWdlKCdVc2luZyBBUk02NCBDUkMzMkMgd2l0aG91 dCBmbGFncyAoYnVpbHQtaW4gc3VwcG9ydCknKQorCisgICAgICAjIFNlY29uZDogVHJ5IHdp dGggLW1hcmNoPWFybXY4LWErY3JjK3NpbWQgKG5ld2VyIHRvb2xjaGFpbnMpCisgICAgICBl bGlmIGNjLmxpbmtzKHByb2csIG5hbWU6ICdfX2NyYzMyY2IsIF9fY3JjMzJjaCwgX19jcmMz MmN3LCBhbmQgX19jcmMzMmNkIHdpdGggLW1hcmNoPWFybXY4LWErY3JjK3NpbWQnLAorICAg ICAgICAgIGFyZ3M6IHRlc3RfY19hcmdzICsgWyctbWFyY2g9YXJtdjgtYStjcmMrc2ltZCdd KQorICAgICAgICBjZmxhZ3NfY3JjICs9ICctbWFyY2g9YXJtdjgtYStjcmMrc2ltZCcKKyAg ICAgICAgY2RhdGEuc2V0KCdVU0VfQVJNVjhfQ1JDMzJDJywgZmFsc2UpCisgICAgICAgIGNk YXRhLnNldCgnVVNFX0FSTVY4X0NSQzMyQ19XSVRIX1JVTlRJTUVfQ0hFQ0snLCAxKQorICAg ICAgICBoYXZlX29wdGltaXplZF9jcmMgPSB0cnVlCisgICAgICAgIG1lc3NhZ2UoJ1VzaW5n IEFSTTY0IENSQzMyQyB3aXRoIHJ1bnRpbWUgY2hlY2sgKC1tYXJjaD1hcm12OC1hK2NyYytz aW1kKScpCisKKyAgICAgICMgVGhpcmQ6IFRyeSB3aXRoIC1tYXJjaD1hcm12OC1hK2NyYyAo YmFzaWMgZmxhZykKKyAgICAgIGVsaWYgY2MubGlua3MocHJvZywgbmFtZTogJ19fY3JjMzJj YiwgX19jcmMzMmNoLCBfX2NyYzMyY3csIGFuZCBfX2NyYzMyY2Qgd2l0aCAtbWFyY2g9YXJt djgtYStjcmMnLAorICAgICAgICAgIGFyZ3M6IHRlc3RfY19hcmdzICsgWyctbWFyY2g9YXJt djgtYStjcmMnXSkKKyAgICAgICAgY2ZsYWdzX2NyYyArPSAnLW1hcmNoPWFybXY4LWErY3Jj JworICAgICAgICBjZGF0YS5zZXQoJ1VTRV9BUk1WOF9DUkMzMkMnLCBmYWxzZSkKKyAgICAg ICAgY2RhdGEuc2V0KCdVU0VfQVJNVjhfQ1JDMzJDX1dJVEhfUlVOVElNRV9DSEVDSycsIDEp CisgICAgICAgIGhhdmVfb3B0aW1pemVkX2NyYyA9IHRydWUKKyAgICAgICAgbWVzc2FnZSgn VXNpbmcgQVJNNjQgQ1JDMzJDIHdpdGggcnVudGltZSBjaGVjayAoLW1hcmNoPWFybXY4LWEr Y3JjKScpCisKKyAgICAgIGVsc2UKKyAgICAgICAgbWVzc2FnZSgnQ1JDMzJDIG9wdGltaXph dGlvbiBub3QgYXZhaWxhYmxlIGZvciB0aGlzIEFSTTY0IEdDQy9DbGFuZyBidWlsZCcpCisg ICAgICBlbmRpZgorICAgIGVuZGlmCisgIGVuZGlmCisKKyAgIyBGYWxsYmFjazogVXNlIHNv ZnR3YXJlIENSQyBpZiBubyBoYXJkd2FyZSBhY2NlbGVyYXRpb24gZm91bmQKKyAgaWYgbm90 IGhhdmVfb3B0aW1pemVkX2NyYworICAgIG1lc3NhZ2UoJ0NSQzMyQzogVXNpbmcgc29mdHdh cmUgaW1wbGVtZW50YXRpb24nKQogICBlbmRpZgogCiBlbGlmIGhvc3RfY3B1ID09ICdsb29u Z2FyY2g2NCcKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3N0b3JhZ2Uvc19sb2NrLmggYi9z cmMvaW5jbHVkZS9zdG9yYWdlL3NfbG9jay5oCmluZGV4IDdmOGY1NjZiZDQwLi42ZDA3Mzc4 NzgzNyAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvc3RvcmFnZS9zX2xvY2suaAorKysgYi9z cmMvaW5jbHVkZS9zdG9yYWdlL3NfbG9jay5oCkBAIC01OTQsNyArNTk0LDggQEAgdGFzKHZv bGF0aWxlIHNsb2NrX3QgKmxvY2spCiAKICNpZiAhZGVmaW5lZChIQVNfVEVTVF9BTkRfU0VU KQkvKiBXZSBkaWRuJ3QgdHJpZ2dlciBhYm92ZSwgbGV0J3MgdHJ5IGhlcmUgKi8KIAotI2lm ZGVmIF9NU0NfVkVSCisvKiBXaGVuIGNvbXBpbGluZyBmb3IgTWljcm9zb2Z0IFdpbmRvd3Mg dXNpbmcgTVNWQyAqLworI2lmIGRlZmluZWQoX01TQ19WRVIpCiB0eXBlZGVmIExPTkcgc2xv Y2tfdDsKIAogI2RlZmluZSBIQVNfVEVTVF9BTkRfU0VUCkBAIC02MDIsMzQgKzYwMyw3MiBA QCB0eXBlZGVmIExPTkcgc2xvY2tfdDsKIAogI2RlZmluZSBTUElOX0RFTEFZKCkgc3Bpbl9k ZWxheSgpCiAKLS8qIElmIHVzaW5nIFZpc3VhbCBDKysgb24gV2luNjQsIGlubGluZSBhc3Nl bWJseSBpcyB1bmF2YWlsYWJsZS4KLSAqIFVzZSBhIF9tbV9wYXVzZSBpbnRyaW5zaWMgaW5z dGVhZCBvZiByZXAgbm9wLgorLyoKKyAqIF9JbnRlcmxvY2tlZEV4Y2hhbmdlKCkgZ2VuZXJh dGVzIGEgZnVsbCBtZW1vcnkgYmFycmllciAob3IgcmVsZWFzZQorICogc2VtYW50aWNzIHRo YXQgZW5zdXJlcyBhbGwgcHJpb3IgbWVtb3J5IG9wZXJhdGlvbnMgYXJlIHZpc2libGUgdG8K KyAqIG90aGVyIGNvcmVzIGJlZm9yZSB0aGUgbG9jayBpcyByZWxlYXNlZC4KKyAqLworI2Rl ZmluZSBTX1VOTE9DSyhsb2NrKSAoSW50ZXJsb2NrZWRFeGNoYW5nZShsb2NrLCAwKSkKKwor I2lmIGRlZmluZWQoX1dJTjY0KSAvKiBNaWNyb3NvZnQgV2luZG93cyB4NjQgKi8KKworI2lm IGRlZmluZWQoX01fQVJNNjQpIC8qIGFhcmNoNjQgKi8KKworLyoKKyAqIFVzZSBfX3lpZWxk KCkgaW50cmluc2ljIGZvciBBUk02NC4gVGhpcyBlbWl0cyB0aGUgWUlFTEQgaW5zdHJ1Y3Rp b24sCisgKiB3aGljaCBpcyB0aGUgQVJNLXJlY29tbWVuZGVkIGhpbnQgZm9yIHNwaW5sb2Nr IGRlbGF5cy4gVW5saWtlIElTQgorICogKEluc3RydWN0aW9uIFN5bmNocm9uaXphdGlvbiBC YXJyaWVyKSwgWUlFTEQgaXMgZXhwbGljaXRseSBkZXNpZ25lZCB0bworICogaW5kaWNhdGUg c3Bpbi13YWl0IGxvb3BzLCByZWR1Y2luZyBwb3dlciBhbmQgYWxsb3dpbmcgdGhyZWFkIHNj aGVkdWxpbmcuCisgKgorICogWFhYOiBHQ0MvQ2xhbmcgZW1pdCB0aGUgSVNCIGluc3RydWN0 aW9uIGFuZCB0aGVyZSBpcyBhIGNvbW1lbnQgYWJvdXQKKyAqIGVmZmljaWVuY3kgb24gaGln aCBjb3JlLWNvdW50IHN5c3RlbXMuICBJdCdzIHVuY2xlYXIgaWYgdGhlIHBpcGVsaW5lCisg KiBmbHVzaCB0cmlnZ2VyZWQgYnkgSVNCIGlzIG1vcmUgZWZmaWNpZW50IHRoYW4gWUlFTEQg b3Igbm90LgorICoKKyAqIFJlZmVyZW5jZTogaHR0cHM6Ly9sZWFybi5taWNyb3NvZnQuY29t L2VuLXVzL2NwcC9pbnRyaW5zaWNzL2FybTY0LWludHJpbnNpY3MKKyAqLworc3RhdGljIF9f Zm9yY2VpbmxpbmUgdm9pZAorc3Bpbl9kZWxheSh2b2lkKQoreworCV9feWllbGQoKTsKK30K KworI2VsaWYgZGVmaW5lZChfTV9YNjQpIC8qIHg4Ni02NCAqLworCisvKgorICogVXNlIF9t bV9wYXVzZSgpIGludHJpbnNpYyBmb3IgeDg2LTY0LiBUaGlzIGVtaXRzIHRoZSBQQVVTRSBp bnN0cnVjdGlvbiwKKyAqIHdoaWNoIGltcHJvdmVzIHBlcmZvcm1hbmNlIGluIHNwaW4td2Fp dCBsb29wcyBieSBwcmV2ZW50aW5nIHBpcGVsaW5lIGZsdXNoCisgKiBvbiBIeXBlci1UaHJl YWRpbmcgc3lzdGVtcy4KICAqLwotI2lmIGRlZmluZWQoX1dJTjY0KQogc3RhdGljIF9fZm9y Y2VpbmxpbmUgdm9pZAogc3Bpbl9kZWxheSh2b2lkKQogewogCV9tbV9wYXVzZSgpOwogfQot I2Vsc2UKKworI2VuZGlmIC8qIGRlZmluZWQoX01fQVJNNjR8X01fWDY0KSAqLworCisjZWxz ZSAvKiAhZGVmaW5lZChfV0lONjQpICovCisKKyNpZmRlZiBfTV9JWDg2IC8qIHg4Ni1zcGVj aWZpYyAqLworCisvKiBVc2Ugbm8tb3AgZm9yIE1TVkMgMzJiaXQgeDg2ICovCiBzdGF0aWMg X19mb3JjZWlubGluZSB2b2lkCiBzcGluX2RlbGF5KHZvaWQpCiB7CiAJLyogU2VlIGNvbW1l bnQgZm9yIGdjYyBjb2RlLiBTYW1lIGNvZGUsIE1BU00gc3ludGF4ICovCiAJX19hc20gcmVw IG5vcDsKIH0KLSNlbmRpZgogCiAjaW5jbHVkZSA8aW50cmluLmg+CiAjcHJhZ21hIGludHJp bnNpYyhfUmVhZFdyaXRlQmFycmllcikKIAotI2RlZmluZSBTX1VOTE9DSyhsb2NrKQlcCisj ZGVmaW5lIFNfVU5MT0NLKGxvY2spIFwKIAlkbyB7IF9SZWFkV3JpdGVCYXJyaWVyKCk7ICgq KGxvY2spKSA9IDA7IH0gd2hpbGUgKDApCiAKLSNlbmRpZgotCi0KLSNlbmRpZgkvKiAhZGVm aW5lZChIQVNfVEVTVF9BTkRfU0VUKSAqLworI2VuZGlmIC8qIGRlZmluZWQoX01fSVg4Nikg Ki8KKyNlbmRpZiAvKiBkZWZpbmVkKF9XSU42NCkgKi8KKyNlbmRpZiAvKiBkZWZpbmVkKF9N U0NfVkVSKSAqLworI2VuZGlmIC8qICFkZWZpbmVkKEhBU19URVNUX0FORF9TRVQpICovCiAK IAogLyogQmxvdyB1cCBpZiB3ZSBkaWRuJ3QgaGF2ZSBhbnkgd2F5IHRvIGRvIHNwaW5sb2Nr cyAqLwpkaWZmIC0tZ2l0IGEvc3JjL3BvcnQvcGdfY3JjMzJjX2FybXY4LmMgYi9zcmMvcG9y dC9wZ19jcmMzMmNfYXJtdjguYwppbmRleCA1YmEwNzBiYjk5ZC4uMjlhOTFkY2E2MmYgMTAw NjQ0Ci0tLSBhL3NyYy9wb3J0L3BnX2NyYzMyY19hcm12OC5jCisrKyBiL3NyYy9wb3J0L3Bn X2NyYzMyY19hcm12OC5jCkBAIC0xNCw3ICsxNCwxMyBAQAogICovCiAjaW5jbHVkZSAiYy5o IgogCisjaWZkZWYgX01TQ19WRVIKKyAvKiBNU1ZDIEFSTTY0IGludHJpbnNpY3MgKi8KKyNp bmNsdWRlIDxpbnRyaW4uaD4KKyNlbHNlCisgLyogR0NDL0NsYW5nOiBVc2UgQUNMRSBpbnRy aW5zaWNzIGZyb20gYXJtX2FjbGUuaCAqLwogI2luY2x1ZGUgPGFybV9hY2xlLmg+CisjZW5k aWYKIAogI2luY2x1ZGUgInBvcnQvcGdfY3JjMzJjLmgiCiAKZGlmZiAtLWdpdCBhL3NyYy90 b29scy9tc3ZjX2dlbmRlZi5wbCBiL3NyYy90b29scy9tc3ZjX2dlbmRlZi5wbAppbmRleCA4 NjhhYWQ1MWIwOS4uYzkyYzk0YzQ3NzUgMTAwNjQ0Ci0tLSBhL3NyYy90b29scy9tc3ZjX2dl bmRlZi5wbAorKysgYi9zcmMvdG9vbHMvbXN2Y19nZW5kZWYucGwKQEAgLTExOCw5ICsxMTgs OSBAQCBzdWIgd3JpdGVkZWYKIAl7CiAJCW15ICRpc2RhdGEgPSAkZGVmLT57JGZ9IGVxICdk YXRhJzsKIAotCQkjIFN0cmlwIHRoZSBsZWFkaW5nIHVuZGVyc2NvcmUgZm9yIHdpbjMyLCBi dXQgbm90IHg2NAorCQkjIFN0cmlwIHRoZSBsZWFkaW5nIHVuZGVyc2NvcmUgZm9yIHdpbjMy LCBidXQgbm90IHg2NCBhbmQgYWFyY2g2NAogCQkkZiA9fiBzL15fLy8KLQkJICB1bmxlc3Mg KCRhcmNoIGVxICJ4ODZfNjQiKTsKKwkJICB1bmxlc3MgKCRhcmNoIGVxICJ4ODZfNjQiIHx8 ICRhcmNoIGVxICJhYXJjaDY0Iik7CiAKIAkJIyBFbWl0IGp1c3QgdGhlIG5hbWUgaWYgaXQn cyBhIGZ1bmN0aW9uIHN5bWJvbCwgb3IgZW1pdCB0aGUgbmFtZQogCQkjIGRlY29yYXRlZCB3 aXRoIHRoZSBEQVRBIG9wdGlvbiBmb3IgdmFyaWFibGVzLgpAQCAtMTQxLDcgKzE0MSw3IEBA IHN1YiB3cml0ZWRlZgogc3ViIHVzYWdlCiB7CiAJZGllKCJVc2FnZTogbXN2Y19nZW5kZWYu cGwgLS1hcmNoIDxhcmNoPiAtLWRlZmZpbGUgPGRlZmZpbGU+IC0tdGVtcGRpciA8dGVtcGRp cj4gZmlsZXMtb3ItZGlyZWN0b3JpZXNcbiIKLQkJICAuICIgICAgYXJjaDogeDg2IHwgeDg2 XzY0XG4iCisJCSAgLiAiICAgIGFyY2g6IHg4NiB8IHg4Nl82NCB8IGFhcmNoNjRcbiIKIAkJ ICAuICIgICAgZGVmZmlsZTogcGF0aCBvZiB0aGUgZ2VuZXJhdGVkIGZpbGVcbiIKIAkJICAu ICIgICAgdGVtcGRpcjogZGlyZWN0b3J5IGZvciB0ZW1wb3JhcnkgZmlsZXNcbiIKIAkJICAu ICIgICAgZmlsZXMgb3IgZGlyZWN0b3JpZXM6IG9iamVjdCBmaWxlcyBvciBkaXJlY3Rvcnkg Y29udGFpbmluZyBvYmplY3QgZmlsZXNcbiIKQEAgLTE1OCw3ICsxNTgsNyBAQCBHZXRPcHRp b25zKAogCSd0ZW1wZGlyOnMnID0+IFwkdGVtcGRpciwpIG9yIHVzYWdlKCk7CiAKIHVzYWdl KCJhcmNoOiAkYXJjaCIpCi0gIHVubGVzcyAoJGFyY2ggZXEgJ3g4NicgfHwgJGFyY2ggZXEg J3g4Nl82NCcpOworICB1bmxlc3MgKCRhcmNoIGVxICd4ODYnIHx8ICRhcmNoIGVxICd4ODZf NjQnIHx8ICRhcmNoIGVxICdhYXJjaDY0Jyk7CiAKIG15IEBmaWxlczsKIAotLSAKMi41Mi4w LndpbmRvd3MuMQoK --e924481f811e406ca12fdc7417e3da97--