From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.bugs Subject: bug#29231: 26.0.90; invald file name for symbolic files Date: Sat, 11 Nov 2017 23:19:05 -0800 Organization: UCLA Computer Science Department Message-ID: <2ff2daef-3f5d-fa8b-0cfc-02c160cd5533@cs.ucla.edu> References: <83efp7qk9i.fsf@gnu.org> <83wp2ypn4q.fsf@gnu.org> <837euxp53y.fsf@gnu.org> <20171111182520.GA5075@breton.holly.idiocy.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------FBE24167036E1CB8E49D7AAC" X-Trace: blaine.gmane.org 1510471217 11989 195.159.176.226 (12 Nov 2017 07:20:17 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sun, 12 Nov 2017 07:20:17 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 Cc: Vincent Zhang , 29231@debbugs.gnu.org To: Alan Third , Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun Nov 12 08:20:11 2017 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eDmYs-0002k2-Gs for geb-bug-gnu-emacs@m.gmane.org; Sun, 12 Nov 2017 08:20:10 +0100 Original-Received: from localhost ([::1]:48256 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eDmYy-0005b6-VO for geb-bug-gnu-emacs@m.gmane.org; Sun, 12 Nov 2017 02:20:17 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:39398) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eDmYp-0005at-TR for bug-gnu-emacs@gnu.org; Sun, 12 Nov 2017 02:20:09 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eDmYk-00078C-Rs for bug-gnu-emacs@gnu.org; Sun, 12 Nov 2017 02:20:07 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:55500) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eDmYk-000782-NB for bug-gnu-emacs@gnu.org; Sun, 12 Nov 2017 02:20:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1eDmYj-0006KW-PV for bug-gnu-emacs@gnu.org; Sun, 12 Nov 2017 02:20:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 12 Nov 2017 07:20:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 29231 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 29231-submit@debbugs.gnu.org id=B29231.151047115624263 (code B ref 29231); Sun, 12 Nov 2017 07:20:01 +0000 Original-Received: (at 29231) by debbugs.gnu.org; 12 Nov 2017 07:19:16 +0000 Original-Received: from localhost ([127.0.0.1]:35948 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eDmXz-0006JF-Cs for submit@debbugs.gnu.org; Sun, 12 Nov 2017 02:19:15 -0500 Original-Received: from zimbra.cs.ucla.edu ([131.179.128.68]:43308) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eDmXx-0006J1-9w for 29231@debbugs.gnu.org; Sun, 12 Nov 2017 02:19:14 -0500 Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 4834E1610AD; Sat, 11 Nov 2017 23:19:07 -0800 (PST) Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id rfgcrkJ1IASc; Sat, 11 Nov 2017 23:19:05 -0800 (PST) Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id B32461610DB; Sat, 11 Nov 2017 23:19:05 -0800 (PST) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id YB7lC78fqvUD; Sat, 11 Nov 2017 23:19:05 -0800 (PST) Original-Received: from [192.168.1.9] (unknown [47.154.30.119]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 6DA451610AD; Sat, 11 Nov 2017 23:19:05 -0800 (PST) In-Reply-To: Content-Language: en-US X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:139789 Archived-At: This is a multi-part message in MIME format. --------------FBE24167036E1CB8E49D7AAC Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Paul Eggert wrote: > Alan Third wrote: >> Only with symlinks faccessat returns success if it=E2=80=99s pointing = to a >> file and you put =E2=80=98/=E2=80=99 on the end. >=20 > This is a well-known problem on macOS, and Emacs is supposed to compile= a=20 > replacement fstatat function Whoops, you were writing about faccessat whereas I was thinking about fst= atat.=20 Please ignore my previous email, and sorry about the confusion. Apparently macOS faccessat has a problem similar to fstatat. Gnulib did n= ot work=20 around the faccessat problem, so I wrote and installed a fix for this int= o=20 Gnulib and installed the attached patch into the emacs-26 branch. Please = give it=20 a try. --------------FBE24167036E1CB8E49D7AAC Content-Type: text/plain; charset=UTF-8; name="0001-Merge-from-Gnulib.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0001-Merge-from-Gnulib.txt" RnJvbSA3Nzc1YzQ3Mjk4MTQ0MzE2MDhjOTQzNjQzYTQ5MGFkNWYxZjY4YTk5IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBTYXQsIDExIE5vdiAyMDE3IDIzOjExOjAzIC0wODAwClN1YmplY3Q6IFtQQVRD SF0gTWVyZ2UgZnJvbSBHbnVsaWIKClRoaXMgaW5jb3Jwb3JhdGVzOgoyMDE3LTExLTExIGZh Y2Nlc3NhdDogcG9ydCB0byBtYWNPUyAoQnVnIzI5MjMxKQoyMDE3LTExLTA1IGZzdGF0YXQ6 IHBhY2lmeSBHQ0Mgb24gdW51c3VhbCBwbGF0Zm9ybQoqIGJ1aWxkLWF1eC9jb25maWcuZ3Vl c3MsIGJ1aWxkLWF1eC9jb25maWcuc3ViOgoqIGRvYy9taXNjL3RleGluZm8udGV4LCBsaWIv ZmFjY2Vzc2F0LmMsIGxpYi9mc3RhdGF0LmM6CiogbGliL3VuaXN0ZC5pbi5oLCBtNC9mYWNj ZXNzYXQubTQsIG00L3VuaXN0ZF9oLm00OgpDb3B5IGZyb20gR251bGliLgoqIGxpYi9nbnVs aWIubWsuaW4sIG00L2dudWxpYi1jb21wLm00OiBSZWdlbmVyYXRlLgotLS0KIGJ1aWxkLWF1 eC9jb25maWcuZ3Vlc3MgfCAgOSArKysrKy0tLQogYnVpbGQtYXV4L2NvbmZpZy5zdWIgICB8 ICA1ICsrLS0tCiBkb2MvbWlzYy90ZXhpbmZvLnRleCAgIHwgIDQgKysrLQogbGliL2ZhY2Nl c3NhdC5jICAgICAgICB8IDYwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrLS0tLS0tCiBsaWIvZnN0YXRhdC5jICAgICAgICAgIHwgIDIgKy0KIGxpYi9n bnVsaWIubWsuaW4gICAgICAgfCAgMiArKwogbGliL3VuaXN0ZC5pbi5oICAgICAgICB8IDE2 ICsrKysrKysrKysrKy0tCiBtNC9mYWNjZXNzYXQubTQgICAgICAgIHwgIDYgKysrLS0KIG00 L2dudWxpYi1jb21wLm00ICAgICAgfCAxMCArKysrLS0tLS0KIG00L3VuaXN0ZF9oLm00ICAg ICAgICAgfCAgMyArKy0KIDEwIGZpbGVzIGNoYW5nZWQsIDkyIGluc2VydGlvbnMoKyksIDI1 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2J1aWxkLWF1eC9jb25maWcuZ3Vlc3MgYi9i dWlsZC1hdXgvY29uZmlnLmd1ZXNzCmluZGV4IDI3NzNhYzQuLjMxZTAxZWYgMTAwNzU1Ci0t LSBhL2J1aWxkLWF1eC9jb25maWcuZ3Vlc3MKKysrIGIvYnVpbGQtYXV4L2NvbmZpZy5ndWVz cwpAQCAtMiw3ICsyLDcgQEAKICMgQXR0ZW1wdCB0byBndWVzcyBhIGNhbm9uaWNhbCBzeXN0 ZW0gbmFtZS4KICMgICBDb3B5cmlnaHQgMTk5Mi0yMDE3IEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgogCi10aW1lc3RhbXA9JzIwMTctMTEtMDEnCit0aW1lc3RhbXA9JzIwMTct MTEtMDcnCiAKICMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0 cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKICMgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKQEAgLTM5LDcgKzM5 LDcgQEAgdXNhZ2U9CiAKIE91dHB1dCB0aGUgY29uZmlndXJhdGlvbiBuYW1lIG9mIHRoZSBz eXN0ZW0gXGAkbWUnIGlzIHJ1biBvbi4KIAotT3BlcmF0aW9uIG1vZGVzOgorT3B0aW9uczoK ICAgLWgsIC0taGVscCAgICAgICAgIHByaW50IHRoaXMgaGVscCwgdGhlbiBleGl0CiAgIC10 LCAtLXRpbWUtc3RhbXAgICBwcmludCBkYXRlIG9mIGxhc3QgbW9kaWZpY2F0aW9uLCB0aGVu IGV4aXQKICAgLXYsIC0tdmVyc2lvbiAgICAgIHByaW50IHZlcnNpb24gbnVtYmVyLCB0aGVu IGV4aXQKQEAgLTI0NCw2ICsyNDQsOSBAQCBVTkFNRV9WRVJTSU9OPQogCVVOQU1FX01BQ0hJ TkVfQVJDSD1gYXJjaCB8IHNlZCAncy9eLipCU0RcLi8vJ2AKIAllY2hvICR7VU5BTUVfTUFD SElORV9BUkNIfS11bmtub3duLWxpYmVydHlic2Qke1VOQU1FX1JFTEVBU0V9CiAJZXhpdCA7 OworICAgICo6TWlkbmlnaHRCU0Q6KjoqKQorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtu b3duLW1pZG5pZ2h0YnNkJHtVTkFNRV9SRUxFQVNFfQorCWV4aXQgOzsKICAgICAqOmVra29C U0Q6KjoqKQogCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWVra29ic2Qke1VOQU1F X1JFTEVBU0V9CiAJZXhpdCA7OwpAQCAtNDc5LDcgKzQ4Miw3IEBAIFVOQU1FX1ZFUlNJT049 CiAjZW5kaWYKIAkjaWYgZGVmaW5lZCAoaG9zdF9taXBzKSAmJiBkZWZpbmVkIChNSVBTRUIp CiAJI2lmIGRlZmluZWQgKFNZU1RZUEVfU1lTVikKLQkgIHByaW50ZiAoIm1pcHMtbWlwcy1y aXNjbzBzJXNzeXN2XFxuIiwgYXJndlsxXSk7IGV4aXQgKDApOworCSAgcHJpbnRmICgibWlw cy1taXBzLXJpc2NvcyVzc3lzdlxcbiIsIGFyZ3ZbMV0pOyBleGl0ICgwKTsKIAkjZW5kaWYK IAkjaWYgZGVmaW5lZCAoU1lTVFlQRV9TVlI0KQogCSAgcHJpbnRmICgibWlwcy1taXBzLXJp c2NvcyVzc3ZyNFxcbiIsIGFyZ3ZbMV0pOyBleGl0ICgwKTsKZGlmZiAtLWdpdCBhL2J1aWxk LWF1eC9jb25maWcuc3ViIGIvYnVpbGQtYXV4L2NvbmZpZy5zdWIKaW5kZXggYmJhZDRjNC4u ZmI1Nzk0NyAxMDA3NTUKLS0tIGEvYnVpbGQtYXV4L2NvbmZpZy5zdWIKKysrIGIvYnVpbGQt YXV4L2NvbmZpZy5zdWIKQEAgLTIsNyArMiw3IEBACiAjIENvbmZpZ3VyYXRpb24gdmFsaWRh dGlvbiBzdWJyb3V0aW5lIHNjcmlwdC4KICMgICBDb3B5cmlnaHQgMTk5Mi0yMDE3IEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogCi10aW1lc3RhbXA9JzIwMTctMTEtMDEnCit0 aW1lc3RhbXA9JzIwMTctMTEtMDQnCiAKICMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7 IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKICMgdW5kZXIgdGhl IHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQg YnkKQEAgLTU3LDcgKzU3LDcgQEAgdXNhZ2U9CiAKIENhbm9uaWNhbGl6ZSBhIGNvbmZpZ3Vy YXRpb24gbmFtZS4KIAotT3BlcmF0aW9uIG1vZGVzOgorT3B0aW9uczoKICAgLWgsIC0taGVs cCAgICAgICAgIHByaW50IHRoaXMgaGVscCwgdGhlbiBleGl0CiAgIC10LCAtLXRpbWUtc3Rh bXAgICBwcmludCBkYXRlIG9mIGxhc3QgbW9kaWZpY2F0aW9uLCB0aGVuIGV4aXQKICAgLXYs IC0tdmVyc2lvbiAgICAgIHByaW50IHZlcnNpb24gbnVtYmVyLCB0aGVuIGV4aXQKQEAgLTMx Myw3ICszMTMsNiBAQCBtYXliZV9vcz0KIAl8IHY4NTAgfCB2ODUwZSB8IHY4NTBlMSB8IHY4 NTBlMiB8IHY4NTBlcyB8IHY4NTBlMnYzIFwKIAl8IHZpc2l1bSBcCiAJfCB3YXNtMzIgXAot CXwgd2UzMmsgXAogCXwgeDg2IHwgeGMxNnggfCB4c3Rvcm15MTYgfCB4dGVuc2EgXAogCXwg ejhrIHwgejgwKQogCQliYXNpY19tYWNoaW5lPSRiYXNpY19tYWNoaW5lLXVua25vd24KZGlm ZiAtLWdpdCBhL2RvYy9taXNjL3RleGluZm8udGV4IGIvZG9jL21pc2MvdGV4aW5mby50ZXgK aW5kZXggOWJkNzViOS4uMDIyYzNmNSAxMDA2NDQKLS0tIGEvZG9jL21pc2MvdGV4aW5mby50 ZXgKKysrIGIvZG9jL21pc2MvdGV4aW5mby50ZXgKQEAgLTMsNyArMyw3IEBACiAlIExvYWQg cGxhaW4gaWYgbmVjZXNzYXJ5LCBpLmUuLCBpZiBydW5uaW5nIHVuZGVyIGluaXRleC4KIFxl eHBhbmRhZnRlclxpZnhcY3NuYW1lIGZtdG5hbWVcZW5kY3NuYW1lXHJlbGF4XGlucHV0IHBs YWluXGZpCiAlCi1cZGVmXHRleGluZm92ZXJzaW9uezIwMTctMDktMTYuMTB9CitcZGVmXHRl eGluZm92ZXJzaW9uezIwMTctMDktMTEuMTh9CiAlCiAlIENvcHlyaWdodCAxOTg1LCAxOTg2 LCAxOTg4LCAxOTkwLCAxOTkxLCAxOTkyLCAxOTkzLCAxOTk0LCAxOTk1LAogJSAxOTk2LCAx OTk3LCAxOTk4LCAxOTk5LCAyMDAwLCAyMDAxLCAyMDAyLCAyMDAzLCAyMDA0LCAyMDA1LCAy MDA2LApAQCAtMTE0MjUsOSArMTE0MjUsMTEgQEAKICAgJQogICBcZGltZW4wID0gIzFccmVs YXgKICAgXGFkdmFuY2VcZGltZW4wIGJ5IFx2b2Zmc2V0CisgIFxhZHZhbmNlXGRpbWVuMCBi eSAxaW4gJSByZWZlcmVuY2UgcG9pbnQgZm9yIERWSSBpcyAxIGluY2ggZnJvbSB0b3Agb2Yg cGFnZQogICAlCiAgIFxkaW1lbjIgPSBcaHNpemUKICAgXGFkdmFuY2VcZGltZW4yIGJ5IFxu b3JtYWxvZmZzZXQKKyAgXGFkdmFuY2VcZGltZW4yIGJ5IDFpbiAlIHJlZmVyZW5jZSBwb2lu dCBpcyAxIGluY2ggZnJvbSBsZWZ0IGVkZ2Ugb2YgcGFnZQogICAlCiAgIFxpbnRlcm5hbHBh Z2VzaXplc3sjMX17XGhzaXplfSUKICAgICAgICAgICAgICAgICAgICAge1x2b2Zmc2V0fXtc bm9ybWFsb2Zmc2V0fSUKZGlmZiAtLWdpdCBhL2xpYi9mYWNjZXNzYXQuYyBiL2xpYi9mYWNj ZXNzYXQuYwppbmRleCA2Y2Y5Yzk5Li5mYTkyMzU4IDEwMDY0NAotLS0gYS9saWIvZmFjY2Vz c2F0LmMKKysrIGIvbGliL2ZhY2Nlc3NhdC5jCkBAIC0xNiwxMCArMTYsMzEgQEAKIAogLyog d3JpdHRlbiBieSBFcmljIEJsYWtlICovCiAKKy8qIElmIHRoZSB1c2VyJ3MgY29uZmlnLmgg aGFwcGVucyB0byBpbmNsdWRlIDx1bmlzdGQuaD4sIGxldCBpdCBpbmNsdWRlIG9ubHkKKyAg IHRoZSBzeXN0ZW0ncyA8dW5pc3RkLmg+IGhlcmUsIHNvIHRoYXQgb3JpZ19mYWNjZXNzYXQg ZG9lc24ndCByZWN1cnNlIHRvCisgICBycGxfZmFjY2Vzc2F0LiAgKi8KKyNkZWZpbmUgX0dM X0lOQ0xVRElOR19VTklTVERfSAogI2luY2x1ZGUgPGNvbmZpZy5oPgogCiAjaW5jbHVkZSA8 dW5pc3RkLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KICNpbmNsdWRlIDxmY250bC5oPgorI2lu Y2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjdW5kZWYgX0dMX0lO Q0xVRElOR19VTklTVERfSAorCisjaWYgSEFWRV9GQUNDRVNTQVQKK3N0YXRpYyBpbnQKK29y aWdfZmFjY2Vzc2F0IChpbnQgZmQsIGNoYXIgY29uc3QgKm5hbWUsIGludCBtb2RlLCBpbnQg ZmxhZykKK3sKKyAgcmV0dXJuIGZhY2Nlc3NhdCAoZmQsIG5hbWUsIG1vZGUsIGZsYWcpOwor fQorI2VuZGlmCisKKy8qIFdyaXRlICJ1bmlzdGQuaCIgaGVyZSwgbm90IDx1bmlzdGQuaD4s IG90aGVyd2lzZSBPU0YvMSA1LjEgRFRLIGNjCisgICBlbGltaW5hdGVzIHRoaXMgaW5jbHVk ZSBiZWNhdXNlIG9mIHRoZSBwcmVsaW1pbmFyeSAjaW5jbHVkZSA8dW5pc3RkLmg+CisgICBh Ym92ZS4gICovCisjaW5jbHVkZSAidW5pc3RkLmgiCiAKICNpZm5kZWYgSEFWRV9BQ0NFU1MK IC8qIE1pbmd3IGxhY2tzIGFjY2VzcywgYnV0IGl0IGFsc28gbGFja3MgcmVhbCB2cy4gZWZm ZWN0aXZlIGlkcywgc28KQEAgLTI4LDYgKzQ5LDI5IEBACiAjIGRlZmluZSBhY2Nlc3MgZXVp ZGFjY2VzcwogI2VuZGlmCiAKKyNpZiBIQVZFX0ZBQ0NFU1NBVAorCitpbnQKK3JwbF9mYWNj ZXNzYXQgKGludCBmZCwgY2hhciBjb25zdCAqZmlsZSwgaW50IG1vZGUsIGludCBmbGFnKQor eworICBpbnQgcmVzdWx0ID0gb3JpZ19mYWNjZXNzYXQgKGZkLCBmaWxlLCBtb2RlLCBmbGFn KTsKKworICBpZiAocmVzdWx0ID09IDAgJiYgZmlsZVtzdHJsZW4gKGZpbGUpIC0gMV0gPT0g Jy8nKQorICAgIHsKKyAgICAgIHN0cnVjdCBzdGF0IHN0OworICAgICAgcmVzdWx0ID0gZnN0 YXRhdCAoZmQsIGZpbGUsICZzdCwgMCk7CisgICAgICBpZiAocmVzdWx0ID09IDAgJiYgIVNf SVNESVIgKHN0LnN0X21vZGUpKQorICAgICAgICB7CisgICAgICAgICAgZXJybm8gPSBFTk9U RElSOworICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQorICAgIH0KKworICByZXR1 cm4gcmVzdWx0OworfQorCisjZWxzZSAvKiAhSEFWRV9GQUNDRVNTQVQgKi8KKwogLyogSW52 b2tlIGFjY2VzcyBvciBldWlkYWNjZXNzIG9uIGZpbGUsIEZJTEUsIHVzaW5nIG1vZGUgTU9E RSwgaW4gdGhlIGRpcmVjdG9yeQogICAgb3BlbiBvbiBkZXNjcmlwdG9yIEZELiAgSWYgcG9z c2libGUsIGRvIGl0IHdpdGhvdXQgY2hhbmdpbmcgdGhlCiAgICB3b3JraW5nIGRpcmVjdG9y eS4gIE90aGVyd2lzZSwgcmVzb3J0IHRvIHVzaW5nIHNhdmVfY3dkL2ZjaGRpciwgdGhlbgpA QCAtMzYsMTAgKzgwLDEyIEBACiAgICBOb3RlIHRoYXQgdGhpcyBpbXBsZW1lbnRhdGlvbiBv bmx5IHN1cHBvcnRzIEFUX0VBQ0NFU1MsIGFsdGhvdWdoIHNvbWUKICAgIG5hdGl2ZSB2ZXJz aW9ucyBhbHNvIHN1cHBvcnQgQVRfU1lNTElOS19OT0ZPTExPVy4gICovCiAKLSNkZWZpbmUg QVRfRlVOQ19OQU1FIGZhY2Nlc3NhdAotI2RlZmluZSBBVF9GVU5DX0YxIGV1aWRhY2Nlc3MK LSNkZWZpbmUgQVRfRlVOQ19GMiBhY2Nlc3MKLSNkZWZpbmUgQVRfRlVOQ19VU0VfRjFfQ09O RCBBVF9FQUNDRVNTCi0jZGVmaW5lIEFUX0ZVTkNfUE9TVF9GSUxFX1BBUkFNX0RFQ0xTICwg aW50IG1vZGUsIGludCBmbGFnCi0jZGVmaW5lIEFUX0ZVTkNfUE9TVF9GSUxFX0FSR1MgICAg ICAgICwgbW9kZQotI2luY2x1ZGUgImF0LWZ1bmMuYyIKKyMgZGVmaW5lIEFUX0ZVTkNfTkFN RSBmYWNjZXNzYXQKKyMgZGVmaW5lIEFUX0ZVTkNfRjEgZXVpZGFjY2VzcworIyBkZWZpbmUg QVRfRlVOQ19GMiBhY2Nlc3MKKyMgZGVmaW5lIEFUX0ZVTkNfVVNFX0YxX0NPTkQgQVRfRUFD Q0VTUworIyBkZWZpbmUgQVRfRlVOQ19QT1NUX0ZJTEVfUEFSQU1fREVDTFMgLCBpbnQgbW9k ZSwgaW50IGZsYWcKKyMgZGVmaW5lIEFUX0ZVTkNfUE9TVF9GSUxFX0FSR1MgICAgICAgICwg bW9kZQorIyBpbmNsdWRlICJhdC1mdW5jLmMiCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGli L2ZzdGF0YXQuYyBiL2xpYi9mc3RhdGF0LmMKaW5kZXggNjdlNDhkOS4uMjk0ODYxZiAxMDA2 NDQKLS0tIGEvbGliL2ZzdGF0YXQuYworKysgYi9saWIvZnN0YXRhdC5jCkBAIC0yOCw3ICsy OCw3IEBACiAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KICN1bmRlZiBfX25lZWRfc3lzdGVtX3N5 c19zdGF0X2gKIAotI2lmIEhBVkVfRlNUQVRBVAorI2lmIEhBVkVfRlNUQVRBVCAmJiBIQVZF X1dPUktJTkdfRlNUQVRBVF9aRVJPX0ZMQUcKIHN0YXRpYyBpbnQKIG9yaWdfZnN0YXRhdCAo aW50IGZkLCBjaGFyIGNvbnN0ICpmaWxlbmFtZSwgc3RydWN0IHN0YXQgKmJ1ZiwgaW50IGZs YWdzKQogewpkaWZmIC0tZ2l0IGEvbGliL2dudWxpYi5tay5pbiBiL2xpYi9nbnVsaWIubWsu aW4KaW5kZXggMGY3OTViMy4uYzUxMGEwZSAxMDA2NDQKLS0tIGEvbGliL2dudWxpYi5tay5p bgorKysgYi9saWIvZ251bGliLm1rLmluCkBAIC02ODksNiArNjg5LDcgQEAgUkVQTEFDRV9E SVJGRCA9IEBSRVBMQUNFX0RJUkZEQAogUkVQTEFDRV9EUFJJTlRGID0gQFJFUExBQ0VfRFBS SU5URkAKIFJFUExBQ0VfRFVQID0gQFJFUExBQ0VfRFVQQAogUkVQTEFDRV9EVVAyID0gQFJF UExBQ0VfRFVQMkAKK1JFUExBQ0VfRkFDQ0VTU0FUID0gQFJFUExBQ0VfRkFDQ0VTU0FUQAog UkVQTEFDRV9GQ0hPV05BVCA9IEBSRVBMQUNFX0ZDSE9XTkFUQAogUkVQTEFDRV9GQ0xPU0Ug PSBAUkVQTEFDRV9GQ0xPU0VACiBSRVBMQUNFX0ZDTlRMID0gQFJFUExBQ0VfRkNOVExACkBA IC0yOTg2LDYgKzI5ODcsNyBAQCB1bmlzdGQuaDogdW5pc3RkLmluLmggJCh0b3BfYnVpbGRk aXIpL2NvbmZpZy5zdGF0dXMgJChDWFhERUZTX0gpICQoQVJHX05PTk5VTExfSAogCSAgICAg IC1lICdzfEAnJ1JFUExBQ0VfQ0xPU0UnJ0B8JChSRVBMQUNFX0NMT1NFKXxnJyBcCiAJICAg ICAgLWUgJ3N8QCcnUkVQTEFDRV9EVVAnJ0B8JChSRVBMQUNFX0RVUCl8ZycgXAogCSAgICAg IC1lICdzfEAnJ1JFUExBQ0VfRFVQMicnQHwkKFJFUExBQ0VfRFVQMil8ZycgXAorCSAgICAg IC1lICdzfEAnJ1JFUExBQ0VfRkFDQ0VTU0FUJydAfCQoUkVQTEFDRV9GQUNDRVNTQVQpfGcn IFwKIAkgICAgICAtZSAnc3xAJydSRVBMQUNFX0ZDSE9XTkFUJydAfCQoUkVQTEFDRV9GQ0hP V05BVCl8ZycgXAogCSAgICAgIC1lICdzfEAnJ1JFUExBQ0VfRlRSVU5DQVRFJydAfCQoUkVQ TEFDRV9GVFJVTkNBVEUpfGcnIFwKIAkgICAgICAtZSAnc3xAJydSRVBMQUNFX0dFVENXRCcn QHwkKFJFUExBQ0VfR0VUQ1dEKXxnJyBcCmRpZmYgLS1naXQgYS9saWIvdW5pc3RkLmluLmgg Yi9saWIvdW5pc3RkLmluLmgKaW5kZXggY2E4MDkwYS4uOTE0NDc4MyAxMDA2NDQKLS0tIGEv bGliL3VuaXN0ZC5pbi5oCisrKyBiL2xpYi91bmlzdGQuaW4uaApAQCAtNDYxLDEzICs0NjEs MjUgQEAgX0dMX1dBUk5fT05fVVNFIChldWlkYWNjZXNzLCAiZXVpZGFjY2VzcyBpcyB1bnBv cnRhYmxlIC0gIgogCiAKICNpZiBAR05VTElCX0ZBQ0NFU1NBVEAKLSMgaWYgIUBIQVZFX0ZB Q0NFU1NBVEAKKyMgaWYgQFJFUExBQ0VfRkFDQ0VTU0FUQAorIyAgaWYgIShkZWZpbmVkIF9f Y3BsdXNwbHVzICYmIGRlZmluZWQgR05VTElCX05BTUVTUEFDRSkKKyMgICB1bmRlZiBmYWNj ZXNzYXQKKyMgICBkZWZpbmUgZmFjY2Vzc2F0IHJwbF9mYWNjZXNzYXQKKyMgIGVuZGlmCitf R0xfRlVOQ0RFQ0xfUlBMIChmYWNjZXNzYXQsIGludCwKKyAgICAgICAgICAgICAgICAgIChp bnQgZmQsIGNoYXIgY29uc3QgKm5hbWUsIGludCBtb2RlLCBpbnQgZmxhZykKKyAgICAgICAg ICAgICAgICAgIF9HTF9BUkdfTk9OTlVMTCAoKDIpKSk7CitfR0xfQ1hYQUxJQVNfUlBMIChm YWNjZXNzYXQsIGludCwKKyAgICAgICAgICAgICAgICAgIChpbnQgZmQsIGNoYXIgY29uc3Qg Km5hbWUsIGludCBtb2RlLCBpbnQgZmxhZykpOworIyBlbHNlCisjICBpZiAhQEhBVkVfRkFD Q0VTU0FUQAogX0dMX0ZVTkNERUNMX1NZUyAoZmFjY2Vzc2F0LCBpbnQsCiAgICAgICAgICAg ICAgICAgICAoaW50IGZkLCBjaGFyIGNvbnN0ICpmaWxlLCBpbnQgbW9kZSwgaW50IGZsYWcp CiAgICAgICAgICAgICAgICAgICBfR0xfQVJHX05PTk5VTEwgKCgyKSkpOwotIyBlbmRpZgor IyAgZW5kaWYKIF9HTF9DWFhBTElBU19TWVMgKGZhY2Nlc3NhdCwgaW50LAogICAgICAgICAg ICAgICAgICAgKGludCBmZCwgY2hhciBjb25zdCAqZmlsZSwgaW50IG1vZGUsIGludCBmbGFn KSk7CisjIGVuZGlmCiBfR0xfQ1hYQUxJQVNXQVJOIChmYWNjZXNzYXQpOwogI2VsaWYgZGVm aW5lZCBHTlVMSUJfUE9TSVhDSEVDSwogIyB1bmRlZiBmYWNjZXNzYXQKZGlmZiAtLWdpdCBh L200L2ZhY2Nlc3NhdC5tNCBiL200L2ZhY2Nlc3NhdC5tNAppbmRleCA4MzdhZTU0Li5mNGNi NDlkIDEwMDY0NAotLS0gYS9tNC9mYWNjZXNzYXQubTQKKysrIGIvbTQvZmFjY2Vzc2F0Lm00 CkBAIC0xLDQgKzEsNCBAQAotIyBzZXJpYWwgNgorIyBzZXJpYWwgNwogIyBTZWUgaWYgd2Ug bmVlZCB0byBwcm92aWRlIGZhY2Nlc3NhdCByZXBsYWNlbWVudC4KIAogZG5sIENvcHlyaWdo dCAoQykgMjAwOS0yMDE3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgpAQCAtMTgs MTAgKzE4LDEyIEBAIEFDX0RFRlVOCiAgIEFDX0NIRUNLX0ZVTkNTX09OQ0UoW2ZhY2Nlc3Nh dF0pCiAgIGlmIHRlc3QgJGFjX2N2X2Z1bmNfZmFjY2Vzc2F0ID0gbm87IHRoZW4KICAgICBI QVZFX0ZBQ0NFU1NBVD0wCisgIGVsaWYgdGVzdCAiJGdsX2N2X2Z1bmNfbHN0YXRfZGVyZWZl cmVuY2VzX3NsYXNoZWRfc3ltbGluayIgIT0geWVzOyB0aGVuCisgICAgUkVQTEFDRV9GQUND RVNTQVQ9MQogICBmaQogXSkKIAotIyBQcmVyZXF1aXNpdGVzIG9mIGxpYi9mYWNjZXNzYXQu bTQuCisjIFByZXJlcXVpc2l0ZXMgb2YgbGliL2ZhY2Nlc3NhdC5jLgogQUNfREVGVU4oW2ds X1BSRVJFUV9GQUNDRVNTQVRdLAogWwogICBBQ19DSEVDS19GVU5DUyhbYWNjZXNzXSkKZGlm ZiAtLWdpdCBhL200L2dudWxpYi1jb21wLm00IGIvbTQvZ251bGliLWNvbXAubTQKaW5kZXgg YzU1MTc1Mi4uMTM0NTlmOSAxMDA2NDQKLS0tIGEvbTQvZ251bGliLWNvbXAubTQKKysrIGIv bTQvZ251bGliLWNvbXAubTQKQEAgLTIyMiw3ICsyMjIsNyBAQCBBQ19ERUZVTgogICBnbF9T VFJJTkdfTU9EVUxFX0lORElDQVRPUihbZXhwbGljaXRfYnplcm9dKQogICBBQ19SRVFVSVJF KFtnbF9FWFRFUk5fSU5MSU5FXSkKICAgZ2xfRlVOQ19GQUNDRVNTQVQKLSAgaWYgdGVzdCAk SEFWRV9GQUNDRVNTQVQgPSAwOyB0aGVuCisgIGlmIHRlc3QgJEhBVkVfRkFDQ0VTU0FUID0g MCB8fCB0ZXN0ICRSRVBMQUNFX0ZBQ0NFU1NBVCA9IDE7IHRoZW4KICAgICBBQ19MSUJPQkoo W2ZhY2Nlc3NhdF0pCiAgICAgZ2xfUFJFUkVRX0ZBQ0NFU1NBVAogICBmaQpAQCAtNTkzLDE2 ICs1OTMsMTYgQEAgQUNfREVGVU4KICAgICAgIGdsX2dudWxpYl9lbmFibGVkXzY4MmU2MDk2 MDRjY2FhYzZiZTM4MmU0ZWUzYTRlYWVjPXRydWUKICAgICBmaQogICB9Ci0gIGlmIHRlc3Qg JEhBVkVfRkFDQ0VTU0FUID0gMDsgdGhlbgorICBpZiB0ZXN0ICRIQVZFX0ZBQ0NFU1NBVCA9 IDAgfHwgdGVzdCAkUkVQTEFDRV9GQUNDRVNTQVQgPSAxOyB0aGVuCiAgICAgZnVuY19nbF9n bnVsaWJfbTRjb2RlXzI2MDk0MWMwZTVkYzY3ZWM5ZTg3ZDFmYjMyMWMzMDBiCiAgIGZpCi0g IGlmIHRlc3QgJEhBVkVfRkFDQ0VTU0FUID0gMDsgdGhlbgorICBpZiB0ZXN0ICRIQVZFX0ZB Q0NFU1NBVCA9IDAgfHwgdGVzdCAkUkVQTEFDRV9GQUNDRVNTQVQgPSAxOyB0aGVuCiAgICAg ZnVuY19nbF9nbnVsaWJfbTRjb2RlX2Rvc25hbWUKICAgZmkKLSAgaWYgdGVzdCAkSEFWRV9G QUNDRVNTQVQgPSAwOyB0aGVuCisgIGlmIHRlc3QgJEhBVkVfRkFDQ0VTU0FUID0gMCB8fCB0 ZXN0ICRSRVBMQUNFX0ZBQ0NFU1NBVCA9IDE7IHRoZW4KICAgICBmdW5jX2dsX2dudWxpYl9t NGNvZGVfZXVpZGFjY2VzcwogICBmaQotICBpZiB0ZXN0ICRIQVZFX0ZBQ0NFU1NBVCA9IDA7 IHRoZW4KKyAgaWYgdGVzdCAkSEFWRV9GQUNDRVNTQVQgPSAwIHx8IHRlc3QgJFJFUExBQ0Vf RkFDQ0VTU0FUID0gMTsgdGhlbgogICAgIGZ1bmNfZ2xfZ251bGliX200Y29kZV8wM2UwYWFh ZDRjYjg5Y2E3NTc2NTNiZDM2N2E2Y2NiNwogICBmaQogICBpZiB0ZXN0ICRIQVZFX0ZDTlRM ID0gMCB8fCB0ZXN0ICRSRVBMQUNFX0ZDTlRMID0gMTsgdGhlbgpkaWZmIC0tZ2l0IGEvbTQv dW5pc3RkX2gubTQgYi9tNC91bmlzdGRfaC5tNAppbmRleCBjYzQ0Njc3Li42MGU3ZWE0IDEw MDY0NAotLS0gYS9tNC91bmlzdGRfaC5tNAorKysgYi9tNC91bmlzdGRfaC5tNApAQCAtMSw0 ICsxLDQgQEAKLSMgdW5pc3RkX2gubTQgc2VyaWFsIDcwCisjIHVuaXN0ZF9oLm00IHNlcmlh bCA3MQogZG5sIENvcHlyaWdodCAoQykgMjAwNi0yMDE3IEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgogZG5sIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB0aGUgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uCiBkbmwgZ2l2ZXMgdW5saW1pdGVkIHBlcm1pc3Npb24gdG8g Y29weSBhbmQvb3IgZGlzdHJpYnV0ZSBpdCwKQEAgLTE1OSw2ICsxNTksNyBAQCBBQ19ERUZV TgogICBSRVBMQUNFX0NMT1NFPTA7ICAgICAgICBBQ19TVUJTVChbUkVQTEFDRV9DTE9TRV0p CiAgIFJFUExBQ0VfRFVQPTA7ICAgICAgICAgIEFDX1NVQlNUKFtSRVBMQUNFX0RVUF0pCiAg IFJFUExBQ0VfRFVQMj0wOyAgICAgICAgIEFDX1NVQlNUKFtSRVBMQUNFX0RVUDJdKQorICBS RVBMQUNFX0ZBQ0NFU1NBVD0wOyAgICBBQ19TVUJTVChbUkVQTEFDRV9GQUNDRVNTQVRdKQog ICBSRVBMQUNFX0ZDSE9XTkFUPTA7ICAgICBBQ19TVUJTVChbUkVQTEFDRV9GQ0hPV05BVF0p CiAgIFJFUExBQ0VfRlRSVU5DQVRFPTA7ICAgIEFDX1NVQlNUKFtSRVBMQUNFX0ZUUlVOQ0FU RV0pCiAgIFJFUExBQ0VfR0VUQ1dEPTA7ICAgICAgIEFDX1NVQlNUKFtSRVBMQUNFX0dFVENX RF0pCi0tIAoyLjcuNAoK --------------FBE24167036E1CB8E49D7AAC--