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.94.2) (envelope-from ) id 1rVCOe-00FRtH-1B for pgsql-hackers@arkaria.postgresql.org; Wed, 31 Jan 2024 15:21:04 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1rVCOc-00EjLz-MA for pgsql-hackers@arkaria.postgresql.org; Wed, 31 Jan 2024 15:21:02 +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.94.2) (envelope-from ) id 1rVCOb-00EjLq-Vx for pgsql-hackers@lists.postgresql.org; Wed, 31 Jan 2024 15:21:02 +0000 Received: from mail-qk1-x735.google.com ([2607:f8b0:4864:20::735]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1rVCOY-004LRg-5S for pgsql-hackers@lists.postgresql.org; Wed, 31 Jan 2024 15:21:00 +0000 Received: by mail-qk1-x735.google.com with SMTP id af79cd13be357-783f553fdabso71404685a.0 for ; Wed, 31 Jan 2024 07:20:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dunslane-net.20230601.gappssmtp.com; s=20230601; t=1706714457; x=1707319257; darn=lists.postgresql.org; h=in-reply-to:from:references:cc:to:content-language:subject :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=BbxxzRFmM3FlW6gnTitpta+FpoCyTx7bjPV7S/9how0=; b=gOJe2sS4QrADMEPCi8KzEEwq0GyUXcxSdtehXGswMbbHcbGaUqul3SdD3CgTewfK0w GR641ZKyLA+LpD/4p+5cKWqCu8qIQxc3NOQRfqu7sFs0WjuY9VvKFRnDa08Ol/dmucct uVutafxb1U8n8ZISdqzwkPIGqy8tIV6+AVFNOcimOI6/p7tkRlwTsg1ag//IkaqmvuKQ uCGflNftyCfCC6t0x+CSUZhPtNcRb0ZUxQdrk+/sJiDOMzXeopCPOGkMmahS2pXFbXCi HpiG1xFgUHXG2PJ77ihffr52wLN97TEZN1qU0aeJTD/BJmz5PdAeJI3MaQTBpuYEhmwB gQAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706714457; x=1707319257; h=in-reply-to:from:references:cc:to:content-language:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=BbxxzRFmM3FlW6gnTitpta+FpoCyTx7bjPV7S/9how0=; b=DUJe7/Ir5SpyEb6NgDHTYjb1NJxyu5nZGrDqiY3K4bI2eumKXPbxLOuVUhBXalin+q 1FUqMsQAXDDVLm2HljgOCfiH7FUD0aetMrRZmFMg69QJ4WJE5o4Bjolfq3BOm4iwUPf4 roK0iRMK75pP/Yp+okHmdl7EolmLOTw0LMmHjBz5nTQz9ZUuvJB2bTw98VINQWdT0URT qEwNMorAp+DueXfAGIB3+JIwHwfXczVz+0j4u/UB0rSxjywJs/8STBPULza84zcFHyTB iqUYAzYHQ9+ZLkmV95Onn854innPRcxBb7uq2+NS0yV/KcLvQSOIcNolec8LI0GoxkO5 n+mA== X-Gm-Message-State: AOJu0YwETH7ABm1ry1aBThEwSC8+Q+fHgbdgCYpkJx+6HftXZ20eK/mQ YXNwfuTFaYL7LpPXgVSuYIREKuEGqMVC5VuVucG8mK8uOVKzyOzRhysFkzmVYwc= X-Google-Smtp-Source: AGHT+IEMJjgkeabZUq+QAMF2jAJfCWJF87Ep/rXCA0X0/X/huLkqb4I7/gYKzld7Sfjo2q+IFd6MAg== X-Received: by 2002:a05:620a:1495:b0:785:392f:ced4 with SMTP id w21-20020a05620a149500b00785392fced4mr2076366qkj.71.1706714456595; Wed, 31 Jan 2024 07:20:56 -0800 (PST) X-Forwarded-Encrypted: i=0; AJvYcCX5obJoMppOp55qmIS5NBXaJLVGsI8Vxz8IAsvHxrXUh171w86byQ8fS93a4iPBHCJVxK4KGSb7c5TLg+gtdUVneiHc4hJFkRw5rDCyNHF2nQyi/aImVAcBbor/IN4bluKj4+31RQUQsLO5t9JE0hWfLplg0wQuHCU4z7+YiLj+zGESRI+ig/nDbwttVyABLYAv7TCMsCScUHEg9FuvYgBuSVkgHzXRCPcw6ctaNZ+YPUyyIvWKtJLtWU2k8jReXE4dRKgCHfN2eMCB4+aT5icuHUWhvtAZFxayHHL9oPo2b3AyO6IepdgP5Q6nFC+vbs2fgq+eYzGl4XW5nqYW7ZRhmyBK Received: from ?IPV6:2605:a601:91f3:1900::2bb? ([2605:a601:91f3:1900::2bb]) by smtp.googlemail.com with ESMTPSA id c18-20020a05620a135200b00783df788230sm4302930qkl.126.2024.01.31.07.20.55 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 31 Jan 2024 07:20:55 -0800 (PST) Content-Type: multipart/mixed; boundary="------------eygY004sCcwMg0O9nskzpw07" Message-ID: Date: Wed, 31 Jan 2024 10:20:54 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Subject: Re: [PATCH] Add native windows on arm64 support Content-Language: en-US To: Dave Cramer Cc: Andres Freund , Anthony Roberts , Daniel Gustafsson , Lina Iyer , Michael Paquier , Mike Holmes , Peter Eisentraut , PostgreSQL Hackers , Thomas Munro , Tom Lane References: <70d20b11-8ed8-a34e-32d1-8f3015dd771b@dunslane.net> <5ba3cae0-0375-c3e6-4bce-89165e09bdd3@dunslane.net> <56da7612-9feb-c52f-1441-8fc4e51ca434@dunslane.net> <98c8bcbe-3774-854c-b6a6-1c8e6992a25f@dunslane.net> <866cfd73-18f4-643c-88d2-a77a8045a965@dunslane.net> From: Andrew Dunstan In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------eygY004sCcwMg0O9nskzpw07 Content-Type: multipart/alternative; boundary="------------QAdhp9RL3I0hvO30TflPfFAr" --------------QAdhp9RL3I0hvO30TflPfFAr Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 2024-01-30 Tu 17:54, Dave Cramer wrote: > > > > On Tue, Jan 30, 2024 at 4:56 PM Andrew Dunstan > wrote: > > > On 2024-01-30 Tu 09:50, Dave Cramer wrote: >> >> >> On Tue, 30 Jan 2024 at 08:38, Andrew Dunstan >> wrote: >> >> >> On 2024-01-29 Mo 11:20, Dave Cramer wrote: >>> >>> Dave Cramer >>> www.postgres.rocks >>> >>> >>> On Mon, 29 Jan 2024 at 11:16, Andrew Dunstan >>> wrote: >>> >>> >>> On 2024-01-26 Fr 09:18, Dave Cramer wrote: >>>> >>>> >>>> On Fri, 26 Jan 2024 at 07:36, Andrew Dunstan >>>> wrote: >>>> >>>> >>>> On 2024-01-25 Th 20:32, Michael Paquier wrote: >>>> > On Thu, Jan 25, 2024 at 04:52:30PM -0500, Dave >>>> Cramer wrote: >>>> >> On Thu, 25 Jan 2024 at 16:32, Andrew Dunstan >>>> wrote: >>>> >>> On 2024-01-25 Th 16:17, Dave Cramer wrote: >>>> >>> Yeah, I think the default Developer Command >>>> Prompt for VS2022 is set up >>>> >>> for x86 builds. AIUI you should start by >>>> executing "vcvarsall x64_arm64". >>>> >> Yup, now I'm in the same state you are >>>> > Wait a minute here. Based on [1], x64_arm64 means >>>> you can use a x64 >>>> > host and you'll be able to produce ARM64 builds, >>>> still these will not >>>> > be able to run on the host where they were built. >>>> How much of the >>>> > patch posted upthread is required to produce such >>>> builds?  Basically >>>> > everything from it, I guess, so as build >>>> dependencies can be >>>> > satisfied? >>>> > >>>> > [1]: >>>> https://learn.microsoft.com/en-us/cpp/build/building-on-the-command-line?view=msvc-170 >>>> >>>> >>>> If you look at the table here x86 and x64 are the >>>> only supported host >>>> architectures. But that's OK, the x64 binaries will >>>> run on arm64 (W11 >>>> ARM64 has x64 emulation builtin). If that didn't >>>> work Dave and I would >>>> not have got as far as we have. But you want the >>>> x64_arm64 argument to >>>> vcvarsall so you will get ARM64 output. >>>> >>>> >>>> I've rebuilt it using x64_arm64 and with the attached >>>> (very naive patch) and I still get an x64 binary :( >>> >>> >>> With this patch I still get a build error, but it's >>> different :-) >>> >>> >>> [1406/2088] "link" @src/backend/postgres.exe.rsp >>> FAILED: src/backend/postgres.exe src/backend/postgres.pdb >>> "link" @src/backend/postgres.exe.rsp >>>    Creating library src\backend\postgres.exe.lib >>> >>> storage_lmgr_s_lock.c.obj : error LNK2019: unresolved >>> external symbol spin_delay referenced in function >>> perform_spin_delay >>> >>> src\backend\postgres.exe : fatal error LNK1120: 1 >>> unresolved externals >>> >>> >>> Did you add the latest lock.patch ? >>> >>> >> >> >> I'm a bit confused about exactly what needs to be applied. >> Can you supply a complete patch to be applied to a pristine >> checkout that will let me build? >> >> >> cheers >> >> >> See attached. >> >> > > No, that is what is giving me the error shown above (just tried > again to be certain). And it's not surprising, as patch 2 #ifdef's > out the definition of spin_delay(). > > If you can get a complete build with these patches then I suspect > you're not doing a proper ARM64 build. > > > Okay I will look when I get home in a week I made some progress. The attached is mostly taken from With it applied I was able to get a successful build using the buildfarm client. However, there are access violations when running some tests, so there is still some work to do, apparently. cheers andrew -- Andrew Dunstan EDB:https://www.enterprisedb.com --------------QAdhp9RL3I0hvO30TflPfFAr Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit


On 2024-01-30 Tu 17:54, Dave Cramer wrote:



On Tue, Jan 30, 2024 at 4:56 PM Andrew Dunstan <andrew@dunslane.net> wrote:


On 2024-01-30 Tu 09:50, Dave Cramer wrote:


On Tue, 30 Jan 2024 at 08:38, Andrew Dunstan <andrew@dunslane.net> wrote:


On 2024-01-29 Mo 11:20, Dave Cramer wrote:

Dave Cramer


On Mon, 29 Jan 2024 at 11:16, Andrew Dunstan <andrew@dunslane.net> wrote:


On 2024-01-26 Fr 09:18, Dave Cramer wrote:


On Fri, 26 Jan 2024 at 07:36, Andrew Dunstan <andrew@dunslane.net> wrote:

On 2024-01-25 Th 20:32, Michael Paquier wrote:
> On Thu, Jan 25, 2024 at 04:52:30PM -0500, Dave Cramer wrote:
>> On Thu, 25 Jan 2024 at 16:32, Andrew Dunstan <andrew@dunslane.net> wrote:
>>> On 2024-01-25 Th 16:17, Dave Cramer wrote:
>>> Yeah, I think the default Developer Command Prompt for VS2022 is set up
>>> for x86 builds. AIUI you should start by executing "vcvarsall x64_arm64".
>> Yup, now I'm in the same state you are
> Wait a minute here.  Based on [1], x64_arm64 means you can use a x64
> host and you'll be able to produce ARM64 builds, still these will not
> be able to run on the host where they were built.  How much of the
> patch posted upthread is required to produce such builds?  Basically
> everything from it, I guess, so as build dependencies can be
> satisfied?
>
> [1]: https://learn.microsoft.com/en-us/cpp/build/building-on-the-command-line?view=msvc-170


If you look at the table here x86 and x64 are the only supported host
architectures. But that's OK, the x64 binaries will run on arm64 (W11
ARM64 has x64 emulation builtin). If that didn't work Dave and I would
not have got as far as we have. But you want the x64_arm64 argument to
vcvarsall so you will get ARM64 output.

