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 1vNZQx-006sqd-0s for pgsql-hackers@arkaria.postgresql.org; Mon, 24 Nov 2025 16:28:59 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vNZQu-001wPq-26 for pgsql-hackers@arkaria.postgresql.org; Mon, 24 Nov 2025 16:28:56 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vNZQt-001wPh-2P for pgsql-hackers@lists.postgresql.org; Mon, 24 Nov 2025 16:28:56 +0000 Received: from fhigh-a6-smtp.messagingengine.com ([103.168.172.157]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vNZQr-001G55-0F for pgsql-hackers@lists.postgresql.org; Mon, 24 Nov 2025 16:28:55 +0000 Received: from phl-compute-02.internal (phl-compute-02.internal [10.202.2.42]) by mailfhigh.phl.internal (Postfix) with ESMTP id 310CF1400210; Mon, 24 Nov 2025 11:28:50 -0500 (EST) Received: from phl-imap-03 ([10.202.2.93]) by phl-compute-02.internal (MEProxy); Mon, 24 Nov 2025 11:28:50 -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=1764001730; x=1764088130; bh=kRN8/U6jQF H55naLdZfEFbj2bXjZD3EyQhmDK7z2HPM=; b=HxhJqzcEMiw9MsZK6/x/0PXzm4 FgiP4Wu0AVGfyyZ2L4XohTVwM7GZ4mBXhd1dVyCsM5oAoa5738Vviay1FJQMNU6q r/9CB13QrUhZnfrAzD7zb2WE48nj4YXL1cWOasvTk/QpyABVhgATeWMYUqflorF6 l6Oem/EviOTNNK+la3Gux1a8leDp7S5FUzWVeZvjnF4DS0ln2FEmbQrHSqapQLpW gM0XsdPhsUi8++UIfURtIIX1ADeWUIU0Mv0CC6YytaK4gdUc7J/Ri908UQ/3bGg7 zsqpv79fgRaRnrq30SCXq0c7S4iCqJAm1gvQ3KVYUDeL2asP26EmLkj3x+RA== 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=fm3; t= 1764001730; x=1764088130; bh=kRN8/U6jQFH55naLdZfEFbj2bXjZD3EyQhm DK7z2HPM=; b=meRqIxPRIIcahGEgdb8D60OY7gMOyc7iowSR03Ql0WXh4yuxaec /8BSLgJWbmKu6sC9q0BQq993r5k6HAN7FU73kpCgKVwkHdFxCZAGrdTgPgl4Ww2f +08StMMGiI8lfNfn/zFOftxOHShnfGNaXffWs6pCV3n5KQD7RgX66uC0NkTvj3sV z49Gtyt20P1Bek/oM002yG/rGUCHaJlSibz0wa9aCJrjfbjGtzmLGwa5c9JFGC/5 TerjGXgo5wBNWSqVStY6QfOOom9cX2Fr6fMf6qKMG57koad8ZrCqiv7puRNM2v/N onM9sXHcffSjOgZUfTiYAlOOyRgt4fuF3rQ== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdeggddvfeeltdekucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf gurhepofggfffhvfevkfgjfhfutgesmhdtreerredtjeenucfhrhhomhepfdfirhgvghcu uehurhgufdcuoehgrhgvghessghurhgurdhmvgeqnecuggftrfgrthhtvghrnhepfedvie fgfeevffelfeegieekueelffeikedvleehtdevvdeluddtieefjefgjeejnecuvehluhhs thgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepghhrvghgsegsuhhrug drmhgvpdhnsggprhgtphhtthhopeeipdhmohguvgepshhmthhpohhuthdprhgtphhtthho pegrnhgurhgvshesrghnrghrrgiivghlrdguvgdprhgtphhtthhopehpvghtvghrsegvih hsvghnthhrrghuthdrohhrghdprhgtphhtthhopegurghvvggtrhgrmhgvrhesghhmrghi lhdrtghomhdprhgtphhtthhopehnrghthhgrnhgusghoshhsrghrthesghhmrghilhdrtg homhdprhgtphhtthhopehthhhomhgrshdrmhhunhhrohesghhmrghilhdrtghomhdprhgt phhtthhopehpghhsqhhlqdhhrggtkhgvrhhssehlihhsthhsrdhpohhsthhgrhgvshhqlh drohhrgh X-ME-Proxy: Feedback-ID: i675e48f3:Fastmail Received: by mailuser.phl.internal (Postfix, from userid 501) id A3E5C18E0069; Mon, 24 Nov 2025 11:28:49 -0500 (EST) X-Mailer: MessagingEngine.com Webmail Interface MIME-Version: 1.0 X-ThreadId: ASp1z1VhzG_s Date: Mon, 24 Nov 2025 11:28:28 -0500 From: "Greg Burd" To: "Thomas Munro" , "Andres Freund" , "Nathan Bossart" , "Peter Eisentraut" , "PostgreSQL Hackers" Cc: "Dave Cramer" Message-Id: <63d07b91-a55a-4c5f-bf62-d3506acfdb5b@app.fastmail.com> In-Reply-To: References: <386595D6-0373-4E08-BC00-D8F17F5F7CAE@greg.burd.me> 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=e2c6fbd72c164a60a0728ff4430e5c3f List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --e2c6fbd72c164a60a0728ff4430e5c3f Content-Type: text/plain Content-Transfer-Encoding: 7bit On Mon, Nov 24, 2025, at 10:04 AM, Greg Burd wrote: > Hello, > > v3 attached is a more concise single patch that adds support for MSVC > on Win11 ARM64. The issues fixed are mostly related to config, build, > docs, an implementation of spin_delay() and a change to S_UNLOCK() > macro. I've squished the work we did into a single commit and improved > the commit message. Thomas, I think in another thread you mentioned > that some of what Dave added came from you, correct? We should add you > as another author if so, right? > > best. > > -greg > > Attachments: > * v3-0001-Enable-PostgreSQL-build-on-Windows-11-ARM64-with-.patch I forgot to account for the non-ARM64 implementation of S_UNLOCK(), thanks CI for pointing that out. -greg --e2c6fbd72c164a60a0728ff4430e5c3f Content-Disposition: attachment; filename*0="v4-0001-Enable-PostgreSQL-build-on-Windows-11-ARM64-with-.pat"; filename*1="ch" Content-Type: application/octet-stream; name="=?UTF-8?Q?v4-0001-Enable-PostgreSQL-build-on-Windows-11-ARM64-with-.patc?= =?UTF-8?Q?h?=" Content-Transfer-Encoding: base64 RnJvbSBmZGE2MTVkYzYyNjBmOTFjYjUzYzFjODRiNDM4ZGJiODI1MWViMDliIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBEYXZlIENyYW1lciA8ZGF2ZWNyYW1lckBnbWFpbC5j b20+CkRhdGU6IFN1biwgMTMgSnVsIDIwMjUgMDY6MzM6MTcgLTA0MDAKU3ViamVjdDogW1BB VENIIHY0XSBFbmFibGUgUG9zdGdyZVNRTCBidWlsZCBvbiBXaW5kb3dzIDExIEFSTTY0IHdp dGggTVNWQwoKQWRkIHN1cHBvcnQgZm9yIHRoZSBBUk02NCBhcmNoaXRlY3R1cmUgb24gV2lu ZG93cyAxMSB1c2luZyBNU1ZDIGNvbXBpbGVyLAphZGRyZXNzaW5nIGJ1aWxkIGlzc3VlcyBh bmQgaW1wbGVtZW50aW5nIHByb3BlciBtZW1vcnkgc3luY2hyb25pemF0aW9uCnNlbWFudGlj cyBmb3IgdGhpcyBwbGF0Zm9ybS4KCkNoYW5nZXM6CgoxLiBTcGlubG9jayBkZWxheSBpbXBs ZW1lbnRhdGlvbiAoc3Bpbl9kZWxheS5oKQogICAtIEltcGxlbWVudCBwZ19zcGluX2RlbGF5 KCkgZm9yIEFSTTY0IE1TVkMgdXNpbmcgX19pc2IoX0FSTTY0X0JBUlJJRVJfU1kpCiAgIC0g SVNCIChJbnN0cnVjdGlvbiBTeW5jaHJvbml6YXRpb24gQmFycmllcikgcHJvdmlkZXMgYW4g ZWZmZWN0aXZlIGRlbGF5CiAgICAgaGludCBmb3Igc3Bpbi13YWl0IGxvb3BzIG9uIEFSTTY0 LCBmbHVzaGluZyB0aGUgaW5zdHJ1Y3Rpb24gcGlwZWxpbmUKICAgICB0byByZWR1Y2UgcG93 ZXIgY29uc3VtcHRpb24gb24gaGlnaC1jb3JlLWNvdW50IHN5c3RlbXMKCjIuIENSQzMyQyBo YXJkd2FyZSBhY2NlbGVyYXRpb24gKG1lc29uLmJ1aWxkLCBwZ19jcmMzMmNfYXJtdjguYykK ICAgLSBEZXRlY3QgQ1JDMzJDIGNhcGFiaWxpdHkgYXQgYnVpbGQgdGltZSBmb3IgTVNWQyBB Uk02NAogICAtIEZhbGxzIGJhY2sgdG8gc29mdHdhcmUgaW1wbGVtZW50YXRpb24gaWYgaGFy ZHdhcmUgYWNjZWxlcmF0aW9uCiAgICAgdW5hdmFpbGFibGUKCjMuIFNwaW5sb2NrIHJlbGVh c2UgbWVtb3J5IGJhcnJpZXIgKHNfbG9jay5oKQogICAtIFJlcGxhY2UgY29tcGlsZXIgYmFy cmllciAoX1JlYWRXcml0ZUJhcnJpZXIpIHdpdGggaGFyZHdhcmUgYmFycmllcgogICAgIChf X2RtYihfQVJNNjRfQkFSUklFUl9TWSkpIGluIFNfVU5MT0NLIG1hY3JvIGZvciBBUk02NCBN U1ZDCiAgIC0gQ29tcGlsZXIgYmFycmllcnMgYXJlIGluc3VmZmljaWVudCBvbiBBUk02NCdz IHdlYWsgbWVtb3J5IG1vZGVsOwogICAgIF9fZG1iIGVuc3VyZXMgYWxsIHByaW9yIG1lbW9y eSBvcGVyYXRpb25zIGNvbXBsZXRlIGJlZm9yZSB0aGUgbG9jawogICAgIGlzIHJlbGVhc2Vk CiAgIC0gUHJldmVudHMgbWVtb3J5IHJlb3JkZXJpbmcgYWNyb3NzIGNvcmVzLCBlbnN1cmlu ZyBkYXRhIHZpc2liaWxpdHkKICAgICB0byB0aHJlYWRzIGFjcXVpcmluZyB0aGUgcmVsZWFz ZWQgbG9jawogICAtIENyaXRpY2FsIGZvciBjb3JyZWN0bmVzcyBpbiBjb25jdXJyZW50IG9w ZXJhdGlvbnMgKGUuZy4sIFdBTAogICAgIHN5bmNocm9uaXphdGlvbikKClRoaXMgcGF0Y2gg YnJpbmdzIEFSTTY0IE1TVkMgc3VwcG9ydCB0byBwYXJpdHkgd2l0aCBleGlzdGluZyBHQ0Mv Q2xhbmcKaW1wbGVtZW50YXRpb25zIG9uIHRoZSBzYW1lIGFyY2hpdGVjdHVyZS4KCkF1dGhv cjogR3JlZyBCdXJkIDxncmVnQGJ1cmQubWU+CkF1dGhvcjogRGF2ZSBDcmFtZXIgPGRhdmVj cmFtZXJAZ21haWwuY29tPgpEaXNjdXNzaW9uOiBodHRwczovL3Bvc3Rnci5lcy9tLzNjNTc2 YWQ3LWQyZGEtNDEzNy1iNzkxLTU4MjFkYTdjYzM3MCU0MGFwcC5mYXN0bWFpbC5jb20KUmVm ZXJlbmNlOiBodHRwczovL2xlYXJuLm1pY3Jvc29mdC5jb20vZW4tdXMvY3BwL2ludHJpbnNp Y3MvYXJtNjQtaW50cmluc2ljcyNCYXJyaWVyUmVzdHJpY3Rpb25zCi0tLQogZG9jL3NyYy9z Z21sL2luc3RhbGxhdGlvbi5zZ21sIHwgIDIgKy0KIG1lc29uLmJ1aWxkICAgICAgICAgICAg ICAgICAgICB8IDgxICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0KIHNyYy9p bmNsdWRlL3N0b3JhZ2Uvc19sb2NrLmggICB8IDI5ICsrKysrKysrKystLQogc3JjL3BvcnQv cGdfY3JjMzJjX2FybXY4LmMgICAgIHwgIDYgKysrCiBzcmMvdG9vbHMvbXN2Y19nZW5kZWYu cGwgICAgICAgfCAgOCArKy0tCiA1IGZpbGVzIGNoYW5nZWQsIDk4IGluc2VydGlvbnMoKyks IDI4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9pbnN0YWxsYXRp b24uc2dtbCBiL2RvYy9zcmMvc2dtbC9pbnN0YWxsYXRpb24uc2dtbAppbmRleCBmZThkNzNl MWY4Yy4uM2Y4ZDUxMmE5MDYgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9pbnN0YWxsYXRp b24uc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvaW5zdGFsbGF0aW9uLnNnbWwKQEAgLTM5Njcs NyArMzk2Nyw3IEBAIGNvbmZpZ3VyZSAuLi4gTERGTEFHUz0iLVIgL3Vzci9zZncvbGliOi9v cHQvc2Z3L2xpYjovdXNyL2xvY2FsL2xpYiIKICAgIDxzZWN0MyBpZD0iaW5zdGFsbC13aW5k b3dzLWZ1bGwtNjQtYml0Ij4KICAgICA8dGl0bGU+U3BlY2lhbCBDb25zaWRlcmF0aW9ucyBm b3IgNjQtQml0IFdpbmRvd3M8L3RpdGxlPgogICAgIDxwYXJhPgotICAgICBQb3N0Z3JlU1FM IHdpbGwgb25seSBidWlsZCBmb3IgdGhlIHg2NCBhcmNoaXRlY3R1cmUgb24gNjQtYml0IFdp bmRvd3MuCisgICAgIFBvc3RncmVTUUwgd2lsbCBvbmx5IGJ1aWxkIGZvciB0aGUgeDY0IGFu ZCBBUk02NCBhcmNoaXRlY3R1cmVzIG9uIDY0LWJpdCBXaW5kb3dzLgogICAgIDwvcGFyYT4K ICAgICA8cGFyYT4KICAgICAgTWl4aW5nIDMyLSBhbmQgNjQtYml0IHZlcnNpb25zIGluIHRo ZSBzYW1lIGJ1aWxkIHRyZWUgaXMgbm90IHN1cHBvcnRlZC4KZGlmZiAtLWdpdCBhL21lc29u LmJ1aWxkIGIvbWVzb24uYnVpbGQKaW5kZXggNmU3ZGRkNzQ2ODMuLmY3MWJlODlkYTk3IDEw MDY0NAotLS0gYS9tZXNvbi5idWlsZAorKysgYi9tZXNvbi5idWlsZApAQCAtMjQ5NCw3ICsy NDk0LDExIEBAIGludCBtYWluKHZvaWQpCiBlbGlmIGhvc3RfY3B1ID09ICdhcm0nIG9yIGhv c3RfY3B1ID09ICdhYXJjaDY0JwogCiAgIHByb2cgPSAnJycKKyNpZmRlZiBfTVNDX1ZFUgor I2luY2x1ZGUgPGludHJpbi5oPgorI2Vsc2UKICNpbmNsdWRlIDxhcm1fYWNsZS5oPgorI2Vu ZGlmCiB1bnNpZ25lZCBpbnQgY3JjOwogCiBpbnQgbWFpbih2b2lkKQpAQCAtMjUwOSwyNSAr MjUxMyw2NCBAQCBpbnQgbWFpbih2b2lkKQogfQogJycnCiAKLSAgaWYgY2MubGlua3MocHJv ZywgbmFtZTogJ19fY3JjMzJjYiwgX19jcmMzMmNoLCBfX2NyYzMyY3csIGFuZCBfX2NyYzMy Y2Qgd2l0aG91dCAtbWFyY2g9YXJtdjgtYStjcmMnLAotICAgICAgYXJnczogdGVzdF9jX2Fy Z3MpCi0gICAgIyBVc2UgQVJNIENSQyBFeHRlbnNpb24gdW5jb25kaXRpb25hbGx5Ci0gICAg Y2RhdGEuc2V0KCdVU0VfQVJNVjhfQ1JDMzJDJywgMSkKLSAgICBoYXZlX29wdGltaXplZF9j cmMgPSB0cnVlCi0gIGVsaWYgY2MubGlua3MocHJvZywgbmFtZTogJ19fY3JjMzJjYiwgX19j cmMzMmNoLCBfX2NyYzMyY3csIGFuZCBfX2NyYzMyY2Qgd2l0aCAtbWFyY2g9YXJtdjgtYStj cmMrc2ltZCcsCi0gICAgICBhcmdzOiB0ZXN0X2NfYXJncyArIFsnLW1hcmNoPWFybXY4LWEr Y3JjK3NpbWQnXSkKLSAgICAjIFVzZSBBUk0gQ1JDIEV4dGVuc2lvbiwgd2l0aCBydW50aW1l IGNoZWNrCi0gICAgY2ZsYWdzX2NyYyArPSAnLW1hcmNoPWFybXY4LWErY3JjK3NpbWQnCi0g ICAgY2RhdGEuc2V0KCdVU0VfQVJNVjhfQ1JDMzJDJywgZmFsc2UpCi0gICAgY2RhdGEuc2V0 KCdVU0VfQVJNVjhfQ1JDMzJDX1dJVEhfUlVOVElNRV9DSEVDSycsIDEpCi0gICAgaGF2ZV9v cHRpbWl6ZWRfY3JjID0gdHJ1ZQotICBlbGlmIGNjLmxpbmtzKHByb2csIG5hbWU6ICdfX2Ny YzMyY2IsIF9fY3JjMzJjaCwgX19jcmMzMmN3LCBhbmQgX19jcmMzMmNkIHdpdGggLW1hcmNo PWFybXY4LWErY3JjJywKLSAgICAgIGFyZ3M6IHRlc3RfY19hcmdzICsgWyctbWFyY2g9YXJt djgtYStjcmMnXSkKLSAgICAjIFVzZSBBUk0gQ1JDIEV4dGVuc2lvbiwgd2l0aCBydW50aW1l IGNoZWNrCi0gICAgY2ZsYWdzX2NyYyArPSAnLW1hcmNoPWFybXY4LWErY3JjJwotICAgIGNk YXRhLnNldCgnVVNFX0FSTVY4X0NSQzMyQycsIGZhbHNlKQotICAgIGNkYXRhLnNldCgnVVNF X0FSTVY4X0NSQzMyQ19XSVRIX1JVTlRJTUVfQ0hFQ0snLCAxKQotICAgIGhhdmVfb3B0aW1p emVkX2NyYyA9IHRydWUKKyAgaWYgY2MuZ2V0X2lkKCkgPT0gJ21zdmMnCisgICAgIyBNU1ZD OiBJbnRyaW5zaWMgYXZhaWxhYmlsaXR5IGNoZWNrIGZvciBBUk02NAorICAgIGlmIGhvc3Rf bWFjaGluZS5jcHVfZmFtaWx5KCkgPT0gJ2FhcmNoNjQnCisgICAgICAjIFRlc3QgaWYgQ1JD MzJDIGludHJpbnNpY3MgYXJlIGF2YWlsYWJsZSBpbiBpbnRyaW4uaAorICAgICAgY3JjMzJj X3Rlc3RfbXN2YyA9ICcnJworICAgICAgICAjaW5jbHVkZSA8aW50cmluLmg+CisgICAgICAg IGludCBtYWluKHZvaWQpIHsKKyAgICAgICAgICB1aW50MzJfdCBjcmMgPSAwOworICAgICAg ICAgIHVpbnQ4X3QgZGF0YSA9IDA7CisgICAgICAgICAgY3JjID0gX19jcmMzMmNiKGNyYywg ZGF0YSk7CisgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIH0KKyAgICAgICcnJworICAg ICAgaWYgY2MubGlua3MoY3JjMzJjX3Rlc3RfbXN2YywgbmFtZTogJ19fY3JjMzJjYiBpbnRy aW5zaWMgYXZhaWxhYmxlJykKKyAgICAgICAgY2RhdGEuc2V0KCdVU0VfQVJNVjhfQ1JDMzJD JywgMSkKKyAgICAgICAgaGF2ZV9vcHRpbWl6ZWRfY3JjID0gdHJ1ZQorICAgICAgICBtZXNz YWdlKCdVc2luZyBBUk02NCBDUkMzMkMgaGFyZHdhcmUgYWNjZWxlcmF0aW9uIChNU1ZDKScp CisgICAgICBlbHNlCisgICAgICAgIG1lc3NhZ2UoJ0NSQzMyQyBpbnRyaW5zaWNzIG5vdCBh dmFpbGFibGUgb24gdGhpcyBNU1ZDIEFSTTY0IGJ1aWxkJykKKyAgICAgIGVuZGlmCisgICAg ZW5kaWYKKworICBlbGlmIGhvc3RfbWFjaGluZS5jcHVfZmFtaWx5KCkgPT0gJ2FhcmNoNjQn CisgICAgIyBHQ0MvQ2xhbmcgcGF0aHM6IFRyeSBwcm9ncmVzc2l2ZWx5IHdpdGggd2Vha2Vy IHJlcXVpcmVtZW50cworCisgICAgIyBGaXJzdDogVHJ5IHdpdGhvdXQgYW55IHNwZWNpYWwg ZmxhZ3MgKGJ1aWx0LWluIHN1cHBvcnQpCisgICAgaWYgY2MubGlua3MocHJvZywgbmFtZTog J19fY3JjMzJjYiwgX19jcmMzMmNoLCBfX2NyYzMyY3csIGFuZCBfX2NyYzMyY2Qgd2l0aG91 dCAtbWFyY2g9YXJtdjgtYStjcmMnLAorICAgICAgICBhcmdzOiB0ZXN0X2NfYXJncykKKyAg ICAgIGNkYXRhLnNldCgnVVNFX0FSTVY4X0NSQzMyQycsIDEpCisgICAgICBoYXZlX29wdGlt aXplZF9jcmMgPSB0cnVlCisgICAgICBtZXNzYWdlKCdVc2luZyBBUk02NCBDUkMzMkMgd2l0 aG91dCBmbGFncyAoYnVpbHQtaW4gc3VwcG9ydCknKQorCisgICAgIyBTZWNvbmQ6IFRyeSB3 aXRoIC1tYXJjaD1hcm12OC1hK2NyYytzaW1kIChuZXdlciB0b29sY2hhaW5zKQorICAgIGVs aWYgY2MubGlua3MocHJvZywgbmFtZTogJ19fY3JjMzJjYiwgX19jcmMzMmNoLCBfX2NyYzMy Y3csIGFuZCBfX2NyYzMyY2Qgd2l0aCAtbWFyY2g9YXJtdjgtYStjcmMrc2ltZCcsCisgICAg ICAgIGFyZ3M6IHRlc3RfY19hcmdzICsgWyctbWFyY2g9YXJtdjgtYStjcmMrc2ltZCddKQor ICAgICAgY2ZsYWdzX2NyYyArPSAnLW1hcmNoPWFybXY4LWErY3JjK3NpbWQnCisgICAgICBj ZGF0YS5zZXQoJ1VTRV9BUk1WOF9DUkMzMkMnLCBmYWxzZSkKKyAgICAgIGNkYXRhLnNldCgn VVNFX0FSTVY4X0NSQzMyQ19XSVRIX1JVTlRJTUVfQ0hFQ0snLCAxKQorICAgICAgaGF2ZV9v cHRpbWl6ZWRfY3JjID0gdHJ1ZQorICAgICAgbWVzc2FnZSgnVXNpbmcgQVJNNjQgQ1JDMzJD IHdpdGggcnVudGltZSBjaGVjayAoLW1hcmNoPWFybXY4LWErY3JjK3NpbWQpJykKKworICAg ICMgVGhpcmQ6IFRyeSB3aXRoIC1tYXJjaD1hcm12OC1hK2NyYyAoYmFzaWMgZmxhZykKKyAg ICBlbGlmIGNjLmxpbmtzKHByb2csIG5hbWU6ICdfX2NyYzMyY2IsIF9fY3JjMzJjaCwgX19j cmMzMmN3LCBhbmQgX19jcmMzMmNkIHdpdGggLW1hcmNoPWFybXY4LWErY3JjJywKKyAgICAg ICAgYXJnczogdGVzdF9jX2FyZ3MgKyBbJy1tYXJjaD1hcm12OC1hK2NyYyddKQorICAgICAg Y2ZsYWdzX2NyYyArPSAnLW1hcmNoPWFybXY4LWErY3JjJworICAgICAgY2RhdGEuc2V0KCdV U0VfQVJNVjhfQ1JDMzJDJywgZmFsc2UpCisgICAgICBjZGF0YS5zZXQoJ1VTRV9BUk1WOF9D UkMzMkNfV0lUSF9SVU5USU1FX0NIRUNLJywgMSkKKyAgICAgIGhhdmVfb3B0aW1pemVkX2Ny YyA9IHRydWUKKyAgICAgIG1lc3NhZ2UoJ1VzaW5nIEFSTTY0IENSQzMyQyB3aXRoIHJ1bnRp bWUgY2hlY2sgKC1tYXJjaD1hcm12OC1hK2NyYyknKQorCisgICAgZWxzZQorICAgICAgbWVz c2FnZSgnQ1JDMzJDIG9wdGltaXphdGlvbiBub3QgYXZhaWxhYmxlIGZvciB0aGlzIEFSTTY0 IEdDQy9DbGFuZyBidWlsZCcpCisgICAgZW5kaWYKKyAgZW5kaWYKKworICAjIEZhbGxiYWNr OiBVc2Ugc29mdHdhcmUgQ1JDIGlmIG5vIGhhcmR3YXJlIGFjY2VsZXJhdGlvbiBmb3VuZAor ICBpZiBub3QgaGF2ZV9vcHRpbWl6ZWRfY3JjCisgICAgbWVzc2FnZSgnQ1JDMzJDOiBVc2lu ZyBzb2Z0d2FyZSBpbXBsZW1lbnRhdGlvbicpCiAgIGVuZGlmCiAKIGVsaWYgaG9zdF9jcHUg PT0gJ2xvb25nYXJjaDY0JwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvc3RvcmFnZS9zX2xv Y2suaCBiL3NyYy9pbmNsdWRlL3N0b3JhZ2Uvc19sb2NrLmgKaW5kZXggN2Y4ZjU2NmJkNDAu LjAyOWYyZmE5NzI5IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9zdG9yYWdlL3NfbG9jay5o CisrKyBiL3NyYy9pbmNsdWRlL3N0b3JhZ2Uvc19sb2NrLmgKQEAgLTYwMiwxNSArNjAyLDMy IEBAIHR5cGVkZWYgTE9ORyBzbG9ja190OwogCiAjZGVmaW5lIFNQSU5fREVMQVkoKSBzcGlu X2RlbGF5KCkKIAotLyogSWYgdXNpbmcgVmlzdWFsIEMrKyBvbiBXaW42NCwgaW5saW5lIGFz c2VtYmx5IGlzIHVuYXZhaWxhYmxlLgotICogVXNlIGEgX21tX3BhdXNlIGludHJpbnNpYyBp bnN0ZWFkIG9mIHJlcCBub3AuCisvKgorICogSWYgdXNpbmcgVmlzdWFsIEMrKyBvbiBXaW42 NCwgaW5saW5lIGFzc2VtYmx5IGlzIHVuYXZhaWxhYmxlLgorICogVXNlIGFyY2hpdGVjdHVy ZSBzcGVjaWZpYyBpbnRyaW5zaWNzLgogICovCiAjaWYgZGVmaW5lZChfV0lONjQpCisvKgor ICogRm9yIEFybTY0LCB1c2UgX19pc2IgaW50cmluc2ljLiBTZWUgYWFyY2g2NCBpbmxpbmUg YXNzZW1ibHkgZGVmaW5pdGlvbiBmb3IgZGV0YWlscy4KKyAqLworI2lmZGVmIF9NX0FSTTY0 CisKK3N0YXRpYyBfX2ZvcmNlaW5saW5lIHZvaWQKK3NwaW5fZGVsYXkodm9pZCkKK3sKKwkg LyogUmVmZXJlbmNlOiBodHRwczovL2xlYXJuLm1pY3Jvc29mdC5jb20vZW4tdXMvY3BwL2lu dHJpbnNpY3MvYXJtNjQtaW50cmluc2ljcyNCYXJyaWVyUmVzdHJpY3Rpb25zICovCisJX19p c2IoX0FSTTY0X0JBUlJJRVJfU1kpOworfQorI2Vsc2UKKy8qCisgKiBGb3IgeDY0LCB1c2Ug X21tX3BhdXNlIGludHJpbnNpYyBpbnN0ZWFkIG9mIHJlcCBub3AuCisgKi8KIHN0YXRpYyBf X2ZvcmNlaW5saW5lIHZvaWQKIHNwaW5fZGVsYXkodm9pZCkKIHsKIAlfbW1fcGF1c2UoKTsK IH0KKyNlbmRpZgogI2Vsc2UKIHN0YXRpYyBfX2ZvcmNlaW5saW5lIHZvaWQKIHNwaW5fZGVs YXkodm9pZCkKQEAgLTYyMyw5ICs2NDAsMTMgQEAgc3Bpbl9kZWxheSh2b2lkKQogI2luY2x1 ZGUgPGludHJpbi5oPgogI3ByYWdtYSBpbnRyaW5zaWMoX1JlYWRXcml0ZUJhcnJpZXIpCiAK LSNkZWZpbmUgU19VTkxPQ0sobG9jaykJXAorI2lmZGVmIF9NX0FSTTY0CisjZGVmaW5lIFNf VU5MT0NLKGxvY2spIFwKKwlkbyB7IF9fZG1iKF9BUk02NF9CQVJSSUVSX1NZKTsgKCoobG9j aykpID0gMDsgfSB3aGlsZSAoMCkKKyNlbHNlCisjZGVmaW5lIFNfVU5MT0NLKGxvY2spIFwK IAlkbyB7IF9SZWFkV3JpdGVCYXJyaWVyKCk7ICgqKGxvY2spKSA9IDA7IH0gd2hpbGUgKDAp Ci0KKyNlbmRpZgogI2VuZGlmCiAKIApkaWZmIC0tZ2l0IGEvc3JjL3BvcnQvcGdfY3JjMzJj X2FybXY4LmMgYi9zcmMvcG9ydC9wZ19jcmMzMmNfYXJtdjguYwppbmRleCA1YmEwNzBiYjk5 ZC4uMjlhOTFkY2E2MmYgMTAwNjQ0Ci0tLSBhL3NyYy9wb3J0L3BnX2NyYzMyY19hcm12OC5j CisrKyBiL3NyYy9wb3J0L3BnX2NyYzMyY19hcm12OC5jCkBAIC0xNCw3ICsxNCwxMyBAQAog ICovCiAjaW5jbHVkZSAiYy5oIgogCisjaWZkZWYgX01TQ19WRVIKKyAvKiBNU1ZDIEFSTTY0 IGludHJpbnNpY3MgKi8KKyNpbmNsdWRlIDxpbnRyaW4uaD4KKyNlbHNlCisgLyogR0NDL0Ns YW5nOiBVc2UgQUNMRSBpbnRyaW5zaWNzIGZyb20gYXJtX2FjbGUuaCAqLwogI2luY2x1ZGUg PGFybV9hY2xlLmg+CisjZW5kaWYKIAogI2luY2x1ZGUgInBvcnQvcGdfY3JjMzJjLmgiCiAK ZGlmZiAtLWdpdCBhL3NyYy90b29scy9tc3ZjX2dlbmRlZi5wbCBiL3NyYy90b29scy9tc3Zj X2dlbmRlZi5wbAppbmRleCA4NjhhYWQ1MWIwOS4uYzkyYzk0YzQ3NzUgMTAwNjQ0Ci0tLSBh L3NyYy90b29scy9tc3ZjX2dlbmRlZi5wbAorKysgYi9zcmMvdG9vbHMvbXN2Y19nZW5kZWYu cGwKQEAgLTExOCw5ICsxMTgsOSBAQCBzdWIgd3JpdGVkZWYKIAl7CiAJCW15ICRpc2RhdGEg PSAkZGVmLT57JGZ9IGVxICdkYXRhJzsKIAotCQkjIFN0cmlwIHRoZSBsZWFkaW5nIHVuZGVy c2NvcmUgZm9yIHdpbjMyLCBidXQgbm90IHg2NAorCQkjIFN0cmlwIHRoZSBsZWFkaW5nIHVu ZGVyc2NvcmUgZm9yIHdpbjMyLCBidXQgbm90IHg2NCBhbmQgYWFyY2g2NAogCQkkZiA9fiBz L15fLy8KLQkJICB1bmxlc3MgKCRhcmNoIGVxICJ4ODZfNjQiKTsKKwkJICB1bmxlc3MgKCRh cmNoIGVxICJ4ODZfNjQiIHx8ICRhcmNoIGVxICJhYXJjaDY0Iik7CiAKIAkJIyBFbWl0IGp1 c3QgdGhlIG5hbWUgaWYgaXQncyBhIGZ1bmN0aW9uIHN5bWJvbCwgb3IgZW1pdCB0aGUgbmFt ZQogCQkjIGRlY29yYXRlZCB3aXRoIHRoZSBEQVRBIG9wdGlvbiBmb3IgdmFyaWFibGVzLgpA QCAtMTQxLDcgKzE0MSw3IEBAIHN1YiB3cml0ZWRlZgogc3ViIHVzYWdlCiB7CiAJZGllKCJV c2FnZTogbXN2Y19nZW5kZWYucGwgLS1hcmNoIDxhcmNoPiAtLWRlZmZpbGUgPGRlZmZpbGU+ IC0tdGVtcGRpciA8dGVtcGRpcj4gZmlsZXMtb3ItZGlyZWN0b3JpZXNcbiIKLQkJICAuICIg ICAgYXJjaDogeDg2IHwgeDg2XzY0XG4iCisJCSAgLiAiICAgIGFyY2g6IHg4NiB8IHg4Nl82 NCB8IGFhcmNoNjRcbiIKIAkJICAuICIgICAgZGVmZmlsZTogcGF0aCBvZiB0aGUgZ2VuZXJh dGVkIGZpbGVcbiIKIAkJICAuICIgICAgdGVtcGRpcjogZGlyZWN0b3J5IGZvciB0ZW1wb3Jh cnkgZmlsZXNcbiIKIAkJICAuICIgICAgZmlsZXMgb3IgZGlyZWN0b3JpZXM6IG9iamVjdCBm aWxlcyBvciBkaXJlY3RvcnkgY29udGFpbmluZyBvYmplY3QgZmlsZXNcbiIKQEAgLTE1OCw3 ICsxNTgsNyBAQCBHZXRPcHRpb25zKAogCSd0ZW1wZGlyOnMnID0+IFwkdGVtcGRpciwpIG9y IHVzYWdlKCk7CiAKIHVzYWdlKCJhcmNoOiAkYXJjaCIpCi0gIHVubGVzcyAoJGFyY2ggZXEg J3g4NicgfHwgJGFyY2ggZXEgJ3g4Nl82NCcpOworICB1bmxlc3MgKCRhcmNoIGVxICd4ODYn IHx8ICRhcmNoIGVxICd4ODZfNjQnIHx8ICRhcmNoIGVxICdhYXJjaDY0Jyk7CiAKIG15IEBm aWxlczsKIAotLSAKMi41Mi4wLndpbmRvd3MuMQoK --e2c6fbd72c164a60a0728ff4430e5c3f--