Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.92) (envelope-from ) id 1j7fTo-0005Im-FF for pgsql-hackers@arkaria.postgresql.org; Fri, 28 Feb 2020 13:15:00 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1j7fTn-00084c-A0 for pgsql-hackers@arkaria.postgresql.org; Fri, 28 Feb 2020 13:14:59 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1j7fTn-00084V-0H for pgsql-hackers@lists.postgresql.org; Fri, 28 Feb 2020 13:14:59 +0000 Received: from out1-smtp.messagingengine.com ([66.111.4.25]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1j7fTj-0007kK-Cp for pgsql-hackers@postgresql.org; Fri, 28 Feb 2020 13:14:58 +0000 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 2F21622091 for ; Fri, 28 Feb 2020 08:14:53 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Fri, 28 Feb 2020 08:14:53 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:message-id :mime-version:subject:to:x-me-proxy:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm2; bh=58j32XWx5b3i1aM34BTtDBaKoScdO UX+oI49ONaSozc=; b=D0htYszF5K+JmRIr0owGNjtE0Fc3GsysYrzu0kCMvCJdS 2huuQV2Gr2AsLH+hSEYLtRScu3Kp4sHqVLZI7iSwlVrt/DZU7r/Udns9P4cmsJF4 u7KqUqUo1ahytSiolWaz7FcOEeWsFtgpplM450JcqPpTm0Aer/HEUWo6dtajMYsq OYGm+Jlervgvpz0LtI/TH+V+vz2EK1+KTyOXK8plu9pWJlxeNOt7nTTP0HvEFZNr pu0Jg8cu6W/YhooDaHoLzX12nbsH4hNPGEujZ3LxGc8H8sZ4+bFzXOb/eB0e8zUI n8F4R2ai8oQz1D7+KqMehILo3hlLEzRz8yCcgKFtw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedugedrleekgdegkecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecunecujfgurhepvffhufhokffffgggtgesmhdtreertd efjeenucfhrhhomheprfgvthgvrhcugfhishgvnhhtrhgruhhtuceophgvthgvrhdrvghi shgvnhhtrhgruhhtsedvnhguqhhurggurhgrnhhtrdgtohhmqeenucffohhmrghinhepvd hnughquhgrughrrghnthdrtghomhenucfkphepleefrddvgedvrdduleegrdduleeinecu vehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepphgvthgvrh drvghishgvnhhtrhgruhhtsedvnhguqhhurggurhgrnhhtrdgtohhm X-ME-Proxy: Received: from april.pezone.net (p5df2c2c4.dip0.t-ipconnect.de [93.242.194.196]) by mail.messagingengine.com (Postfix) with ESMTPA id 595933280066 for ; Fri, 28 Feb 2020 08:14:52 -0500 (EST) To: pgsql-hackers From: Peter Eisentraut Subject: HAVE_WORKING_LINK still needed? Organization: 2ndQuadrant Message-ID: <72fff73f-dc9c-4ef4-83e8-d2e60c98df48@2ndquadrant.com> Date: Fri, 28 Feb 2020 14:14:51 +0100 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------1D4125E385178C1F97028CF2" Content-Language: en-US List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk This is a multi-part message in MIME format. --------------1D4125E385178C1F97028CF2 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit I came across the HAVE_WORKING_LINK define in pg_config_manual.h. AFAICT, hard links are supported on Windows and Cygwin in the OS versions that we support, and pg_upgrade already contains the required shim. It seems to me we could normalize and simplify that, as in the attached patches. (Perhaps rename durable_link_or_rename() then.) I successfully tested on MSVC, MinGW, and Cygwin. -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services --------------1D4125E385178C1F97028CF2 Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="0001-pg_standby-Don-t-use-HAVE_WORKING_LINK.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0001-pg_standby-Don-t-use-HAVE_WORKING_LINK.patch" RnJvbSAyZDE0ZWJmNjhhZWFhNzc3YzYzMTY1NWVmODE1OTU3OTEwNmQ1OTJmIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogVGh1LCAyNyBGZWIgMjAyMCAxNjozMzowNSArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggMS8zXSBwZ19zdGFuZGJ5OiBEb24ndCB1c2UgSEFWRV9XT1JLSU5HX0xJTksK CkhBVkVfV09SS0lOR19MSU5LIGlzIG1lYW50IGZvciBoYXJkIGxpbmtzLCBtYWlubHkgZm9y IFdpbmRvd3MuICBIZXJlCml0J3MgdXNlZCBmb3Igc29mdCBsaW5rcyBvbiBVbml4LCBhbmQg dGhlIGZ1bmN0aW9uYWxpdHkgaXMgb3B0aW9uYWwKYW55d2F5LCBzbyB3ZSBjYW4ganVzdCBt YWtlIGl0IGVycm9yIG91dCBub3JtYWxseSBpZiBuZWVkZWQuCi0tLQogY29udHJpYi9wZ19z dGFuZGJ5L3BnX3N0YW5kYnkuYyB8IDIgLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2NvbnRyaWIvcGdfc3RhbmRieS9wZ19zdGFuZGJ5LmMgYi9j b250cmliL3BnX3N0YW5kYnkvcGdfc3RhbmRieS5jCmluZGV4IDk3ODRkN2FlZjMuLjM1Njdj ODZhYzggMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvcGdfc3RhbmRieS9wZ19zdGFuZGJ5LmMKKysr IGIvY29udHJpYi9wZ19zdGFuZGJ5L3BnX3N0YW5kYnkuYwpAQCAtMTQ0LDEwICsxNDQsOCBA QCBDdXN0b21pemFibGVJbml0aWFsaXplKHZvaWQpCiAJc3dpdGNoIChyZXN0b3JlQ29tbWFu ZFR5cGUpCiAJewogCQljYXNlIFJFU1RPUkVfQ09NTUFORF9MSU5LOgotI2lmZGVmIEhBVkVf V09SS0lOR19MSU5LCiAJCQlTRVRfUkVTVE9SRV9DT01NQU5EKCJsbiAtcyAtZiIsIFdBTEZp bGVQYXRoLCB4bG9nRmlsZVBhdGgpOwogCQkJYnJlYWs7Ci0jZW5kaWYKIAkJY2FzZSBSRVNU T1JFX0NPTU1BTkRfQ09QWToKIAkJZGVmYXVsdDoKIAkJCVNFVF9SRVNUT1JFX0NPTU1BTkQo ImNwIiwgV0FMRmlsZVBhdGgsIHhsb2dGaWxlUGF0aCk7Ci0tIAoyLjI1LjAKCg== --------------1D4125E385178C1F97028CF2 Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="0002-Move-pg_upgrade-s-Windows-link-implementation-to-AC_.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0002-Move-pg_upgrade-s-Windows-link-implementation-to-AC_.pa"; filename*1="tch" RnJvbSAyMTAzNjJlNzU2MmVhOThjMjFlZWRkODhmZDNhYjk5ZWFiY2E3YTAwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogVGh1LCAyNyBGZWIgMjAyMCAxNjo0MjoxMyArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggMi8zXSBNb3ZlIHBnX3VwZ3JhZGUncyBXaW5kb3dzIGxpbmsoKSBpbXBsZW1l bnRhdGlvbiB0bwogQUNfUkVQTEFDRV9GVU5DUwoKVGhpcyB3YXMgd2UgY2FuIG1ha2UgdXNl IG9mIGl0IGluIG90aGVyIGNvbXBvbmVudHMgYXMgd2VsbCwgYW5kIGl0CmZpdHMgYmV0dGVy IHdpdGggdGhlIHJlc3Qgb2YgdGhlIGJ1aWxkIHN5c3RlbS4KLS0tCiBjb25maWd1cmUgICAg ICAgICAgICAgICAgICAgICAgIHwgMTMgKysrKysrKysrKysrCiBjb25maWd1cmUuaW4gICAg ICAgICAgICAgICAgICAgIHwgIDEgKwogc3JjL2Jpbi9wZ191cGdyYWRlL2ZpbGUuYyAgICAg ICB8IDI3ICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHNyYy9iaW4vcGdfdXBncmFkZS9w Z191cGdyYWRlLmggfCAgMiAtLQogc3JjL2luY2x1ZGUvcGdfY29uZmlnLmguaW4gICAgICB8 ICAzICsrKwogc3JjL2luY2x1ZGUvcG9ydC5oICAgICAgICAgICAgICB8ICA0ICsrKysKIHNy Yy9wb3J0L2xpbmsuYyAgICAgICAgICAgICAgICAgfCAzNSArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysKIHNyYy90b29scy9tc3ZjL01rdmNidWlsZC5wbSAgICAgfCAgMiAr LQogc3JjL3Rvb2xzL21zdmMvU29sdXRpb24ucG0gICAgICB8ICAxICsKIDkgZmlsZXMgY2hh bmdlZCwgNjAgaW5zZXJ0aW9ucygrKSwgMjggZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAx MDA2NDQgc3JjL3BvcnQvbGluay5jCgpkaWZmIC0tZ2l0IGEvY29uZmlndXJlIGIvY29uZmln dXJlCmluZGV4IGQyYzc0ZTUzMGMuLjFlOGE5MzcwN2YgMTAwNzU1Ci0tLSBhL2NvbmZpZ3Vy ZQorKysgYi9jb25maWd1cmUKQEAgLTE1NTA0LDYgKzE1NTA0LDE5IEBAIGVzYWMKIAogZmkK IAorYWNfZm5fY19jaGVja19mdW5jICIkTElORU5PIiAibGluayIgImFjX2N2X2Z1bmNfbGlu ayIKK2lmIHRlc3QgIngkYWNfY3ZfZnVuY19saW5rIiA9IHh5ZXM7IHRoZW4gOgorICAkYXNf ZWNobyAiI2RlZmluZSBIQVZFX0xJTksgMSIgPj5jb25mZGVmcy5oCisKK2Vsc2UKKyAgY2Fz ZSAiICRMSUJPQkpTICIgaW4KKyAgKiIgbGluay4kYWNfb2JqZXh0ICIqICkgOzsKKyAgKikg TElCT0JKUz0iJExJQk9CSlMgbGluay4kYWNfb2JqZXh0IgorIDs7Citlc2FjCisKK2ZpCisK IGFjX2ZuX2NfY2hlY2tfZnVuYyAiJExJTkVOTyIgIm1rZHRlbXAiICJhY19jdl9mdW5jX21r ZHRlbXAiCiBpZiB0ZXN0ICJ4JGFjX2N2X2Z1bmNfbWtkdGVtcCIgPSB4eWVzOyB0aGVuIDoK ICAgJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9NS0RURU1QIDEiID4+Y29uZmRlZnMuaApkaWZm IC0tZ2l0IGEvY29uZmlndXJlLmluIGIvY29uZmlndXJlLmluCmluZGV4IDBiMGE4NzEyOTgu LjdjMDdjYzRhM2YgMTAwNjQ0Ci0tLSBhL2NvbmZpZ3VyZS5pbgorKysgYi9jb25maWd1cmUu aW4KQEAgLTE2OTcsNiArMTY5Nyw3IEBAIEFDX1JFUExBQ0VfRlVOQ1MobTRfbm9ybWFsaXpl KFsKIAlnZXRwZWVyZWlkCiAJZ2V0cnVzYWdlCiAJaW5ldF9hdG9uCisJbGluawogCW1rZHRl bXAKIAlwcmVhZAogCXB3cml0ZQpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ191cGdyYWRlL2Zp bGUuYyBiL3NyYy9iaW4vcGdfdXBncmFkZS9maWxlLmMKaW5kZXggNmRiN2NjZTZhMi4uY2M4 YTY3NWQwMCAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ191cGdyYWRlL2ZpbGUuYworKysgYi9z cmMvYmluL3BnX3VwZ3JhZGUvZmlsZS5jCkBAIC0yNiwxMCArMjYsNiBAQAogI2luY2x1ZGUg InN0b3JhZ2UvY2hlY2tzdW0uaCIKICNpbmNsdWRlICJzdG9yYWdlL2NoZWNrc3VtX2ltcGwu aCIKIAotI2lmZGVmIFdJTjMyCi1zdGF0aWMgaW50CXdpbjMyX3BnaGFyZGxpbmsoY29uc3Qg Y2hhciAqc3JjLCBjb25zdCBjaGFyICpkc3QpOwotI2VuZGlmCi0KIAogLyoKICAqIGNsb25l RmlsZSgpCkBAIC0xNTEsNyArMTQ3LDcgQEAgdm9pZAogbGlua0ZpbGUoY29uc3QgY2hhciAq c3JjLCBjb25zdCBjaGFyICpkc3QsCiAJCSBjb25zdCBjaGFyICpzY2hlbWFOYW1lLCBjb25z dCBjaGFyICpyZWxOYW1lKQogewotCWlmIChwZ19saW5rX2ZpbGUoc3JjLCBkc3QpIDwgMCkK KwlpZiAobGluayhzcmMsIGRzdCkgPCAwKQogCQlwZ19mYXRhbCgiZXJyb3Igd2hpbGUgY3Jl YXRpbmcgbGluayBmb3IgcmVsYXRpb24gXCIlcy4lc1wiIChcIiVzXCIgdG8gXCIlc1wiKTog JXNcbiIsCiAJCQkJIHNjaGVtYU5hbWUsIHJlbE5hbWUsIHNyYywgZHN0LCBzdHJlcnJvcihl cnJubykpOwogfQpAQCAtMzY5LDI5ICszNjUsMTAgQEAgY2hlY2tfaGFyZF9saW5rKHZvaWQp CiAJc25wcmludGYobmV3X2xpbmtfZmlsZSwgc2l6ZW9mKG5ld19saW5rX2ZpbGUpLCAiJXMv UEdfVkVSU0lPTi5saW5rdGVzdCIsIG5ld19jbHVzdGVyLnBnZGF0YSk7CiAJdW5saW5rKG5l d19saW5rX2ZpbGUpOwkJLyogbWlnaHQgZmFpbCAqLwogCi0JaWYgKHBnX2xpbmtfZmlsZShl eGlzdGluZ19maWxlLCBuZXdfbGlua19maWxlKSA8IDApCisJaWYgKGxpbmsoZXhpc3Rpbmdf ZmlsZSwgbmV3X2xpbmtfZmlsZSkgPCAwKQogCQlwZ19mYXRhbCgiY291bGQgbm90IGNyZWF0 ZSBoYXJkIGxpbmsgYmV0d2VlbiBvbGQgYW5kIG5ldyBkYXRhIGRpcmVjdG9yaWVzOiAlc1xu IgogCQkJCSAiSW4gbGluayBtb2RlIHRoZSBvbGQgYW5kIG5ldyBkYXRhIGRpcmVjdG9yaWVz IG11c3QgYmUgb24gdGhlIHNhbWUgZmlsZSBzeXN0ZW0uXG4iLAogCQkJCSBzdHJlcnJvcihl cnJubykpOwogCiAJdW5saW5rKG5ld19saW5rX2ZpbGUpOwogfQotCi0jaWZkZWYgV0lOMzIK LS8qIGltcGxlbWVudGF0aW9uIG9mIHBnX2xpbmtfZmlsZSgpIG9uIFdpbmRvd3MgKi8KLXN0 YXRpYyBpbnQKLXdpbjMyX3BnaGFyZGxpbmsoY29uc3QgY2hhciAqc3JjLCBjb25zdCBjaGFy ICpkc3QpCi17Ci0JLyoKLQkgKiBDcmVhdGVIYXJkTGlua0EgcmV0dXJucyB6ZXJvIGZvciBm YWlsdXJlCi0JICogaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L2Fh MzYzODYwKFZTLjg1KS5hc3B4Ci0JICovCi0JaWYgKENyZWF0ZUhhcmRMaW5rQShkc3QsIHNy YywgTlVMTCkgPT0gMCkKLQl7Ci0JCV9kb3NtYXBlcnIoR2V0TGFzdEVycm9yKCkpOwotCQly ZXR1cm4gLTE7Ci0JfQotCWVsc2UKLQkJcmV0dXJuIDA7Ci19Ci0jZW5kaWYKZGlmZiAtLWdp dCBhL3NyYy9iaW4vcGdfdXBncmFkZS9wZ191cGdyYWRlLmggYi9zcmMvYmluL3BnX3VwZ3Jh ZGUvcGdfdXBncmFkZS5oCmluZGV4IGIxNTZiNTE2Y2MuLjhiOTBjZWZiZTAgMTAwNjQ0Ci0t LSBhL3NyYy9iaW4vcGdfdXBncmFkZS9wZ191cGdyYWRlLmgKKysrIGIvc3JjL2Jpbi9wZ191 cGdyYWRlL3BnX3VwZ3JhZGUuaApAQCAtNjUsNyArNjUsNiBAQCBleHRlcm4gY2hhciAqb3V0 cHV0X2ZpbGVzW107CiAKICNpZm5kZWYgV0lOMzIKICNkZWZpbmUgcGdfbXZfZmlsZQkJCXJl bmFtZQotI2RlZmluZSBwZ19saW5rX2ZpbGUJCWxpbmsKICNkZWZpbmUgUEFUSF9TRVBBUkFU T1IJCScvJwogI2RlZmluZSBQQVRIX1FVT1RFCSdcJycKICNkZWZpbmUgUk1fQ01ECQkJCSJy bSAtZiIKQEAgLTc2LDcgKzc1LDYgQEAgZXh0ZXJuIGNoYXIgKm91dHB1dF9maWxlc1tdOwog I2RlZmluZSBFQ0hPX0JMQU5LCSIiCiAjZWxzZQogI2RlZmluZSBwZ19tdl9maWxlCQkJcGdy ZW5hbWUKLSNkZWZpbmUgcGdfbGlua19maWxlCQl3aW4zMl9wZ2hhcmRsaW5rCiAjZGVmaW5l IFBBVEhfU0VQQVJBVE9SCQknXFwnCiAjZGVmaW5lIFBBVEhfUVVPVEUJJyInCiAjZGVmaW5l IFJNX0NNRAkJCQkiREVMIC9xIgpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvcGdfY29uZmln LmguaW4gYi9zcmMvaW5jbHVkZS9wZ19jb25maWcuaC5pbgppbmRleCA0ZmEwZjc3MGFhLi5k NzU4ZGZkMzZlIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9wZ19jb25maWcuaC5pbgorKysg Yi9zcmMvaW5jbHVkZS9wZ19jb25maWcuaC5pbgpAQCAtMzQ2LDYgKzM0Niw5IEBACiAvKiBE ZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHonIGxpYnJhcnkgKC1seikuICovCiAjdW5k ZWYgSEFWRV9MSUJaCiAKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgbGluaycg ZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9MSU5LCisKIC8qIERlZmluZSB0byAxIGlmIHRo ZSBzeXN0ZW0gaGFzIHRoZSB0eXBlIGBsb2NhbGVfdCcuICovCiAjdW5kZWYgSEFWRV9MT0NB TEVfVAogCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9wb3J0LmggYi9zcmMvaW5jbHVkZS9w b3J0LmgKaW5kZXggM2JlOTk0YjQzYy4uMjlmM2UzOWU1YiAxMDA2NDQKLS0tIGEvc3JjL2lu Y2x1ZGUvcG9ydC5oCisrKyBiL3NyYy9pbmNsdWRlL3BvcnQuaApAQCAtMzgxLDYgKzM4MSwx MCBAQCBleHRlcm4gZmxvYXQgcGdfc3RydG9mKGNvbnN0IGNoYXIgKm5wdHIsIGNoYXIgKipl bmRwdHIpOwogI2RlZmluZSBzdHJ0b2YoYSxiKSAocGdfc3RydG9mKChhKSwoYikpKQogI2Vu ZGlmCiAKKyNpZm5kZWYgSEFWRV9MSU5LCitleHRlcm4gaW50IGxpbmsoY29uc3QgY2hhciAq c3JjLCBjb25zdCBjaGFyICpkc3QpOworI2VuZGlmCisKICNpZm5kZWYgSEFWRV9NS0RURU1Q CiBleHRlcm4gY2hhciAqbWtkdGVtcChjaGFyICpwYXRoKTsKICNlbmRpZgpkaWZmIC0tZ2l0 IGEvc3JjL3BvcnQvbGluay5jIGIvc3JjL3BvcnQvbGluay5jCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAuLjQ4YThhNjQwMjUKLS0tIC9kZXYvbnVsbAorKysgYi9z cmMvcG9ydC9saW5rLmMKQEAgLTAsMCArMSwzNSBAQAorLyotLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CisgKgorICogbGluay5jCisgKgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAxOTk2LTIw MjAsIFBvc3RncmVTUUwgR2xvYmFsIERldmVsb3BtZW50IEdyb3VwCisgKiBQb3J0aW9ucyBD b3B5cmlnaHQgKGMpIDE5OTQsIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZv cm5pYQorICoKKyAqCisgKiBJREVOVElGSUNBVElPTgorICoJICBzcmMvcG9ydC9saW5rLmMK KyAqCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqLworCisjaW5jbHVkZSAiYy5oIgorCisj aWZkZWYgV0lOMzIKKworaW50CitsaW5rKGNvbnN0IGNoYXIgKnNyYywgY29uc3QgY2hhciAq ZHN0KQoreworCS8qCisJICogQ3JlYXRlSGFyZExpbmtBIHJldHVybnMgemVybyBmb3IgZmFp bHVyZQorCSAqIGh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9hYTM2 Mzg2MChWUy44NSkuYXNweAorCSAqLworCWlmIChDcmVhdGVIYXJkTGlua0EoZHN0LCBzcmMs IE5VTEwpID09IDApCisJeworCQlfZG9zbWFwZXJyKEdldExhc3RFcnJvcigpKTsKKwkJcmV0 dXJuIC0xOworCX0KKwllbHNlCisJCXJldHVybiAwOworfQorCisjZW5kaWYKZGlmZiAtLWdp dCBhL3NyYy90b29scy9tc3ZjL01rdmNidWlsZC5wbSBiL3NyYy90b29scy9tc3ZjL01rdmNi dWlsZC5wbQppbmRleCA4MzRjMmMzOWQxLi5lYzI1MDQyOTMzIDEwMDY0NAotLS0gYS9zcmMv dG9vbHMvbXN2Yy9Na3ZjYnVpbGQucG0KKysrIGIvc3JjL3Rvb2xzL21zdmMvTWt2Y2J1aWxk LnBtCkBAIC05OCw3ICs5OCw3IEBAIHN1YiBta3ZjYnVpbGQKIAkgIGNoa2xvY2FsZS5jIGV4 cGxpY2l0X2J6ZXJvLmMgZmxzLmMgZ2V0cGVlcmVpZC5jIGdldHJ1c2FnZS5jIGluZXRfYXRv bi5jIHJhbmRvbS5jCiAJICBzcmFuZG9tLmMgZ2V0YWRkcmluZm8uYyBnZXR0aW1lb2ZkYXku YyBpbmV0X25ldF9udG9wLmMga2lsbC5jIG9wZW4uYwogCSAgZXJhbmQ0OC5jIHNucHJpbnRm LmMgc3RybGNhdC5jIHN0cmxjcHkuYyBkaXJtb2QuYyBub2Jsb2NrLmMgcGF0aC5jCi0JICBk aXJlbnQuYyBkbG9wZW4uYyBnZXRvcHQuYyBnZXRvcHRfbG9uZy5jCisJICBkaXJlbnQuYyBk bG9wZW4uYyBnZXRvcHQuYyBnZXRvcHRfbG9uZy5jIGxpbmsuYwogCSAgcHJlYWQuYyBwd3Jp dGUuYyBwZ19iaXR1dGlscy5jCiAJICBwZ19zdHJvbmdfcmFuZG9tLmMgcGdjaGVja2Rpci5j IHBnbWtkaXJwLmMgcGdzbGVlcC5jIHBnc3RyY2FzZWNtcC5jCiAJICBwcXNpZ25hbC5jIG1r ZHRlbXAuYyBxc29ydC5jIHFzb3J0X2FyZy5jIHF1b3Rlcy5jIHN5c3RlbS5jCmRpZmYgLS1n aXQgYS9zcmMvdG9vbHMvbXN2Yy9Tb2x1dGlvbi5wbSBiL3NyYy90b29scy9tc3ZjL1NvbHV0 aW9uLnBtCmluZGV4IDZiNGE2ZWVjMmEuLjNiMzZlOGFkMGQgMTAwNjQ0Ci0tLSBhL3NyYy90 b29scy9tc3ZjL1NvbHV0aW9uLnBtCisrKyBiL3NyYy90b29scy9tc3ZjL1NvbHV0aW9uLnBt CkBAIC0yOTUsNiArMjk1LDcgQEAgc3ViIEdlbmVyYXRlRmlsZXMKIAkJSEFWRV9MSUJYTUwy ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiB1bmRlZiwKIAkJSEFWRV9MSUJY U0xUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiB1bmRlZiwKIAkJSEFWRV9M SUJaICAgICAgICAgICAgICAgICAgID0+ICRzZWxmLT57b3B0aW9uc30tPnt6bGlifSA/IDEg OiB1bmRlZiwKKwkJSEFWRV9MSU5LICAgICAgICAgICAgICAgICAgID0+IHVuZGVmLAogCQlI QVZFX0xPQ0FMRV9UICAgICAgICAgICAgICAgPT4gMSwKIAkJSEFWRV9MT05HX0lOVF82NCAg ICAgICAgICAgID0+IHVuZGVmLAogCQlIQVZFX0xPTkdfTE9OR19JTlRfNjQgICAgICAgPT4g MSwKLS0gCjIuMjUuMAoK --------------1D4125E385178C1F97028CF2 Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="0003-Remove-HAVE_WORKING_LINK.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0003-Remove-HAVE_WORKING_LINK.patch" RnJvbSA1MTYzOWI5ZGNjMDQ4ZDI5YWI2Y2Y5ODYzNzhjMjQxMjZhOTY2NmNlIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogVGh1LCAyNyBGZWIgMjAyMCAxNjo0NjozOCArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggMy8zXSBSZW1vdmUgSEFWRV9XT1JLSU5HX0xJTksKClByZXZpb3VzbHksIGhh cmQgbGlua3Mgd2VyZSBub3QgdXNlZCBvbiBXaW5kb3dzIGFuZCBDeWd3aW4sIGJ1dCB0aGV5 CnN1cHBvcnQgdGhlbSBqdXN0IGZpbmUgaW4gY3VycmVudGx5IHN1cHBvcnRlZCBPUyB2ZXJz aW9ucywgc28gd2UgY2FuCnVzZSB0aGVtIHRoZXJlIGFzIHdlbGwuCgpTaW5jZSBhbGwgc3Vw cG9ydGVkIHBsYXRmb3JtcyBub3cgc3VwcG9ydCBoYXJkIGxpbmtzLCB3ZSBjYW4gcmVtb3Zl CnRoZSBhbHRlcm5hdGl2ZSBjb2RlIHBhdGhzLgotLS0KIHNyYy9iYWNrZW5kL3N0b3JhZ2Uv ZmlsZS9mZC5jICB8IDEyIC0tLS0tLS0tLS0tLQogc3JjL2luY2x1ZGUvcGdfY29uZmlnX21h bnVhbC5oIHwgIDcgLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAxOSBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9zdG9yYWdlL2ZpbGUvZmQuYyBiL3NyYy9iYWNr ZW5kL3N0b3JhZ2UvZmlsZS9mZC5jCmluZGV4IDM0Zjc0NDMxMTAuLjJiYWFkYzI0NTMgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3N0b3JhZ2UvZmlsZS9mZC5jCisrKyBiL3NyYy9iYWNr ZW5kL3N0b3JhZ2UvZmlsZS9mZC5jCkBAIC03ODgsNyArNzg4LDYgQEAgZHVyYWJsZV9saW5r X29yX3JlbmFtZShjb25zdCBjaGFyICpvbGRmaWxlLCBjb25zdCBjaGFyICpuZXdmaWxlLCBp bnQgZWxldmVsKQogCWlmIChmc3luY19mbmFtZV9leHQob2xkZmlsZSwgZmFsc2UsIGZhbHNl LCBlbGV2ZWwpICE9IDApCiAJCXJldHVybiAtMTsKIAotI2lmZGVmIEhBVkVfV09SS0lOR19M SU5LCiAJaWYgKGxpbmsob2xkZmlsZSwgbmV3ZmlsZSkgPCAwKQogCXsKIAkJZXJlcG9ydChl bGV2ZWwsCkBAIC03OTgsMTcgKzc5Nyw2IEBAIGR1cmFibGVfbGlua19vcl9yZW5hbWUoY29u c3QgY2hhciAqb2xkZmlsZSwgY29uc3QgY2hhciAqbmV3ZmlsZSwgaW50IGVsZXZlbCkKIAkJ cmV0dXJuIC0xOwogCX0KIAl1bmxpbmsob2xkZmlsZSk7Ci0jZWxzZQotCS8qIFhYWDogQWRk IHJhY3kgZmlsZSBleGlzdGVuY2UgY2hlY2s/ICovCi0JaWYgKHJlbmFtZShvbGRmaWxlLCBu ZXdmaWxlKSA8IDApCi0JewotCQllcmVwb3J0KGVsZXZlbCwKLQkJCQkoZXJyY29kZV9mb3Jf ZmlsZV9hY2Nlc3MoKSwKLQkJCQkgZXJybXNnKCJjb3VsZCBub3QgcmVuYW1lIGZpbGUgXCIl c1wiIHRvIFwiJXNcIjogJW0iLAotCQkJCQkJb2xkZmlsZSwgbmV3ZmlsZSkpKTsKLQkJcmV0 dXJuIC0xOwotCX0KLSNlbmRpZgogCiAJLyoKIAkgKiBNYWtlIGNoYW5nZSBwZXJzaXN0ZW50 IGluIGNhc2Ugb2YgYW4gT1MgY3Jhc2gsIGJvdGggdGhlIG5ldyBlbnRyeSBhbmQKZGlmZiAt LWdpdCBhL3NyYy9pbmNsdWRlL3BnX2NvbmZpZ19tYW51YWwuaCBiL3NyYy9pbmNsdWRlL3Bn X2NvbmZpZ19tYW51YWwuaAppbmRleCBiNGNlNTMzMDBiLi5kNzRhOGRkODA4IDEwMDY0NAot LS0gYS9zcmMvaW5jbHVkZS9wZ19jb25maWdfbWFudWFsLmgKKysrIGIvc3JjL2luY2x1ZGUv cGdfY29uZmlnX21hbnVhbC5oCkBAIC0xMjksMTMgKzEyOSw2IEBACiAjdW5kZWYgSEFWRV9V TklYX1NPQ0tFVFMKICNlbmRpZgogCi0vKgotICogRGVmaW5lIHRoaXMgaWYgeW91ciBvcGVy YXRpbmcgc3lzdGVtIHN1cHBvcnRzIGxpbmsoKQotICovCi0jaWYgIWRlZmluZWQoV0lOMzIp ICYmICFkZWZpbmVkKF9fQ1lHV0lOX18pCi0jZGVmaW5lIEhBVkVfV09SS0lOR19MSU5LIDEK LSNlbmRpZgotCiAvKgogICogVVNFX1BPU0lYX0ZBRFZJU0UgY29udHJvbHMgd2hldGhlciBQ b3N0Z3JlcyB3aWxsIGF0dGVtcHQgdG8gdXNlIHRoZQogICogcG9zaXhfZmFkdmlzZSgpIGtl cm5lbCBjYWxsLiAgVXN1YWxseSB0aGUgYXV0b21hdGljIGNvbmZpZ3VyZSB0ZXN0cyBhcmUK LS0gCjIuMjUuMAoK --------------1D4125E385178C1F97028CF2--