I've rebuilt it using  x64_arm64 and with the attached (very naive patch) and I still get an x64 binary :(


With this patch I still get a build error, but it's different :-)


[1406/2088] "link" @src/backend/postgres.exe.rsp
FAILED: src/backend/postgres.exe src/backend/postgres.pdb
"link" @src/backend/postgres.exe.rsp
   Creating library src\backend\postgres.exe.lib

storage_lmgr_s_lock.c.obj : error LNK2019: unresolved external symbol spin_delay referenced in function perform_spin_delay

src\backend\postgres.exe : fatal error LNK1120: 1 unresolved externals


Did you add the latest lock.patch ?




I'm a bit confused about exactly what needs to be applied. Can you supply a complete patch to be applied to a pristine checkout that will let me build?


cheers


See attached.



No, that is what is giving me the error shown above (just tried again to be certain). And it's not surprising, as patch 2 #ifdef's out the definition of spin_delay().

If you can get a complete build with these patches then I suspect you're not doing a proper ARM64 build.


Okay I will look when I get home in a week


I made some progress. The attached is mostly taken from  <https://postgr.es/m/dbee741f-b9b7-a0d5-1b1b-f9b532bb6f56@linaro.org>

With it applied I was able to get a successful build using the buildfarm client. However, there are access violations when running some tests, so there is still some work to do, apparently.


