From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 76871 invoked by alias); 8 Apr 2015 12:17:22 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 76858 invoked by uid 89); 8 Apr 2015 12:17:21 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.7 required=5.0 tests=AWL,BAYES_50,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.2 X-HELO: out4-smtp.messagingengine.com Received: from out4-smtp.messagingengine.com (HELO out4-smtp.messagingengine.com) (66.111.4.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Wed, 08 Apr 2015 12:17:18 +0000 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id A627220A31 for ; Wed, 8 Apr 2015 08:17:12 -0400 (EDT) Received: from frontend2 ([10.202.2.161]) by compute5.internal (MEProxy); Wed, 08 Apr 2015 08:17:16 -0400 Received: from [192.168.1.102] (unknown [86.179.113.1]) by mail.messagingengine.com (Postfix) with ESMTPA id DA09D680125 for ; Wed, 8 Apr 2015 08:17:15 -0400 (EDT) Message-ID: <55251C45.4070006@dronecode.org.uk> Date: Wed, 08 Apr 2015 12:17:00 -0000 From: Jon TURNEY User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 To: gdb-patches@sourceware.org Subject: Re: [PATCH] Find debug symbols file by buildid for PE file format also References: <1426520230-18940-1-git-send-email-jon.turney@dronecode.org.uk> <831tko29ct.fsf@gnu.org> <55082466.3010702@dronecode.org.uk> In-Reply-To: <55082466.3010702@dronecode.org.uk> Content-Type: multipart/mixed; boundary="------------010409020204080403000501" X-SW-Source: 2015-04/txt/msg00264.txt.bz2 This is a multi-part message in MIME format. --------------010409020204080403000501 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-length: 496 On 17/03/2015 12:56, Jon TURNEY wrote: > On 16/03/2015 16:30, Eli Zaretskii wrote: > [...] >>> >>> gdb/doc/ChangeLog: >>> >>> 2015-03-14 Jon TURNEY >>> >>> * gdb.texinfo (Separate Debug Files): Document that COFF is also >>> supported. >> >> The gdb.texinfo part is OK, except that AFAIK PE is not the same as >> COFF, so I suggest to amend the ChangeLog entry above. > > Yes, this should say PE in the ChangeLog (and subject). Updated patch attached. --------------010409020204080403000501 Content-Type: text/plain; charset=windows-1252; name="0001-Find-debug-symbols-file-by-buildid-for-PE-file-forma.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0001-Find-debug-symbols-file-by-buildid-for-PE-file-forma.pa"; filename*1="tch" Content-length: 28715 RnJvbSAwMGFmYTIxYjQ3ZWJjOTkxNWVkNDllMTI1YjYxMjNkOTIyM2M3ODZk IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKb24gVHVybmV5IDxq b24udHVybmV5QGRyb25lY29kZS5vcmcudWs+CkRhdGU6IFR1ZSwgNyBBcHIg MjAxNSAyMDo0OTowOCArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIEZpbmQgZGVi dWcgc3ltYm9scyBmaWxlIGJ5IGJ1aWxkaWQgZm9yIFBFIGZpbGUgZm9ybWF0 IGFsc28KCk9uIHg4Nl82NC1wYy1jeWd3aW4sIHNlcGRlYnVnLmV4cCBjaGFu Z2VzOgoKLSMgb2YgdW5zdXBwb3J0ZWQgdGVzdHMgICAgICAgICAgMQorIyBv ZiBleHBlY3RlZCBwYXNzZXMgICAgICAgICAgICA5MAoKSSBkb24ndCBzZWVt IHRvIGdldCBjb25zaXN0ZW50IHRlc3RzdWl0ZSBydW5zIG9uIGk2ODYtbGlu dXgtZ251LCBidXQgdGhlcmUKZG9uJ3QgYXBwZWFyIHRvIGJlIGFueSByZWdy ZXNzaW9ucy4KCmJmZC9DaGFuZ2VMb2c6CgoyMDE1LTA0LTA3ICBKb24gVHVy bmV5ICA8am9uLnR1cm5leUBkcm9uZWNvZGUub3JnLnVrPgoKCSogZWxmLWJm ZC5oIDogUmVtb3ZlIHN0cnVjdCBlbGZfYnVpbGRfaWQuCgkqIGJmZC5jIDog QWRkIHN0cnVjdCBiZmRfYnVpbGRfaWQuCgkqIGJmZC1pbjIuaDogUmVnZW5l cmF0ZS4KCSogZWxmLmMgKGVsZm9ial9ncm9rX2dudV9idWlsZF9pZCk6IFVw ZGF0ZSB0byB1c2UgYmZkX2J1aWxkX2lkLgoJKiBsaWJwZWkuaDogQWRkIHBy b3RveXBlIGFuZCBtYWNyb3MgZm9yCgliZmRfWFhpX3NsdXJwX2NvZGV2aWV3 X3JlY29yZC4KCSogcGVYWGlnZW4uYyAoX2JmZF9YWGlfc2x1cnBfY29kZXZp ZXdfcmVjb3JkKTogTWFrZSBwdWJsaWMKCSogcGVpY29kZS5oIChwZV9iZmRf cmVhZF9idWlsZGlkKTogQWRkLgoJKHBlX2JmZF9vYmplY3RfcCk6IFVzZSBw ZV9iZmRfcmVhZF9idWlsZGlkKCkuCgpnZGIvQ2hhbmdlTG9nOgoKMjAxNS0w NC0wNyAgSm9uIFR1cm5leSAgPGpvbi50dXJuZXlAZHJvbmVjb2RlLm9yZy51 az4KCgkqIGJ1aWxkLWlkLmMgKGJ1aWxkX2lkX2JmZF9nZXQpOiBVc2UgYmZk X2J1aWxkX2lkLgoJKGJ1aWxkX2lkX3ZlcmlmeSk6IERpdHRvLgoJKiBidWls ZC1pZC5oOiBEaXR0by4KCShmaW5kX3NlcGFyYXRlX2RlYnVnX2ZpbGVfYnlf YnVpbGRpZCk6IERpdHRvLgoJKiBweXRob24vcHktb2JqZmlsZS5jIChvYmpm cHlfZ2V0X2J1aWxkX2lkKQoJKG9iamZweV9idWlsZF9pZF9tYXRjaGVzLCBv YmpmcHlfbG9va3VwX29iamZpbGVfYnlfYnVpbGRfaWQpOiBEaXR0by4KCSog Y29mZnJlYWQuYyAoY29mZl9zeW1maWxlX3JlYWQpOiBUcnkKCWZpbmRfc2Vw YXJhdGVfZGVidWdfZmlsZV9ieV9idWlsZGlkLgoKZ2RiL2RvYy9DaGFuZ2VM b2c6CgoyMDE1LTA0LTA3ICBKb24gVHVybmV5ICA8am9uLnR1cm5leUBkcm9u ZWNvZGUub3JnLnVrPgoKCSogZ2RiLnRleGluZm8gKFNlcGFyYXRlIERlYnVn IEZpbGVzKTogRG9jdW1lbnQgdGhhdCBQRSBpcyBhbHNvCglzdXBwb3J0ZWQu CgpnZGIvdGVzdHN1aXRlL0NoYW5nZUxvZzoKCjIwMTUtMDQtMDcgIEpvbiBU dXJuZXkgIDxqb24udHVybmV5QGRyb25lY29kZS5vcmcudWs+CgoJKiBnZGIu YmFzZS9zZXBkZWJ1Zy5leHA6IEFkZCBFWEVFWFQgd2hlcmUgbmVlZGVkLgoJ KiBsaWIvZ2RiLmV4cCAoZ2V0X2J1aWxkX2lkKTogVGVhY2ggaG93IHRvIGV4 dHJhY3QgYnVpbGQtaWQgZnJvbSBhCglQRSBmaWxlLgoJKiBsaWIvZnV0dXJl LmV4cCAoZ2RiX2ZpbmRfb2JqZHVtcCk6IEFkZCBnZGJfZmluZF9vYmpkdW1w LgotLS0KIGJmZC9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgIHwg IDEyICsrKysrCiBiZmQvYmZkLWluMi5oICAgICAgICAgICAgICAgICAgICAg ICB8ICAgOSArKysrCiBiZmQvYmZkLmMgICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICAgOSArKysrCiBiZmQvZWxmLWJmZC5oICAgICAgICAgICAgICAg ICAgICAgICB8ICAxMCAtLS0tCiBiZmQvZWxmLmMgICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAxMiArKy0tLQogYmZkL2xpYnBlaS5oICAgICAgICAg ICAgICAgICAgICAgICAgfCAgIDQgKysKIGJmZC9wZVhYaWdlbi5jICAgICAg ICAgICAgICAgICAgICAgIHwgICAyICstCiBiZmQvcGVpY29kZS5oICAgICAg ICAgICAgICAgICAgICAgICB8IDEwMCArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrLS0KIGdkYi9DaGFuZ2VMb2cgICAgICAgICAgICAgICAg ICAgICAgIHwgIDExICsrKysKIGdkYi9idWlsZC1pZC5jICAgICAgICAgICAg ICAgICAgICAgIHwgIDIzICsrKystLS0tLQogZ2RiL2J1aWxkLWlkLmggICAg ICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIGdkYi9jb2ZmcmVhZC5jICAg ICAgICAgICAgICAgICAgICAgIHwgICA2ICsrLQogZ2RiL2RvYy9DaGFuZ2VM b2cgICAgICAgICAgICAgICAgICAgfCAgIDUgKysKIGdkYi9kb2MvZ2RiLnRl eGluZm8gICAgICAgICAgICAgICAgIHwgICAyICstCiBnZGIvcHl0aG9uL3B5 LW9iamZpbGUuYyAgICAgICAgICAgICB8ICAgNyArKy0KIGdkYi90ZXN0c3Vp dGUvQ2hhbmdlTG9nICAgICAgICAgICAgIHwgICA3ICsrKwogZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS9zZXBkZWJ1Zy5leHAgfCAgMTIgKystLS0KIGdkYi90 ZXN0c3VpdGUvbGliL2Z1dHVyZS5leHAgICAgICAgIHwgIDEwICsrKysKIGdk Yi90ZXN0c3VpdGUvbGliL2dkYi5leHAgICAgICAgICAgIHwgIDUzICsrKysr KysrKysrLS0tLS0tLS0KIDE5IGZpbGVzIGNoYW5nZWQsIDIzMCBpbnNlcnRp b25zKCspLCA2NiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9iZmQvYmZk LWluMi5oIGIvYmZkL2JmZC1pbjIuaAppbmRleCA4MWRlZjNmLi4zOTNkMDFi IDEwMDY0NAotLS0gYS9iZmQvYmZkLWluMi5oCisrKyBiL2JmZC9iZmQtaW4y LmgKQEAgLTYyODksNiArNjI4OSwxMiBAQCBlbnVtIGJmZF9wbHVnaW5fZm9y bWF0CiAgICAgYmZkX3BsdWdpbl9ubyA9IDIKICAgfTsKIAorc3RydWN0IGJm ZF9idWlsZF9pZAorICB7CisgICAgc2l6ZV90IHNpemU7CisgICAgYmZkX2J5 dGUgZGF0YVsxXTsKKyAgfTsKKwogc3RydWN0IGJmZAogewogICAvKiBUaGUg ZmlsZW5hbWUgdGhlIGFwcGxpY2F0aW9uIG9wZW5lZCB0aGUgQkZEIHdpdGgu ICAqLwpAQCAtNjU2NSw2ICs2NTcxLDkgQEAgc3RydWN0IGJmZAogICAgICBz dHJ1Y3Qgb2JqYWxsb2MgKiwgYnV0IHdlIHVzZSB2b2lkICogdG8gYXZvaWQg cmVxdWlyaW5nIHRoZSBpbmNsdXNpb24KICAgICAgb2Ygb2JqYWxsb2MuaC4g ICovCiAgIHZvaWQgKm1lbW9yeTsKKworICAvKiBGb3IgaW5wdXQgQkZEcywg dGhlIGJ1aWxkIElELCBpZiB0aGUgb2JqZWN0IGhhcyBvbmUuICovCisgIGNv bnN0IHN0cnVjdCBiZmRfYnVpbGRfaWQgKmJ1aWxkX2lkOwogfTsKIAogLyog U2VlIG5vdGUgYmVzaWRlIGJmZF9zZXRfc2VjdGlvbl91c2VyZGF0YS4gICov CmRpZmYgLS1naXQgYS9iZmQvYmZkLmMgYi9iZmQvYmZkLmMKaW5kZXggNWFl NWVjYS4uMTg2OWIyYyAxMDA2NDQKLS0tIGEvYmZkL2JmZC5jCisrKyBiL2Jm ZC9iZmQuYwpAQCAtNTEsNiArNTEsMTIgQEAgQ09ERV9GUkFHTUVOVAogLiAg ICBiZmRfcGx1Z2luX25vID0gMgogLiAgfTsKIC4KKy5zdHJ1Y3QgYmZkX2J1 aWxkX2lkCisuICB7CisuICAgIHNpemVfdCBzaXplOworLiAgICBiZmRfYnl0 ZSBkYXRhWzFdOworLiAgfTsKKy4KIC5zdHJ1Y3QgYmZkCiAuewogLiAgeyog VGhlIGZpbGVuYW1lIHRoZSBhcHBsaWNhdGlvbiBvcGVuZWQgdGhlIEJGRCB3 aXRoLiAgKn0KQEAgLTMyNyw2ICszMzMsOSBAQCBDT0RFX0ZSQUdNRU5UCiAu ICAgICBzdHJ1Y3Qgb2JqYWxsb2MgKiwgYnV0IHdlIHVzZSB2b2lkICogdG8g YXZvaWQgcmVxdWlyaW5nIHRoZSBpbmNsdXNpb24KIC4gICAgIG9mIG9iamFs bG9jLmguICAqfQogLiAgdm9pZCAqbWVtb3J5OworLgorLiAgeyogRm9yIGlu cHV0IEJGRHMsIHRoZSBidWlsZCBJRCwgaWYgdGhlIG9iamVjdCBoYXMgb25l LiAqfQorLiAgY29uc3Qgc3RydWN0IGJmZF9idWlsZF9pZCAqYnVpbGRfaWQ7 CiAufTsKIC4KIC57KiBTZWUgbm90ZSBiZXNpZGUgYmZkX3NldF9zZWN0aW9u X3VzZXJkYXRhLiAgKn0KZGlmZiAtLWdpdCBhL2JmZC9lbGYtYmZkLmggYi9i ZmQvZWxmLWJmZC5oCmluZGV4IGU0MzVlNTIuLjM0MmFjNjUgMTAwNjQ0Ci0t LSBhL2JmZC9lbGYtYmZkLmgKKysrIGIvYmZkL2VsZi1iZmQuaApAQCAtMTUy OCwxMyArMTUyOCw2IEBAIHN0cnVjdCBzZHRfbm90ZQogICBiZmRfYnl0ZSBk YXRhWzFdOwogfTsKIAotLyogTlRfR05VX0JVSUxEX0lEIG5vdGUgdHlwZSBp bmZvIGZvciBpbnB1dCBCRkRzLiAgKi8KLXN0cnVjdCBlbGZfYnVpbGRfaWQK LXsKLSAgc2l6ZV90IHNpemU7Ci0gIGJmZF9ieXRlIGRhdGFbMV07Ci19Owot CiAvKiB0ZGF0YSBpbmZvcm1hdGlvbiBncmFiYmVkIGZyb20gYW4gZWxmIGNv cmUgZmlsZS4gICovCiBzdHJ1Y3QgY29yZV9lbGZfb2JqX3RkYXRhCiB7CkBA IC0xNjY5LDkgKzE2NjIsNiBAQCBzdHJ1Y3QgZWxmX29ial90ZGF0YQogICBv YmpfYXR0cmlidXRlIGtub3duX29ial9hdHRyaWJ1dGVzWzJdW05VTV9LTk9X Tl9PQkpfQVRUUklCVVRFU107CiAgIG9ial9hdHRyaWJ1dGVfbGlzdCAqb3Ro ZXJfb2JqX2F0dHJpYnV0ZXNbMl07CiAKLSAgLyogTlRfR05VX0JVSUxEX0lE IG5vdGUgdHlwZS4gICovCi0gIHN0cnVjdCBlbGZfYnVpbGRfaWQgKmJ1aWxk X2lkOwotCiAgIC8qIExpbmtlZC1saXN0IGNvbnRhaW5pbmcgaW5mb3JtYXRp b24gYWJvdXQgZXZlcnkgU3lzdGVtdGFwIHNlY3Rpb24KICAgICAgZm91bmQg aW4gdGhlIG9iamVjdCBmaWxlLiAgRWFjaCBzZWN0aW9uIGNvcnJlc3BvbmRz IHRvIG9uZSBlbnRyeQogICAgICBpbiB0aGUgbGlzdC4gICovCmRpZmYgLS1n aXQgYS9iZmQvZWxmLmMgYi9iZmQvZWxmLmMKaW5kZXggZjNjOTA1MC4uOTIz MDg1NiAxMDA2NDQKLS0tIGEvYmZkL2VsZi5jCisrKyBiL2JmZC9lbGYuYwpA QCAtODg2MywxOCArODg2MywxOCBAQCBlbGZjb3JlX2dyb2tfbm90ZSAoYmZk ICphYmZkLCBFbGZfSW50ZXJuYWxfTm90ZSAqbm90ZSkKIHN0YXRpYyBiZmRf Ym9vbGVhbgogZWxmb2JqX2dyb2tfZ251X2J1aWxkX2lkIChiZmQgKmFiZmQs IEVsZl9JbnRlcm5hbF9Ob3RlICpub3RlKQogewotICBzdHJ1Y3QgZWxmX29i al90ZGF0YSAqdDsKKyAgc3RydWN0IGJmZF9idWlsZF9pZCogYnVpbGRfaWQ7 CiAKICAgaWYgKG5vdGUtPmRlc2NzeiA9PSAwKQogICAgIHJldHVybiBGQUxT RTsKIAotICB0ID0gZWxmX3RkYXRhIChhYmZkKTsKLSAgdC0+YnVpbGRfaWQg PSBiZmRfYWxsb2MgKGFiZmQsIHNpemVvZiAoKnQtPmJ1aWxkX2lkKSAtIDEg KyBub3RlLT5kZXNjc3opOwotICBpZiAodC0+YnVpbGRfaWQgPT0gTlVMTCkK KyAgYnVpbGRfaWQgPSBiZmRfYWxsb2MgKGFiZmQsIHNpemVvZiAoc3RydWN0 IGJmZF9idWlsZF9pZCkgLSAxICsgbm90ZS0+ZGVzY3N6KTsKKyAgaWYgKGJ1 aWxkX2lkID09IE5VTEwpCiAgICAgcmV0dXJuIEZBTFNFOwogCi0gIHQtPmJ1 aWxkX2lkLT5zaXplID0gbm90ZS0+ZGVzY3N6OwotICBtZW1jcHkgKHQtPmJ1 aWxkX2lkLT5kYXRhLCBub3RlLT5kZXNjZGF0YSwgbm90ZS0+ZGVzY3N6KTsK KyAgYnVpbGRfaWQtPnNpemUgPSBub3RlLT5kZXNjc3o7CisgIG1lbWNweSAo YnVpbGRfaWQtPmRhdGEsIG5vdGUtPmRlc2NkYXRhLCBub3RlLT5kZXNjc3op OworICBhYmZkLT5idWlsZF9pZCA9IGJ1aWxkX2lkOwogCiAgIHJldHVybiBU UlVFOwogfQpkaWZmIC0tZ2l0IGEvYmZkL2xpYnBlaS5oIGIvYmZkL2xpYnBl aS5oCmluZGV4IGQxOWEzYjIuLmE2ZjNkYTAgMTAwNjQ0Ci0tLSBhL2JmZC9s aWJwZWkuaAorKysgYi9iZmQvbGlicGVpLmgKQEAgLTIzOCw2ICsyMzgsNyBA QAogI2RlZmluZSBfYmZkX1hYaV9zd2FwX2RlYnVnZGlyX2luCQkJX2JmZF9w ZXg2NGlfc3dhcF9kZWJ1Z2Rpcl9pbgogI2RlZmluZSBfYmZkX1hYaV9zd2Fw X2RlYnVnZGlyX291dAkJCV9iZmRfcGV4NjRpX3N3YXBfZGVidWdkaXJfb3V0 CiAjZGVmaW5lIF9iZmRfWFhpX3dyaXRlX2NvZGV2aWV3X3JlY29yZAkJCV9i ZmRfcGV4NjRpX3dyaXRlX2NvZGV2aWV3X3JlY29yZAorI2RlZmluZSBfYmZk X1hYaV9zbHVycF9jb2Rldmlld19yZWNvcmQJCQlfYmZkX3BleDY0aV9zbHVy cF9jb2Rldmlld19yZWNvcmQKIAogI2VsaWYgZGVmaW5lZCBDT0ZGX1dJVEhf cGVwCiAKQEAgLTI3Miw2ICsyNzMsNyBAQAogI2RlZmluZSBfYmZkX1hYaV9z d2FwX2RlYnVnZGlyX2luCQkJX2JmZF9wZXBpX3N3YXBfZGVidWdkaXJfaW4K ICNkZWZpbmUgX2JmZF9YWGlfc3dhcF9kZWJ1Z2Rpcl9vdXQJCQlfYmZkX3Bl cGlfc3dhcF9kZWJ1Z2Rpcl9vdXQKICNkZWZpbmUgX2JmZF9YWGlfd3JpdGVf Y29kZXZpZXdfcmVjb3JkCQkJX2JmZF9wZXBpX3dyaXRlX2NvZGV2aWV3X3Jl Y29yZAorI2RlZmluZSBfYmZkX1hYaV9zbHVycF9jb2Rldmlld19yZWNvcmQJ CQlfYmZkX3BlcGlfc2x1cnBfY29kZXZpZXdfcmVjb3JkCiAKICNlbHNlIC8q ICFDT0ZGX1dJVEhfcGVwICovCiAKQEAgLTMwNiw2ICszMDgsNyBAQAogI2Rl ZmluZSBfYmZkX1hYaV9zd2FwX2RlYnVnZGlyX2luCQkJX2JmZF9wZWlfc3dh cF9kZWJ1Z2Rpcl9pbgogI2RlZmluZSBfYmZkX1hYaV9zd2FwX2RlYnVnZGly X291dAkJCV9iZmRfcGVpX3N3YXBfZGVidWdkaXJfb3V0CiAjZGVmaW5lIF9i ZmRfWFhpX3dyaXRlX2NvZGV2aWV3X3JlY29yZAkJCV9iZmRfcGVpX3dyaXRl X2NvZGV2aWV3X3JlY29yZAorI2RlZmluZSBfYmZkX1hYaV9zbHVycF9jb2Rl dmlld19yZWNvcmQJCQlfYmZkX3BlaV9zbHVycF9jb2Rldmlld19yZWNvcmQK IAogI2VuZGlmIC8qICFDT0ZGX1dJVEhfcGVwICovCiAKQEAgLTM1MSw2ICsz NTQsNyBAQCBiZmRfYm9vbGVhbiBfYmZkX1hYaV9maW5hbF9saW5rX3Bvc3Rz Y3JpcHQgKGJmZCAqLCBzdHJ1Y3QgY29mZl9maW5hbF9saW5rX2luZm8gKgog dm9pZCAgICAgICAgX2JmZF9YWGlfc3dhcF9kZWJ1Z2Rpcl9pbiAoYmZkICos IHZvaWQgKiwgdm9pZCAqKTsKIHVuc2lnbmVkICAgIF9iZmRfWFhpX3N3YXBf ZGVidWdkaXJfb3V0IChiZmQgKiwgdm9pZCAqLCB2b2lkICopOwogdW5zaWdu ZWQgICAgX2JmZF9YWGlfd3JpdGVfY29kZXZpZXdfcmVjb3JkIChiZmQgKiwg ZmlsZV9wdHIsIENPREVWSUVXX0lORk8gKik7CitDT0RFVklFV19JTkZPICog X2JmZF9YWGlfc2x1cnBfY29kZXZpZXdfcmVjb3JkIChiZmQgKiBhYmZkLCBm aWxlX3B0ciB3aGVyZSwgdW5zaWduZWQgbG9uZyBsZW5ndGgsIENPREVWSUVX X0lORk8gKmN2aW5mbyk7CiAKIC8qIFRoZSBmb2xsb3dpbmcgYXJlIG5lZWRl ZCBvbmx5IGZvciBPTkUgb2YgcGUgb3IgcGVpLCBidXQgZG9uJ3QKICAgIG90 aGVyd2lzZSB2YXJ5OyBwZWljb2RlLmggZml4ZXMgdXAgaWZkZWZzIGJ1dCB3 ZSBwcm92aWRlIHRoZQpkaWZmIC0tZ2l0IGEvYmZkL3BlWFhpZ2VuLmMgYi9i ZmQvcGVYWGlnZW4uYwppbmRleCA2YWExOGNhLi40ZWQ5NTc5IDEwMDY0NAot LS0gYS9iZmQvcGVYWGlnZW4uYworKysgYi9iZmQvcGVYWGlnZW4uYwpAQCAt MTE0MCw3ICsxMTQwLDcgQEAgX2JmZF9YWGlfc3dhcF9kZWJ1Z2Rpcl9vdXQg KGJmZCAqIGFiZmQsIHZvaWQgKiBpbnAsIHZvaWQgKiBleHRwKQogICByZXR1 cm4gc2l6ZW9mIChzdHJ1Y3QgZXh0ZXJuYWxfSU1BR0VfREVCVUdfRElSRUNU T1JZKTsKIH0KIAotc3RhdGljIENPREVWSUVXX0lORk8gKgorQ09ERVZJRVdf SU5GTyAqCiBfYmZkX1hYaV9zbHVycF9jb2Rldmlld19yZWNvcmQgKGJmZCAq IGFiZmQsIGZpbGVfcHRyIHdoZXJlLCB1bnNpZ25lZCBsb25nIGxlbmd0aCwg Q09ERVZJRVdfSU5GTyAqY3ZpbmZvKQogewogICBjaGFyIGJ1ZmZlclsyNTYr MV07CmRpZmYgLS1naXQgYS9iZmQvcGVpY29kZS5oIGIvYmZkL3BlaWNvZGUu aAppbmRleCAyMDBlZjVlLi4wNmJjYWE5IDEwMDY0NAotLS0gYS9iZmQvcGVp Y29kZS5oCisrKyBiL2JmZC9wZWljb2RlLmgKQEAgLTEyNTUsNiArMTI1NSw4 NyBAQCBwZV9JTEZfb2JqZWN0X3AgKGJmZCAqIGFiZmQpCiAgIHJldHVybiBh YmZkLT54dmVjOwogfQogCitzdGF0aWMgdm9pZAorcGVfYmZkX3JlYWRfYnVp bGRpZChiZmQgKmFiZmQpCit7CisgIHBlX2RhdGFfdHlwZSAqcGUgPSBwZV9k YXRhIChhYmZkKTsKKyAgc3RydWN0IGludGVybmFsX2V4dHJhX3BlX2FvdXRo ZHIgKmV4dHJhID0gJnBlLT5wZV9vcHRoZHI7CisgIGFzZWN0aW9uICpzZWN0 aW9uOworICBiZmRfYnl0ZSAqZGF0YSA9IDA7CisgIGJmZF9zaXplX3R5cGUg ZGF0YW9mZjsKKyAgdW5zaWduZWQgaW50IGk7CisKKyAgYmZkX3ZtYSBhZGRy ID0gZXh0cmEtPkRhdGFEaXJlY3RvcnlbUEVfREVCVUdfREFUQV0uVmlydHVh bEFkZHJlc3M7CisgIGJmZF9zaXplX3R5cGUgc2l6ZSA9IGV4dHJhLT5EYXRh RGlyZWN0b3J5W1BFX0RFQlVHX0RBVEFdLlNpemU7CisKKyAgaWYgKHNpemUg PT0gMCkKKyAgICByZXR1cm47CisKKyAgYWRkciArPSBleHRyYS0+SW1hZ2VC YXNlOworCisgIC8qIFNlYXJjaCBmb3IgdGhlIHNlY3Rpb24gY29udGFpbmlu ZyB0aGUgRGVidWdEaXJlY3RvcnkgKi8KKyAgZm9yIChzZWN0aW9uID0gYWJm ZC0+c2VjdGlvbnM7IHNlY3Rpb24gIT0gTlVMTDsgc2VjdGlvbiA9IHNlY3Rp b24tPm5leHQpCisgICAgeworICAgICAgaWYgKChhZGRyID49IHNlY3Rpb24t PnZtYSkgJiYgKGFkZHIgPCAoc2VjdGlvbi0+dm1hICsgc2VjdGlvbi0+c2l6 ZSkpKQorICAgICAgICBicmVhazsKKyAgICB9CisKKyAgaWYgKHNlY3Rpb24g PT0gTlVMTCkKKyAgICB7CisgICAgICByZXR1cm47CisgICAgfQorICBlbHNl IGlmICghKHNlY3Rpb24tPmZsYWdzICYgU0VDX0hBU19DT05URU5UUykpCisg ICAgeworICAgICAgcmV0dXJuOworICAgIH0KKworICBkYXRhb2ZmID0gYWRk ciAtIHNlY3Rpb24tPnZtYTsKKworICAvKiBSZWFkIHRoZSB3aG9sZSBzZWN0 aW9uLiAqLworICBpZiAoIWJmZF9tYWxsb2NfYW5kX2dldF9zZWN0aW9uIChh YmZkLCBzZWN0aW9uLCAmZGF0YSkpCisgICAgeworICAgICAgaWYgKGRhdGEg IT0gTlVMTCkKKwlmcmVlIChkYXRhKTsKKyAgICAgIHJldHVybjsKKyAgICB9 CisKKyAgLyogU2VhcmNoIGZvciBhIENvZGVWaWV3IGVudHJ5IGluIHRoZSBE ZWJ1Z0RpcmVjdG9yeSAqLworICBmb3IgKGkgPSAwOyBpIDwgc2l6ZSAvIHNp emVvZiAoc3RydWN0IGV4dGVybmFsX0lNQUdFX0RFQlVHX0RJUkVDVE9SWSk7 IGkrKykKKyAgICB7CisgICAgICBzdHJ1Y3QgZXh0ZXJuYWxfSU1BR0VfREVC VUdfRElSRUNUT1JZICpleHQKKwk9ICYoKHN0cnVjdCBleHRlcm5hbF9JTUFH RV9ERUJVR19ESVJFQ1RPUlkgKikoZGF0YSArIGRhdGFvZmYpKVtpXTsKKyAg ICAgIHN0cnVjdCBpbnRlcm5hbF9JTUFHRV9ERUJVR19ESVJFQ1RPUlkgaWRk OworCisgICAgICBfYmZkX1hYaV9zd2FwX2RlYnVnZGlyX2luIChhYmZkLCBl eHQsICZpZGQpOworCisgICAgICBpZiAoaWRkLlR5cGUgPT0gUEVfSU1BR0Vf REVCVUdfVFlQRV9DT0RFVklFVykKKyAgICAgICAgeworICAgICAgICAgIGNo YXIgYnVmZmVyWzI1NiArIDFdOworICAgICAgICAgIENPREVWSUVXX0lORk8g KmN2aW5mbyA9IChDT0RFVklFV19JTkZPICopIGJ1ZmZlcjsKKworICAgICAg ICAgIC8qCisgICAgICAgICAgICBUaGUgZGVidWcgZW50cnkgZG9lc24ndCBo YXZlIHRvIGhhdmUgdG8gYmUgaW4gYSBzZWN0aW9uLCBpbiB3aGljaAorICAg ICAgICAgICAgY2FzZSBBZGRyZXNzT2ZSYXdEYXRhIGlzIDAsIHNvIGFsd2F5 cyB1c2UgUG9pbnRlclRvUmF3RGF0YS4KKyAgICAgICAgICAqLworICAgICAg ICAgIGlmIChfYmZkX1hYaV9zbHVycF9jb2Rldmlld19yZWNvcmQgKGFiZmQs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGZpbGVfcHRyKSBpZGQuUG9pbnRlclRvUmF3RGF0YSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZGQuU2l6 ZU9mRGF0YSwgY3ZpbmZvKSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAg ICAgc3RydWN0IGJmZF9idWlsZF9pZCogYnVpbGRfaWQgPSBiZmRfYWxsb2Mo YWJmZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2Yoc3RydWN0 IGJmZF9idWlsZF9pZCkgKyBjdmluZm8tPlNpZ25hdHVyZUxlbmd0aCk7Cisg ICAgICAgICAgICAgIGlmIChidWlsZF9pZCkKKyAgICAgICAgICAgICAgICB7 CisgICAgICAgICAgICAgICAgICBidWlsZF9pZC0+c2l6ZSA9IGN2aW5mby0+ U2lnbmF0dXJlTGVuZ3RoOworICAgICAgICAgICAgICAgICAgbWVtY3B5KGJ1 aWxkX2lkLT5kYXRhLCAgY3ZpbmZvLT5TaWduYXR1cmUsCisgICAgICAgICAg ICAgICAgICAgICAgICAgY3ZpbmZvLT5TaWduYXR1cmVMZW5ndGgpOworICAg ICAgICAgICAgICAgICAgYWJmZC0+YnVpbGRfaWQgPSBidWlsZF9pZDsKKyAg ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgYnJl YWs7CisgICAgICAgIH0KKyAgICB9Cit9CisKIHN0YXRpYyBjb25zdCBiZmRf dGFyZ2V0ICoKIHBlX2JmZF9vYmplY3RfcCAoYmZkICogYWJmZCkKIHsKQEAg LTEyNjUsNiArMTM0Niw3IEBAIHBlX2JmZF9vYmplY3RfcCAoYmZkICogYWJm ZCkKICAgc3RydWN0IGludGVybmFsX2FvdXRoZHIgaW50ZXJuYWxfYTsKICAg ZmlsZV9wdHIgb3B0X2hkcl9zaXplOwogICBmaWxlX3B0ciBvZmZzZXQ7Cisg IGNvbnN0IGJmZF90YXJnZXQgKnJlc3VsdDsKIAogICAvKiBEZXRlY3QgaWYg dGhpcyBhIE1pY3Jvc29mdCBJbXBvcnQgTGlicmFyeSBGb3JtYXQgZWxlbWVu dC4gICovCiAgIC8qIEZpcnN0IHJlYWQgdGhlIGJlZ2lubmluZyBvZiB0aGUg aGVhZGVyLiAgKi8KQEAgLTEzNTgsMTAgKzE0NDAsMjAgQEAgcGVfYmZkX29i amVjdF9wIChiZmQgKiBhYmZkKQogCXJldHVybiBOVUxMOwogICAgIH0KIAot ICByZXR1cm4gY29mZl9yZWFsX29iamVjdF9wIChhYmZkLCBpbnRlcm5hbF9m LmZfbnNjbnMsICZpbnRlcm5hbF9mLAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChvcHRfaGRyX3NpemUgIT0gMAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA/ICZpbnRlcm5hbF9hCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDogKHN0cnVjdCBpbnRlcm5hbF9hb3V0aGRyICopIE5VTEwp KTsKKworICByZXN1bHQgPSBjb2ZmX3JlYWxfb2JqZWN0X3AgKGFiZmQsIGlu dGVybmFsX2YuZl9uc2NucywgJmludGVybmFsX2YsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKG9wdF9oZHJfc2l6ZSAhPSAwCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgID8gJmludGVybmFsX2EKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAoc3RydWN0IGludGVybmFs X2FvdXRoZHIgKikgTlVMTCkpOworCisKKyAgaWYgKHJlc3VsdCkKKyAgICB7 CisgICAgICAvKiBOb3cgdGhlIHdob2xlIGhlYWRlciBoYXMgYmVlbiBwcm9j ZXNzZWQsIHNlZSBpZiB0aGVyZSBpcyBhIGJ1aWxkLWlkICovCisgICAgICBw ZV9iZmRfcmVhZF9idWlsZGlkKGFiZmQpOworICAgIH0KKworICByZXR1cm4g cmVzdWx0OwogfQogCiAjZGVmaW5lIGNvZmZfb2JqZWN0X3AgcGVfYmZkX29i amVjdF9wCmRpZmYgLS1naXQgYS9nZGIvYnVpbGQtaWQuYyBiL2dkYi9idWls ZC1pZC5jCmluZGV4IDNhNmViYjEuLjM3YzMxMWIgMTAwNjQ0Ci0tLSBhL2dk Yi9idWlsZC1pZC5jCisrKyBiL2dkYi9idWlsZC1pZC5jCkBAIC0xOSw3ICsx OSw2IEBACiAKICNpbmNsdWRlICJkZWZzLmgiCiAjaW5jbHVkZSAiYmZkLmgi Ci0jaW5jbHVkZSAiZWxmLWJmZC5oIgogI2luY2x1ZGUgImdkYl9iZmQuaCIK ICNpbmNsdWRlICJidWlsZC1pZC5oIgogI2luY2x1ZGUgImdkYl92ZWNzLmgi CkBAIC0yOSwxOSArMjgsMTkgQEAKIAogLyogU2VlIGJ1aWxkLWlkLmguICAq LwogCi1jb25zdCBzdHJ1Y3QgZWxmX2J1aWxkX2lkICoKK2NvbnN0IHN0cnVj dCBiZmRfYnVpbGRfaWQgKgogYnVpbGRfaWRfYmZkX2dldCAoYmZkICphYmZk KQogewotICBpZiAoIWJmZF9jaGVja19mb3JtYXQgKGFiZmQsIGJmZF9vYmpl Y3QpCi0gICAgICB8fCBiZmRfZ2V0X2ZsYXZvdXIgKGFiZmQpICE9IGJmZF90 YXJnZXRfZWxmX2ZsYXZvdXIKLSAgICAgIC8qIEFsdGhvdWdoIHRoaXMgaXMg RUxGX3NwZWNpZmljLCBpdCBpcyBzYWZlIHRvIGRvIGluIGdlbmVyaWMKLQkg Y29kZSBiZWNhdXNlIGl0IGRvZXMgbm90IHJlbHkgb24gYW55IEVMRi1zcGVj aWZpYyBzeW1ib2xzIGF0Ci0JIGxpbmsgdGltZSwgYW5kIGlmIHRoZSBFTEYg Y29kZSBpcyBub3QgYXZhaWxhYmxlIGluIEJGRCwgdGhlbgotCSBBQkZEIHdp bGwgbm90IGhhdmUgdGhlIEVMRiBmbGF2b3VyLiAgKi8KLSAgICAgIHx8IGVs Zl90ZGF0YSAoYWJmZCktPmJ1aWxkX2lkID09IE5VTEwpCisgIGlmICghYmZk X2NoZWNrX2Zvcm1hdCAoYWJmZCwgYmZkX29iamVjdCkpCiAgICAgcmV0dXJu IE5VTEw7CiAKLSAgcmV0dXJuIGVsZl90ZGF0YSAoYWJmZCktPmJ1aWxkX2lk OworICBpZiAoYWJmZC0+YnVpbGRfaWQgIT0gTlVMTCkKKyAgICB7CisgICAg ICByZXR1cm4gYWJmZC0+YnVpbGRfaWQ7CisgICAgfQorCisgIC8qIE5vIGJ1 aWxkLWlkICovCisgIHJldHVybiBOVUxMOwogfQogCiAvKiBTZWUgYnVpbGQt aWQuaC4gICovCkBAIC00OSw3ICs0OCw3IEBAIGJ1aWxkX2lkX2JmZF9nZXQg KGJmZCAqYWJmZCkKIGludAogYnVpbGRfaWRfdmVyaWZ5IChiZmQgKmFiZmQs IHNpemVfdCBjaGVja19sZW4sIGNvbnN0IGJmZF9ieXRlICpjaGVjaykKIHsK LSAgY29uc3Qgc3RydWN0IGVsZl9idWlsZF9pZCAqZm91bmQ7CisgIGNvbnN0 IHN0cnVjdCBiZmRfYnVpbGRfaWQgKmZvdW5kOwogICBpbnQgcmV0dmFsID0g MDsKIAogICBmb3VuZCA9IGJ1aWxkX2lkX2JmZF9nZXQgKGFiZmQpOwpAQCAt MTM4LDcgKzEzNyw3IEBAIGJ1aWxkX2lkX3RvX2RlYnVnX2JmZCAoc2l6ZV90 IGJ1aWxkX2lkX2xlbiwgY29uc3QgYmZkX2J5dGUgKmJ1aWxkX2lkKQogY2hh ciAqCiBmaW5kX3NlcGFyYXRlX2RlYnVnX2ZpbGVfYnlfYnVpbGRpZCAoc3Ry dWN0IG9iamZpbGUgKm9iamZpbGUpCiB7Ci0gIGNvbnN0IHN0cnVjdCBlbGZf YnVpbGRfaWQgKmJ1aWxkX2lkOworICBjb25zdCBzdHJ1Y3QgYmZkX2J1aWxk X2lkICpidWlsZF9pZDsKIAogICBidWlsZF9pZCA9IGJ1aWxkX2lkX2JmZF9n ZXQgKG9iamZpbGUtPm9iZmQpOwogICBpZiAoYnVpbGRfaWQgIT0gTlVMTCkK ZGlmZiAtLWdpdCBhL2dkYi9idWlsZC1pZC5oIGIvZ2RiL2J1aWxkLWlkLmgK aW5kZXggZjc3ZGRhMi4uYmVhNzYxYiAxMDA2NDQKLS0tIGEvZ2RiL2J1aWxk LWlkLmgKKysrIGIvZ2RiL2J1aWxkLWlkLmgKQEAgLTIyLDcgKzIyLDcgQEAK IAogLyogTG9jYXRlIE5UX0dOVV9CVUlMRF9JRCBmcm9tIEFCRkQgYW5kIHJl dHVybiBpdHMgY29udGVudC4gICovCiAKLWV4dGVybiBjb25zdCBzdHJ1Y3Qg ZWxmX2J1aWxkX2lkICpidWlsZF9pZF9iZmRfZ2V0IChiZmQgKmFiZmQpOwor ZXh0ZXJuIGNvbnN0IHN0cnVjdCBiZmRfYnVpbGRfaWQgKmJ1aWxkX2lkX2Jm ZF9nZXQgKGJmZCAqYWJmZCk7CiAKIC8qIFJldHVybiB0cnVlIGlmIEFCRkQg aGFzIE5UX0dOVV9CVUlMRF9JRCBtYXRjaGluZyB0aGUgQ0hFQ0sgdmFsdWUu CiAgICBPdGhlcndpc2UsIGlzc3VlIGEgd2FybmluZyBhbmQgcmV0dXJuIGZh bHNlLiAgKi8KZGlmZiAtLWdpdCBhL2dkYi9jb2ZmcmVhZC5jIGIvZ2RiL2Nv ZmZyZWFkLmMKaW5kZXggM2I1YTk2OC4uNzcyMmNkYiAxMDA2NDQKLS0tIGEv Z2RiL2NvZmZyZWFkLmMKKysrIGIvZ2RiL2NvZmZyZWFkLmMKQEAgLTQxLDYg KzQxLDcgQEAKICNpbmNsdWRlICJjb2ZmLXBlLXJlYWQuaCIKIAogI2luY2x1 ZGUgInBzeW10YWIuaCIKKyNpbmNsdWRlICJidWlsZC1pZC5oIgogCiBleHRl cm4gdm9pZCBfaW5pdGlhbGl6ZV9jb2ZmcmVhZCAodm9pZCk7CiAKQEAgLTcz OCw3ICs3MzksMTAgQEAgY29mZl9zeW1maWxlX3JlYWQgKHN0cnVjdCBvYmpm aWxlICpvYmpmaWxlLCBpbnQgc3ltZmlsZV9mbGFncykKICAgICB7CiAgICAg ICBjaGFyICpkZWJ1Z2ZpbGU7CiAKLSAgICAgIGRlYnVnZmlsZSA9IGZpbmRf c2VwYXJhdGVfZGVidWdfZmlsZV9ieV9kZWJ1Z2xpbmsgKG9iamZpbGUpOwor ICAgICAgZGVidWdmaWxlID0gZmluZF9zZXBhcmF0ZV9kZWJ1Z19maWxlX2J5 X2J1aWxkaWQgKG9iamZpbGUpOworCisgICAgICBpZiAoZGVidWdmaWxlID09 IE5VTEwpCisJZGVidWdmaWxlID0gZmluZF9zZXBhcmF0ZV9kZWJ1Z19maWxl X2J5X2RlYnVnbGluayAob2JqZmlsZSk7CiAgICAgICBtYWtlX2NsZWFudXAg KHhmcmVlLCBkZWJ1Z2ZpbGUpOwogCiAgICAgICBpZiAoZGVidWdmaWxlKQpk aWZmIC0tZ2l0IGEvZ2RiL2RvYy9nZGIudGV4aW5mbyBiL2dkYi9kb2MvZ2Ri LnRleGluZm8KaW5kZXggYzZlOWI5Yi4uYjMxZTI2MSAxMDA2NDQKLS0tIGEv Z2RiL2RvYy9nZGIudGV4aW5mbworKysgYi9nZGIvZG9jL2dkYi50ZXhpbmZv CkBAIC0xODA2Miw3ICsxODA2Miw3IEBAIHRoZSBleGVjdXRhYmxlIGFuZCB0 aGUgZGVidWcgZmlsZSBjYW1lIGZyb20gdGhlIHNhbWUgYnVpbGQuCiBAaXRl bQogVGhlIGV4ZWN1dGFibGUgY29udGFpbnMgYSBAZGZue2J1aWxkIElEfSwg YSB1bmlxdWUgYml0IHN0cmluZyB0aGF0IGlzCiBhbHNvIHByZXNlbnQgaW4g dGhlIGNvcnJlc3BvbmRpbmcgZGVidWcgaW5mbyBmaWxlLiAgKFRoaXMgaXMg c3VwcG9ydGVkCi1vbmx5IG9uIHNvbWUgb3BlcmF0aW5nIHN5c3RlbXMsIG5v dGFibHkgdGhvc2Ugd2hpY2ggdXNlIHRoZSBFTEYgZm9ybWF0Citvbmx5IG9u IHNvbWUgb3BlcmF0aW5nIHN5c3RlbXMsIHdoZW4gdXNpbmcgdGhlIEVMRiBv ciBQRSBmaWxlIGZvcm1hdHMKIGZvciBiaW5hcnkgZmlsZXMgYW5kIHRoZSBA c2N7Z251fSBCaW51dGlscy4pICBGb3IgbW9yZSBkZXRhaWxzIGFib3V0CiB0 aGlzIGZlYXR1cmUsIHNlZSB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIEBvcHRp b257LS1idWlsZC1pZH0KIGNvbW1hbmQtbGluZSBvcHRpb24gaW4gQHJlZntP cHRpb25zLCAsIENvbW1hbmQgTGluZSBPcHRpb25zLCBsZC5pbmZvLApkaWZm IC0tZ2l0IGEvZ2RiL3B5dGhvbi9weS1vYmpmaWxlLmMgYi9nZGIvcHl0aG9u L3B5LW9iamZpbGUuYwppbmRleCAxNTdkMjAwLi5jMGUzZjQxIDEwMDY0NAot LS0gYS9nZGIvcHl0aG9uL3B5LW9iamZpbGUuYworKysgYi9nZGIvcHl0aG9u L3B5LW9iamZpbGUuYwpAQCAtMjMsNyArMjMsNiBAQAogI2luY2x1ZGUgIm9i amZpbGVzLmgiCiAjaW5jbHVkZSAibGFuZ3VhZ2UuaCIKICNpbmNsdWRlICJi dWlsZC1pZC5oIgotI2luY2x1ZGUgImVsZi1iZmQuaCIKICNpbmNsdWRlICJz eW10YWIuaCIKIAogdHlwZWRlZiBzdHJ1Y3QKQEAgLTEzMCw3ICsxMjksNyBA QCBvYmpmcHlfZ2V0X2J1aWxkX2lkIChQeU9iamVjdCAqc2VsZiwgdm9pZCAq Y2xvc3VyZSkKIHsKICAgb2JqZmlsZV9vYmplY3QgKm9iaiA9IChvYmpmaWxl X29iamVjdCAqKSBzZWxmOwogICBzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSA9 IG9iai0+b2JqZmlsZTsKLSAgY29uc3Qgc3RydWN0IGVsZl9idWlsZF9pZCAq YnVpbGRfaWQgPSBOVUxMOworICBjb25zdCBzdHJ1Y3QgYmZkX2J1aWxkX2lk ICpidWlsZF9pZCA9IE5VTEw7CiAKICAgT0JKRlBZX1JFUVVJUkVfVkFMSUQg KG9iaik7CiAKQEAgLTQzMyw3ICs0MzIsNyBAQCBvYmpmcHlfYnVpbGRfaWRf b2sgKGNvbnN0IGNoYXIgKnN0cmluZykKICAgIEl0IGlzIGFzc3VtZWQgdGhh dCBvYmpmcHlfYnVpbGRfaWRfb2sgKHN0cmluZykgcmV0dXJucyBUUlVFLiAg Ki8KIAogc3RhdGljIGludAotb2JqZnB5X2J1aWxkX2lkX21hdGNoZXMgKGNv bnN0IHN0cnVjdCBlbGZfYnVpbGRfaWQgKmJ1aWxkX2lkLAorb2JqZnB5X2J1 aWxkX2lkX21hdGNoZXMgKGNvbnN0IHN0cnVjdCBiZmRfYnVpbGRfaWQgKmJ1 aWxkX2lkLAogCQkJIGNvbnN0IGNoYXIgKnN0cmluZykKIHsKICAgc2l6ZV90 IGk7CkBAIC00OTEsNyArNDkwLDcgQEAgb2JqZnB5X2xvb2t1cF9vYmpmaWxl X2J5X2J1aWxkX2lkIChjb25zdCBjaGFyICpidWlsZF9pZCkKIAogICBBTExf T0JKRklMRVMgKG9iamZpbGUpCiAgICAgewotICAgICAgY29uc3Qgc3RydWN0 IGVsZl9idWlsZF9pZCAqb2JmZF9idWlsZF9pZDsKKyAgICAgIGNvbnN0IHN0 cnVjdCBiZmRfYnVpbGRfaWQgKm9iZmRfYnVpbGRfaWQ7CiAKICAgICAgIGlm IChvYmpmaWxlLT5vYmZkID09IE5VTEwpCiAJY29udGludWU7CmRpZmYgLS1n aXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3NlcGRlYnVnLmV4cCBiL2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc2VwZGVidWcuZXhwCmluZGV4IDMxOTQz NzcuLmMzNjNiZTQgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2Uvc2VwZGVidWcuZXhwCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv c2VwZGVidWcuZXhwCkBAIC00Miw3ICs0Miw3IEBAIGlmICB7IFtnZGJfY29t cGlsZSAiJHtzcmNkaXJ9LyR7c3ViZGlyfS8ke3NyY2ZpbGV9IiAiJHtiaW5m aWxlfSIgZXhlY3V0YWJsZSB7ZGViCiAjIHRoZSBuYW1lIG9mIGEgZGVidWdp bmZvIG9ubHkgZmlsZS4gVGhpcyBmaWxlIHdpbGwgYmUgc3RvcmVkIGluIHRo ZQogIyBnZGIuYmFzZS8gc3ViZGlyZWN0b3J5LgogCi1pZiBbZ2RiX2dudV9z dHJpcF9kZWJ1ZyAkYmluZmlsZV0geworaWYgW2dkYl9nbnVfc3RyaXBfZGVi dWcgJGJpbmZpbGUkRVhFRVhUXSB7CiAgICAgIyBjaGVjayB0aGF0IHlvdSBo YXZlIGEgcmVjZW50IHZlcnNpb24gb2Ygc3RyaXAgYW5kIG9iamNvcHkgaW5z dGFsbGVkCiAgICAgdW5zdXBwb3J0ZWQgImNhbm5vdCBwcm9kdWNlIHNlcGFy YXRlIGRlYnVnIGluZm8gZmlsZXMiCiAgICAgcmV0dXJuIC0xCkBAIC02MCw3 ICs2MCw3IEBAIHNldCBuZXdfbmFtZSBbc3RhbmRhcmRfb3V0cHV0X2ZpbGUg JHt0ZXN0ZmlsZX0ke0VYRUVYVH1dCiByZW1vdGVfZXhlYyBidWlsZCAicm0g LXJmIFtmaWxlIGRpcm5hbWUgJG5ld19uYW1lXSIKIAogcmVtb3RlX2V4ZWMg YnVpbGQgIm1rZGlyIFtmaWxlIGRpcm5hbWUgJG5ld19uYW1lXSIKLXJlbW90 ZV9leGVjIGJ1aWxkICJsbiAtcyAke2JpbmZpbGV9ICRuZXdfbmFtZSIKK3Jl bW90ZV9leGVjIGJ1aWxkICJsbiAtcyAke2JpbmZpbGV9JHtFWEVFWFR9ICRu ZXdfbmFtZSIKIGNsZWFuX3Jlc3RhcnQgJHt0ZXN0ZmlsZX0ke0VYRUVYVH0K IGlmIHsgJGdkYl9maWxlX2NtZF9kZWJ1Z19pbmZvICE9ICJkZWJ1ZyIgfSB0 aGVuIHsKICAgICBmYWlsICJObyBkZWJ1ZyBpbmZvcm1hdGlvbiBmb3VuZC4i CkBAIC03MTYsMTAgKzcxNiwxMCBAQCBwcm9jIHRlc3RfZGlmZmVyZW50X2Rp ciB7dHlwZSB0ZXN0X2RpZmZlcmVudF9kaXIgeGZhaWx9IHsKICMgdGhlICJz ZXQgZGVidWctZmlsZS1kaXJlY3RvcnkiIGNvbW1hbmQuCiAKIHNldCBkaWZm ZXJlbnRfZGlyIFtzdGFuZGFyZF9vdXRwdXRfZmlsZSAke3Rlc3RmaWxlfS5k aXJdCi1zZXQgZGVidWdmaWxlICIke2RpZmZlcmVudF9kaXJ9L1tzdGFuZGFy ZF9vdXRwdXRfZmlsZSAke3Rlc3RmaWxlfS5kZWJ1Z10iCitzZXQgZGVidWdm aWxlICIke2RpZmZlcmVudF9kaXJ9L1tzdGFuZGFyZF9vdXRwdXRfZmlsZSAk e3Rlc3RmaWxlfSR7RVhFRVhUfS5kZWJ1Z10iCiByZW1vdGVfZXhlYyBidWls ZCAicm0gLXJmICRkaWZmZXJlbnRfZGlyIgogcmVtb3RlX2V4ZWMgYnVpbGQg Im1rZGlyIC1wIFtmaWxlIGRpcm5hbWUgJGRlYnVnZmlsZV0iCi1yZW1vdGVf ZXhlYyBidWlsZCAibXYgLWYgW3N0YW5kYXJkX291dHB1dF9maWxlICR7dGVz dGZpbGV9LmRlYnVnXSAkZGVidWdmaWxlIgorcmVtb3RlX2V4ZWMgYnVpbGQg Im12IC1mIFtzdGFuZGFyZF9vdXRwdXRfZmlsZSAke3Rlc3RmaWxlfSR7RVhF RVhUfS5kZWJ1Z10gJGRlYnVnZmlsZSIKIAogdGVzdF9kaWZmZXJlbnRfZGly IGRlYnVnbGluayAkZGlmZmVyZW50X2RpciAwCiAKQEAgLTcyNyw3ICs3Mjcs NyBAQCB0ZXN0X2RpZmZlcmVudF9kaXIgZGVidWdsaW5rICRkaWZmZXJlbnRf ZGlyIDAKICMgVGVzdCBDUkMgbWlzbWF0Y2ggaXMgcmVwb3J0ZWQuCiAKIGlm IHtbYnVpbGRfZXhlY3V0YWJsZSBzZXBkZWJ1Zy5leHAgc2VwZGVidWcyIHNl cGRlYnVnMi5jIGRlYnVnXSAhPSAtMQotICAgICYmICFbZ2RiX2dudV9zdHJp cF9kZWJ1ZyBbc3RhbmRhcmRfb3V0cHV0X2ZpbGUgc2VwZGVidWcyXV19IHsK KyAgICAmJiAhW2dkYl9nbnVfc3RyaXBfZGVidWcgW3N0YW5kYXJkX291dHB1 dF9maWxlIHNlcGRlYnVnMl0kRVhFRVhUXX0gewogCiAgICAgcmVtb3RlX2V4 ZWMgYnVpbGQgImNwICR7ZGVidWdmaWxlfSBbc3RhbmRhcmRfb3V0cHV0X2Zp bGUgc2VwZGVidWcyLmRlYnVnXSIKIApAQCAtNzQzLDcgKzc0Myw3IEBAIGlm IHtbYnVpbGRfZXhlY3V0YWJsZSBzZXBkZWJ1Zy5leHAgc2VwZGVidWcyIHNl cGRlYnVnMi5jIGRlYnVnXSAhPSAtMQogCiAjIE5UX0dOVV9CVUlMRF9JRCAv IC5ub3RlLmdudS5idWlsZC1pZCB0ZXN0OgogCi1zZXQgYnVpbGRfaWRfZGVi dWdfZmlsZW5hbWUgW2J1aWxkX2lkX2RlYnVnX2ZpbGVuYW1lX2dldCAkYmlu ZmlsZV0KK3NldCBidWlsZF9pZF9kZWJ1Z19maWxlbmFtZSBbYnVpbGRfaWRf ZGVidWdfZmlsZW5hbWVfZ2V0ICRiaW5maWxlJEVYRUVYVF0KIGlmICFbc3Ry aW5nIGNvbXBhcmUgJGJ1aWxkX2lkX2RlYnVnX2ZpbGVuYW1lICIiXSB0aGVu IHsKICAgICB1bnN1cHBvcnRlZCAiYnVpbGQtaWQgaXMgbm90IHN1cHBvcnRl ZCBieSB0aGUgY29tcGlsZXIiCiAKZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3Vp dGUvbGliL2Z1dHVyZS5leHAgYi9nZGIvdGVzdHN1aXRlL2xpYi9mdXR1cmUu ZXhwCmluZGV4IDJmYjYzNWIuLmZkNGMxNTMgMTAwNjQ0Ci0tLSBhL2dkYi90 ZXN0c3VpdGUvbGliL2Z1dHVyZS5leHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9s aWIvZnV0dXJlLmV4cApAQCAtMTA0LDYgKzEwNCwxNiBAQCBwcm9jIGdkYl9m aW5kX29iamNvcHkge30gewogICAgIHJldHVybiAkb2JqY29weQogfQogCitw cm9jIGdkYl9maW5kX29iamR1bXAge30geworICAgIGdsb2JhbCBPQkpEVU1Q X0ZPUl9UQVJHRVQKKyAgICBpZiBbaW5mbyBleGlzdHMgT0JKRFVNUF9GT1Jf VEFSR0VUXSB7CisJc2V0IG9iamR1bXAgJE9CSkRVTVBfRk9SX1RBUkdFVAor ICAgIH0gZWxzZSB7CisJc2V0IG9iamR1bXAgW3RyYW5zZm9ybSBvYmpkdW1w XQorICAgIH0KKyAgICByZXR1cm4gJG9iamR1bXAKK30KKwogcHJvYyBnZGJf ZmluZF9yZWFkZWxmIHt9IHsKICAgICBnbG9iYWwgUkVBREVMRl9GT1JfVEFS R0VUCiAgICAgaWYgW2luZm8gZXhpc3RzIFJFQURFTEZfRk9SX1RBUkdFVF0g ewpkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cCBiL2dk Yi90ZXN0c3VpdGUvbGliL2dkYi5leHAKaW5kZXggMWE1NzZjMC4uNjc1M2Fi MyAxMDA2NDQKLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAorKysg Yi9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCkBAIC00NDUyLDI4ICs0NDUy LDQxIEBAIGdkYl9jYWNoaW5nX3Byb2MgZ2RiX2hhc19hcmd2MCB7CiAjIFJl dHVybnMgIiIgaWYgdGhlcmUgaXMgbm9uZS4KIAogcHJvYyBnZXRfYnVpbGRf aWQgeyBmaWxlbmFtZSB9IHsKLSAgICBzZXQgdG1wIFtzdGFuZGFyZF9vdXRw dXRfZmlsZSAiJHtmaWxlbmFtZX0tdG1wIl0KLSAgICBzZXQgb2JqY29weV9w cm9ncmFtIFtnZGJfZmluZF9vYmpjb3B5XQotCi0gICAgc2V0IHJlc3VsdCBb Y2F0Y2ggImV4ZWMgJG9iamNvcHlfcHJvZ3JhbSAtaiAubm90ZS5nbnUuYnVp bGQtaWQgLU8gYmluYXJ5ICRmaWxlbmFtZSAkdG1wIiBvdXRwdXRdCi0gICAg dmVyYm9zZSAicmVzdWx0IGlzICRyZXN1bHQiCi0gICAgdmVyYm9zZSAib3V0 cHV0IGlzICRvdXRwdXQiCi0gICAgaWYgeyRyZXN1bHQgPT0gMX0gewotCXJl dHVybiAiIgorICAgIGlmIHsgKFtpc3RhcmdldCAiKi0qLW1pbmd3KiJdCisJ ICB8fCBbaXN0YXJnZXQgKi0qLWN5Z3dpbipdKSB9IHsKKwlzZXQgb2JqZHVt cF9wcm9ncmFtIFtnZGJfZmluZF9vYmpkdW1wXQorCXNldCByZXN1bHQgW2Nh dGNoIHtzZXQgZGF0YSBbZXhlYyAkb2JqZHVtcF9wcm9ncmFtIC1wICRmaWxl bmFtZSB8IGdyZXAgc2lnbmF0dXJlIHwgY3V0ICItZCAiIC1mNF19IG91dHB1 dF0KKwl2ZXJib3NlICJyZXN1bHQgaXMgJHJlc3VsdCIKKwl2ZXJib3NlICJv dXRwdXQgaXMgJG91dHB1dCIKKwlpZiB7JHJlc3VsdCA9PSAxfSB7CisJICAg IHJldHVybiAiIgorCX0KKwlyZXR1cm4gJGRhdGEKICAgICB9Ci0gICAgc2V0 IGZpIFtvcGVuICR0bXBdCi0gICAgZmNvbmZpZ3VyZSAkZmkgLXRyYW5zbGF0 aW9uIGJpbmFyeQotICAgICMgU2tpcCB0aGUgTk9URSBoZWFkZXIuCi0gICAg cmVhZCAkZmkgMTYKLSAgICBzZXQgZGF0YSBbcmVhZCAkZmldCi0gICAgY2xv c2UgJGZpCi0gICAgZmlsZSBkZWxldGUgJHRtcAotICAgIGlmICFbc3RyaW5n IGNvbXBhcmUgJGRhdGEgIiJdIHRoZW4gewotCXJldHVybiAiIgorICAgIGVs c2UKKyAgICB7CisJc2V0IHRtcCBbc3RhbmRhcmRfb3V0cHV0X2ZpbGUgIiR7 ZmlsZW5hbWV9LXRtcCJdCisJc2V0IG9iamNvcHlfcHJvZ3JhbSBbZ2RiX2Zp bmRfb2JqY29weV0KKwlzZXQgcmVzdWx0IFtjYXRjaCAiZXhlYyAkb2JqY29w eV9wcm9ncmFtIC1qIC5ub3RlLmdudS5idWlsZC1pZCAtTyBiaW5hcnkgJGZp bGVuYW1lICR0bXAiIG91dHB1dF0KKwl2ZXJib3NlICJyZXN1bHQgaXMgJHJl c3VsdCIKKwl2ZXJib3NlICJvdXRwdXQgaXMgJG91dHB1dCIKKwlpZiB7JHJl c3VsdCA9PSAxfSB7CisJICAgIHJldHVybiAiIgorCX0KKwlzZXQgZmkgW29w ZW4gJHRtcF0KKwlmY29uZmlndXJlICRmaSAtdHJhbnNsYXRpb24gYmluYXJ5 CisJIyBTa2lwIHRoZSBOT1RFIGhlYWRlci4KKwlyZWFkICRmaSAxNgorCXNl dCBkYXRhIFtyZWFkICRmaV0KKwljbG9zZSAkZmkKKwlmaWxlIGRlbGV0ZSAk dG1wCisJaWYgIVtzdHJpbmcgY29tcGFyZSAkZGF0YSAiIl0gdGhlbiB7CisJ ICAgIHJldHVybiAiIgorCX0KKwkjIENvbnZlcnQgaXQgdG8gaGV4LgorCWJp bmFyeSBzY2FuICRkYXRhIEgqIGRhdGEKKwlyZXR1cm4gJGRhdGEKICAgICB9 Ci0gICAgIyBDb252ZXJ0IGl0IHRvIGhleC4KLSAgICBiaW5hcnkgc2NhbiAk ZGF0YSBIKiBkYXRhCi0gICAgcmV0dXJuICRkYXRhCiB9CiAKICMgUmV0dXJu IHRoZSBidWlsZC1pZCBoZXggc3RyaW5nICh1c3VhbGx5IDE2MCBiaXRzIGFz IDQwIGhleCBjaGFyYWN0ZXJzKQotLSAKMi4xLjQKCg== --------------010409020204080403000501--