cheers


andrew

--
Andrew Dunstan
EDB: https://www.enterprisedb.com
--------------QAdhp9RL3I0hvO30TflPfFAr-- --------------eygY004sCcwMg0O9nskzpw07 Content-Type: text/x-patch; charset=UTF-8; name="arm64.patch" Content-Disposition: attachment; filename="arm64.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9pbnN0YWxsYXRpb24uc2dtbCBiL2RvYy9zcmMv c2dtbC9pbnN0YWxsYXRpb24uc2dtbAppbmRleCBlZDViMjg1YTVlLi5kOWI4NjQ5ZGFiIDEw MDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvaW5zdGFsbGF0aW9uLnNnbWwKKysrIGIvZG9jL3Ny Yy9zZ21sL2luc3RhbGxhdGlvbi5zZ21sCkBAIC00MTUwLDcgKzQxNTAsNyBAQCBtYWtlOiAq KiogW3Bvc3RncmVzXSBFcnJvciAxCiAgICA8c2VjdDMgaWQ9Imluc3RhbGwtd2luZG93cy1m dWxsLTY0LWJpdCI+CiAgICAgPHRpdGxlPlNwZWNpYWwgQ29uc2lkZXJhdGlvbnMgZm9yIDY0 LUJpdCBXaW5kb3dzPC90aXRsZT4KICAgICA8cGFyYT4KLSAgICAgUG9zdGdyZVNRTCB3aWxs IG9ubHkgYnVpbGQgZm9yIHRoZSB4NjQgYXJjaGl0ZWN0dXJlIG9uIDY0LWJpdCBXaW5kb3dz LgorICAgICBQb3N0Z3JlU1FMIHdpbGwgb25seSBidWlsZCBmb3IgdGhlIHg2NCBhbmQgQVJN NjQgYXJjaGl0ZWN0dXJlIG9uIDY0LWJpdCBXaW5kb3dzLgogICAgIDwvcGFyYT4KICAgICA8 cGFyYT4KICAgICAgTWl4aW5nIDMyLSBhbmQgNjQtYml0IHZlcnNpb25zIGluIHRoZSBzYW1l IGJ1aWxkIHRyZWUgaXMgbm90IHN1cHBvcnRlZC4KZGlmZiAtLWdpdCBhL21lc29uLmJ1aWxk IGIvbWVzb24uYnVpbGQKaW5kZXggOGVkNTFiNmFhZS4uMTRhZWE5MjRlYyAxMDA2NDQKLS0t IGEvbWVzb24uYnVpbGQKKysrIGIvbWVzb24uYnVpbGQKQEAgLTIwNDYsOCArMjA0NiwxMSBA QCBpbnQgbWFpbih2b2lkKQogZWxpZiBob3N0X2NwdSA9PSAnYXJtJyBvciBob3N0X2NwdSA9 PSAnYWFyY2g2NCcKIAogICBwcm9nID0gJycnCisjaWZkZWYgX01TQ19WRVIKKyNpbmNsdWRl IDxpbnRyaW4uaD4KKyNlbHNlCiAjaW5jbHVkZSA8YXJtX2FjbGUuaD4KLQorI2VuZGlmCiBp bnQgbWFpbih2b2lkKQogewogICAgIHVuc2lnbmVkIGludCBjcmMgPSAwOwpAQCAtMjA2MSw3 ICsyMDY0LDExIEBAIGludCBtYWluKHZvaWQpCiB9CiAnJycKIAotICBpZiBjYy5saW5rcyhw cm9nLCBuYW1lOiAnX19jcmMzMmNiLCBfX2NyYzMyY2gsIF9fY3JjMzJjdywgYW5kIF9fY3Jj MzJjZCB3aXRob3V0IC1tYXJjaD1hcm12OC1hK2NyYycsCisgIGlmIGNjLmdldF9pZCgpID09 ICdtc3ZjJworICAgIGNkYXRhLnNldCgnVVNFX0FSTVY4X0NSQzMyQycsIGZhbHNlKQorICAg IGNkYXRhLnNldCgnVVNFX0FSTVY4X0NSQzMyQ19XSVRIX1JVTlRJTUVfQ0hFQ0snLCAxKQor ICAgIGhhdmVfb3B0aW1pemVkX2NyYyA9IHRydWUKKyAgZWxpZiBjYy5saW5rcyhwcm9nLCBu YW1lOiAnX19jcmMzMmNiLCBfX2NyYzMyY2gsIF9fY3JjMzJjdywgYW5kIF9fY3JjMzJjZCB3 aXRob3V0IC1tYXJjaD1hcm12OC1hK2NyYycsCiAgICAgICBhcmdzOiB0ZXN0X2NfYXJncykK ICAgICAjIFVzZSBBUk0gQ1JDIEV4dGVuc2lvbiB1bmNvbmRpdGlvbmFsbHkKICAgICBjZGF0 YS5zZXQoJ1VTRV9BUk1WOF9DUkMzMkMnLCAxKQpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUv c3RvcmFnZS9zX2xvY2suaCBiL3NyYy9pbmNsdWRlL3N0b3JhZ2Uvc19sb2NrLmgKaW5kZXgg Njk1ODJmNGFlNy4uNDRhYmQ0MjY5MSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvc3RvcmFn ZS9zX2xvY2suaAorKysgYi9zcmMvaW5jbHVkZS9zdG9yYWdlL3NfbG9jay5oCkBAIC03MDcs MTUgKzcwNywzMSBAQCB0eXBlZGVmIExPTkcgc2xvY2tfdDsKIAogI2RlZmluZSBTUElOX0RF TEFZKCkgc3Bpbl9kZWxheSgpCiAKLS8qIElmIHVzaW5nIFZpc3VhbCBDKysgb24gV2luNjQs IGlubGluZSBhc3NlbWJseSBpcyB1bmF2YWlsYWJsZS4KLSAqIFVzZSBhIF9tbV9wYXVzZSBp bnRyaW5zaWMgaW5zdGVhZCBvZiByZXAgbm9wLgorLyoKKyAqIElmIHVzaW5nIFZpc3VhbCBD Kysgb24gV2luNjQsIGlubGluZSBhc3NlbWJseSBpcyB1bmF2YWlsYWJsZS4KKyAqIFVzZSBh cmNoaXRlY3R1cmUgc3BlY2lmaWMgaW50cmluc2ljcy4KICAqLwogI2lmIGRlZmluZWQoX1dJ TjY0KQorLyoKKyAqIEZvciBBcm02NCwgdXNlIF9faXNiIGludHJpbnNpYy4gU2VlIGFhcmNo NjQgaW5saW5lIGFzc2VtYmx5IGRlZmluaXRpb24gZm9yIGRldGFpbHMuCisgKi8KKyNpZmRl ZiBfTV9BUk02NAorc3RhdGljIF9fZm9yY2VpbmxpbmUgdm9pZAorc3Bpbl9kZWxheSh2b2lk KQoreworCSAvKiBSZWZlcmVuY2U6IGh0dHBzOi8vbGVhcm4ubWljcm9zb2Z0LmNvbS9lbi11 cy9jcHAvaW50cmluc2ljcy9hcm02NC1pbnRyaW5zaWNzI0JhcnJpZXJSZXN0cmljdGlvbnMg Ki8KKwlfX2lzYihfQVJNNjRfQkFSUklFUl9TWSk7Cit9CisjZWxzZQorLyoKKyAqIEZvciB4 NjQsIHVzZSBfbW1fcGF1c2UgaW50cmluc2ljIGluc3RlYWQgb2YgcmVwIG5vcC4KKyAqLwog c3RhdGljIF9fZm9yY2VpbmxpbmUgdm9pZAogc3Bpbl9kZWxheSh2b2lkKQogewogCV9tbV9w YXVzZSgpOwogfQorI2VuZGlmCiAjZWxzZQogc3RhdGljIF9fZm9yY2VpbmxpbmUgdm9pZAog c3Bpbl9kZWxheSh2b2lkKQpkaWZmIC0tZ2l0IGEvc3JjL3BvcnQvcGdfY3JjMzJjX2FybXY4 LmMgYi9zcmMvcG9ydC9wZ19jcmMzMmNfYXJtdjguYwppbmRleCBkNDdkODM4YzUwLi5mMTg5 MDNhNjhhIDEwMDY0NAotLS0gYS9zcmMvcG9ydC9wZ19jcmMzMmNfYXJtdjguYworKysgYi9z cmMvcG9ydC9wZ19jcmMzMmNfYXJtdjguYwpAQCAtMTQsNyArMTQsOSBAQAogICovCiAjaW5j bHVkZSAiYy5oIgogCisjaWZuZGVmIF9NU0NfVkVSCiAjaW5jbHVkZSA8YXJtX2FjbGUuaD4K KyNlbmRpZgogCiAjaW5jbHVkZSAicG9ydC9wZ19jcmMzMmMuaCIKIApkaWZmIC0tZ2l0IGEv c3JjL3Rvb2xzL21zdmNfZ2VuZGVmLnBsIGIvc3JjL3Rvb2xzL21zdmNfZ2VuZGVmLnBsCmlu ZGV4IDEyYzQ5ZWQyNjUuLmRmYjI2OTE2YmQgMTAwNjQ0Ci0tLSBhL3NyYy90b29scy9tc3Zj X2dlbmRlZi5wbAorKysgYi9zcmMvdG9vbHMvbXN2Y19nZW5kZWYucGwKQEAgLTEyMCw5ICsx MjAsOSBAQCBzdWIgd3JpdGVkZWYKIAl7CiAJCW15ICRpc2RhdGEgPSAkZGVmLT57JGZ9IGVx ICdkYXRhJzsKIAotCQkjIFN0cmlwIHRoZSBsZWFkaW5nIHVuZGVyc2NvcmUgZm9yIHdpbjMy LCBidXQgbm90IHg2NAorCQkjIFN0cmlwIHRoZSBsZWFkaW5nIHVuZGVyc2NvcmUgZm9yIHdp bjMyLCBidXQgbm90IHg2NCBhbmQgYWFyY2g2NAogCQkkZiA9fiBzL15fLy8KLQkJICB1bmxl c3MgKCRhcmNoIGVxICJ4ODZfNjQiKTsKKwkJICB1bmxlc3MgKCRhcmNoIGVxICJ4ODZfNjQi IHx8ICRhcmNoIGVxICJhYXJjaDY0Iik7CiAKIAkJIyBFbWl0IGp1c3QgdGhlIG5hbWUgaWYg aXQncyBhIGZ1bmN0aW9uIHN5bWJvbCwgb3IgZW1pdCB0aGUgbmFtZQogCQkjIGRlY29yYXRl ZCB3aXRoIHRoZSBEQVRBIG9wdGlvbiBmb3IgdmFyaWFibGVzLgpAQCAtMTQzLDcgKzE0Myw3 IEBAIHN1YiB3cml0ZWRlZgogc3ViIHVzYWdlCiB7CiAJZGllKCJVc2FnZTogbXN2Y19nZW5k ZWYucGwgLS1hcmNoIDxhcmNoPiAtLWRlZmZpbGUgPGRlZmZpbGU+IC0tdGVtcGRpciA8dGVt cGRpcj4gZmlsZXMtb3ItZGlyZWN0b3JpZXNcbiIKLQkJICAuICIgICAgYXJjaDogeDg2IHwg eDg2XzY0XG4iCisJCSAgLiAiICAgIGFyY2g6IHg4NiB8IHg4Nl82NCB8IGFhcmNoNjRcbiIK IAkJICAuICIgICAgZGVmZmlsZTogcGF0aCBvZiB0aGUgZ2VuZXJhdGVkIGZpbGVcbiIKIAkJ ICAuICIgICAgdGVtcGRpcjogZGlyZWN0b3J5IGZvciB0ZW1wb3JhcnkgZmlsZXNcbiIKIAkJ ICAuICIgICAgZmlsZXMgb3IgZGlyZWN0b3JpZXM6IG9iamVjdCBmaWxlcyBvciBkaXJlY3Rv cnkgY29udGFpbmluZyBvYmplY3QgZmlsZXNcbiIKQEAgLTE2MCw3ICsxNjAsNyBAQCBHZXRP cHRpb25zKAogCSd0ZW1wZGlyOnMnID0+IFwkdGVtcGRpciwpIG9yIHVzYWdlKCk7CiAKIHVz YWdlKCJhcmNoOiAkYXJjaCIpCi0gIHVubGVzcyAoJGFyY2ggZXEgJ3g4NicgfHwgJGFyY2gg ZXEgJ3g4Nl82NCcpOworICB1bmxlc3MgKCRhcmNoIGVxICd4ODYnIHx8ICRhcmNoIGVxICd4 ODZfNjQnIHx8ICRhcmNoIGVxICdhYXJjaDY0Jyk7CiAKIG15IEBmaWxlczsKIAo= --------------eygY004sCcwMg0O9nskzpw07--