From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9690 invoked by alias); 8 Jan 2013 20:40:31 -0000 Received: (qmail 9613 invoked by uid 22791); 8 Jan 2013 20:40:30 -0000 X-SWARE-Spam-Status: No, hits=-2.7 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE,SPF_SOFTFAIL X-Spam-Check-By: sourceware.org Received: from mail-wi0-f180.google.com (HELO mail-wi0-f180.google.com) (209.85.212.180) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 08 Jan 2013 20:40:24 +0000 Received: by mail-wi0-f180.google.com with SMTP id hj13so81374wib.13 for ; Tue, 08 Jan 2013 12:40:23 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:mime-version:x-originating-ip:in-reply-to:references :from:date:message-id:subject:to:cc:content-type:x-gm-message-state; bh=fUsB2vLG2iTMnhh1xGYz0gYAj/im67Gh8+ihAwNVtX8=; b=E63gUWbyKtZunYL6hiGqOBbBtUgNqSoLKqEiRNbugF0AuH5x7JW2dSnIA5OvpVHsLQ ucrEyYgydjxNvN60o6UbfqIOdi/5PxJJTnko63UAtG1CSy1iKJAhA8IFZ0K+XORX/8sb 4j91Fb08RigEajX0kJxo1cbgyNwadK8FctjhLlnMy1/LAStkFFRj67UbZPdYNCk/fxmk ZRH35ousFZJW3lz98PVf18H3E9zN5j8mlzHrdnuz32aFYvw7zoH4uTVUbxPi2DPH3iTn 24rWTauB3qcFsdE5jjC6imm71JMpmd5W4iIElk9coVoln5zyO6D4HsmuBHGZ2r/JggZn PdnA== X-Received: by 10.180.86.36 with SMTP id m4mr17028481wiz.5.1357677623268; Tue, 08 Jan 2013 12:40:23 -0800 (PST) MIME-Version: 1.0 Received: by 10.217.41.72 with HTTP; Tue, 8 Jan 2013 12:40:02 -0800 (PST) In-Reply-To: <20121210163800.GA24342@host2.jankratochvil.net> References: <1352048631-25042-1-git-send-email-sanjoy@playingwithpointers.com> <1352048631-25042-4-git-send-email-sanjoy@playingwithpointers.com> <20121201204751.GB22812@host2.jankratochvil.net> <20121210163800.GA24342@host2.jankratochvil.net> From: Sanjoy Das Date: Tue, 08 Jan 2013 20:40:00 -0000 Message-ID: Subject: Re: [PATCH 3/3] Add a test case for the jit-reader interface. To: Jan Kratochvil Cc: gdb-patches@sourceware.org Content-Type: multipart/mixed; boundary=f46d0442859c7454ba04d2ccf47b X-Gm-Message-State: ALoCoQmyag6xtGVhhlaW68MFPpBqGd6MSFZuUq/h2BtELMCXOxUZe+Mep0v2ErjPCO8xmP2aIZmc X-IsSubscribed: yes 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 X-SW-Source: 2013-01/txt/msg00151.txt.bz2 --f46d0442859c7454ba04d2ccf47b Content-Type: text/plain; charset=ISO-8859-1 Content-length: 350 > OK, that makes sense. But in such case please make there a clear separate > jit.h copy (with a different name and some added #ifdef/#error or something > like that protection so that if one mistakenly includes gdb/jit.h it gets > error-reported, with an explanation you made to me now above). Fixed. -- Sanjoy Das http://playingwithpointers.com --f46d0442859c7454ba04d2ccf47b Content-Type: application/octet-stream; name="0001-Fix-segfault-when-unwinding-JIT-frames-using-a-custo.patch" Content-Disposition: attachment; filename="0001-Fix-segfault-when-unwinding-JIT-frames-using-a-custo.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hbpibuq60 Content-length: 2233 RnJvbSA5NjIwYmNhNWI3ZmQyZGNlODdhZDYxZjc4MTcxNWYxY2FhZDIwNDMy IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBTYW5qb3kgRGFzIDxz YW5qb3lAcGxheWluZ3dpdGhwb2ludGVycy5jb20+CkRhdGU6IFRodSwgNiBT ZXAgMjAxMiAwNDo1MjoyOCArMDUzMApTdWJqZWN0OiBbUEFUQ0ggMS8zXSBG aXggc2VnZmF1bHQgd2hlbiB1bndpbmRpbmcgSklUIGZyYW1lcyB1c2luZyBh IGN1c3RvbQogcmVhZGVyLgoKSXNzdWUgaHR0cDovL3NvdXJjZXdhcmUub3Jn L2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0xNDU1MAotLS0KIGdkYi9DaGFu Z2VMb2cgfCAgICA3ICsrKysrKysKIGdkYi9qaXQuYyAgICAgfCAgIDE0ICsr KysrKysrKysrKy0tCiAyIGZpbGVzIGNoYW5nZWQsIDE5IGluc2VydGlvbnMo KyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZ2RiL0NoYW5nZUxv ZyBiL2dkYi9DaGFuZ2VMb2cKaW5kZXggYWM4MDZlOS4uYTc5NjQ2NCAxMDA2 NDQKLS0tIGEvZ2RiL0NoYW5nZUxvZworKysgYi9nZGIvQ2hhbmdlTG9nCkBA IC0xLDMgKzEsMTAgQEAKKzIwMTItMDEtMDcgIFNhbmpveSBEYXMgPHNhbmpv eUBwbGF5aW5nd2l0aHBvaW50ZXJzLmNvbT4KKworCVBSIGdkYi8xNDU1MAor CisJKiBqaXQuYyAoZmluYWxpemVfc3ltdGFiKTogRW5zdXJlIHRoYXQgb25s eSB0aGUgZ2xvYmFsIGJsb2NrIGhhcyBhCisJTlVMTCBzdXBlcmJsb2NrLgor CiAyMDEzLTAxLTAzICBQaWVycmUgTXVsbGVyICA8bXVsbGVyQHNvdXJjZXdh cmUub3JnPgogCiAJKiBtYWluLmMgKHJlbG9jYXRlX2dkYl9kaXJlY3Rvcnkp OiBBdm9pZCBjYWxsaW5nIHN0YXQgZnVuY3Rpb24KZGlmZiAtLWdpdCBhL2dk Yi9qaXQuYyBiL2dkYi9qaXQuYwppbmRleCBhOTMwZjc0Li5mNTQyZjllIDEw MDY0NAotLS0gYS9nZGIvaml0LmMKKysrIGIvZ2RiL2ppdC5jCkBAIC03MjQs OCArNzI0LDE4IEBAIGZpbmFsaXplX3N5bXRhYiAoc3RydWN0IGdkYl9zeW10 YWIgKnN0YWIsIHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlKQogICAgICAgIGdk Yl9ibG9ja19pdGVyID0gZ2RiX2Jsb2NrX2l0ZXItPm5leHQpCiAgICAgewog ICAgICAgaWYgKGdkYl9ibG9ja19pdGVyLT5wYXJlbnQgIT0gTlVMTCkKLSAg ICAgICAgQkxPQ0tfU1VQRVJCTE9DSyAoZ2RiX2Jsb2NrX2l0ZXItPnJlYWxf YmxvY2spID0KLSAgICAgICAgICBnZGJfYmxvY2tfaXRlci0+cGFyZW50LT5y ZWFsX2Jsb2NrOworCXsKKwkgIC8qIElmIHRoZSBwbHVnaW4gc3BlY2lmaWNh bGx5IG1lbnRpb25lZCBhIHBhcmVudCBibG9jaywgd2UKKwkgICAgIHVzZSB0 aGF0LiAgKi8KKwkgIEJMT0NLX1NVUEVSQkxPQ0sgKGdkYl9ibG9ja19pdGVy LT5yZWFsX2Jsb2NrKSA9CisJICAgIGdkYl9ibG9ja19pdGVyLT5wYXJlbnQt PnJlYWxfYmxvY2s7CisJfQorICAgICAgZWxzZQorCXsKKwkgIC8qIEFuZCBp ZiBub3QsIHdlIHNldCBhIGRlZmF1bHQgcGFyZW50IGJsb2NrLiAgKi8KKwkg IEJMT0NLX1NVUEVSQkxPQ0sgKGdkYl9ibG9ja19pdGVyLT5yZWFsX2Jsb2Nr KSA9CisJICAgIEJMT0NLVkVDVE9SX0JMT0NLIChzeW10YWItPmJsb2NrdmVj dG9yLCBTVEFUSUNfQkxPQ0spOworCX0KICAgICB9CiAKICAgLyogRnJlZSBt ZW1vcnkuICAqLwotLSAKMS43LjEwLjQKCg== --f46d0442859c7454ba04d2ccf47b Content-Type: application/octet-stream; name="0002-Make-jit-reader-load-accept-absolute-paths-to-reader.patch" Content-Disposition: attachment; filename="0002-Make-jit-reader-load-accept-absolute-paths-to-reader.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hbpibuqk1 Content-length: 5051 RnJvbSA4YjBiZjk3MDlkYjdiYmYwNmUwYzY1ODA4MDk4ZmFlYmRlMTlkZDE2 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBTYW5qb3kgRGFzIDxz YW5qb3lAcGxheWluZ3dpdGhwb2ludGVycy5jb20+CkRhdGU6IFR1ZSwgMTgg U2VwIDIwMTIgMDg6NTE6NTMgKzA1MzAKU3ViamVjdDogW1BBVENIIDIvM10g TWFrZSBqaXQtcmVhZGVyLWxvYWQgYWNjZXB0IGFic29sdXRlIHBhdGhzIHRv IHJlYWRlcgogc2hhcmVkIG9iamVjdHMuCgotLS0KIGdkYi9DaGFuZ2VMb2cg ICAgICAgfCAgICA1ICsrKysrCiBnZGIvZG9jL0NoYW5nZUxvZyAgIHwgICAg NCArKysrCiBnZGIvZG9jL2dkYi50ZXhpbmZvIHwgICAyMiArKysrKysrKysr KysrLS0tLS0tLS0tCiBnZGIvaml0LmMgICAgICAgICAgIHwgICAgNiArKysr Ky0KIDQgZmlsZXMgY2hhbmdlZCwgMjcgaW5zZXJ0aW9ucygrKSwgMTAgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZ2RiL0NoYW5nZUxvZyBiL2dkYi9D aGFuZ2VMb2cKaW5kZXggYTc5NjQ2NC4uNzY4NDE2ZiAxMDA2NDQKLS0tIGEv Z2RiL0NoYW5nZUxvZworKysgYi9nZGIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEs MTAgQEAKIDIwMTItMDEtMDcgIFNhbmpveSBEYXMgPHNhbmpveUBwbGF5aW5n d2l0aHBvaW50ZXJzLmNvbT4KIAorCSogaml0LmMgKGppdF9yZWFkZXJfbG9h ZF9jb21tYW5kKTogSW50ZXJwcmV0IHRoZSBqaXQgcmVhZGVyIG5hbWUKKwlh cyBhbiBhYnNvbHV0ZSBwYXRoIGlmIGl0IGJlZ2lucyB3aXRoIGEgZm9yd2Fy ZCBzbGFzaC4KKworMjAxMi0wMS0wNyAgU2Fuam95IERhcyA8c2Fuam95QHBs YXlpbmd3aXRocG9pbnRlcnMuY29tPgorCiAJUFIgZ2RiLzE0NTUwCiAKIAkq IGppdC5jIChmaW5hbGl6ZV9zeW10YWIpOiBFbnN1cmUgdGhhdCBvbmx5IHRo ZSBnbG9iYWwgYmxvY2sgaGFzIGEKZGlmZiAtLWdpdCBhL2dkYi9kb2MvQ2hh bmdlTG9nIGIvZ2RiL2RvYy9DaGFuZ2VMb2cKaW5kZXggODAxZjIxZC4uOTg3 NWUwYiAxMDA2NDQKLS0tIGEvZ2RiL2RvYy9DaGFuZ2VMb2cKKysrIGIvZ2Ri L2RvYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3IEBACisyMDEyLTAxLTA3ICBT YW5qb3kgRGFzIDxzYW5qb3lAcGxheWluZ3dpdGhwb2ludGVycy5jb20+CisJ KiBnZGIudGV4aW5mbyAoVXNpbmcgSklUIERlYnVnIEluZm8gUmVhZGVycyk6 IENoYW5nZSBkb2N1bWVudGF0aW9uCisJdG8gcmVmbGVjdCB0aGF0IGppdC1y ZWFkZXItbG9hZCBub3cgc3VwcG9ydHMgYWJzb2x1dGUgZmlsZS1uYW1lcy4K KwogMjAxMy0wMS0wMiAgVG9tIFRyb21leSAgPHRyb21leUByZWRoYXQuY29t PgogCiAJKiBnZGIudGV4aW5mbyAoR0RCL01JIE91dHB1dCBSZWNvcmRzKTog VXBkYXRlIG1lbnUuCmRpZmYgLS1naXQgYS9nZGIvZG9jL2dkYi50ZXhpbmZv IGIvZ2RiL2RvYy9nZGIudGV4aW5mbwppbmRleCBkYmQwYzc3Li44YjUyNWZk IDEwMDY0NAotLS0gYS9nZGIvZG9jL2dkYi50ZXhpbmZvCisrKyBiL2dkYi9k b2MvZ2RiLnRleGluZm8KQEAgLTMzOTY1LDE1ICszMzk2NSwxOSBAQCBSZWFk ZXJzIGNhbiBiZSBsb2FkZWQgYW5kIHVubG9hZGVkIHVzaW5nIHRoZSBAY29k ZXtqaXQtcmVhZGVyLWxvYWR9CiBhbmQgQGNvZGV7aml0LXJlYWRlci11bmxv YWR9IGNvbW1hbmRzLgogCiBAdGFibGUgQGNvZGUKLUBpdGVtIGppdC1yZWFk ZXItbG9hZCBAdmFye3JlYWRlci1uYW1lfQotTG9hZCB0aGUgSklUIHJlYWRl ciBuYW1lZCBAdmFye3JlYWRlci1uYW1lfS4gIE9uIGEgVU5JWCBzeXN0ZW0s IHRoaXMKLXdpbGwgdXN1YWxseSBsb2FkIEBmaWxle0B2YXJ7bGliZGlyfS9n ZGIvQHZhcntyZWFkZXItbmFtZX19LCB3aGVyZQotQHZhcntsaWJkaXJ9IGlz IHRoZSBzeXN0ZW0gbGlicmFyeSBkaXJlY3RvcnksIHVzdWFsbHkKLUBmaWxl ey91c3IvbG9jYWwvbGlifS4gIE9ubHkgb25lIHJlYWRlciBjYW4gYmUgYWN0 aXZlIGF0IGEgdGltZTsKLXRyeWluZyB0byBsb2FkIGEgc2Vjb25kIHJlYWRl ciB3aGVuIG9uZSBpcyBhbHJlYWR5IGxvYWRlZCB3aWxsIHJlc3VsdAotaW4g QHZhbHVle0dEQk59IHJlcG9ydGluZyBhbiBlcnJvci4gIEEgbmV3IEpJVCBy ZWFkZXIgY2FuIGJlIGxvYWRlZCBieQotZmlyc3QgdW5sb2FkaW5nIHRoZSBj dXJyZW50IG9uZSB1c2luZyBAY29kZXtqaXQtcmVhZGVyLWxvYWR9IGFuZCB0 aGVuCi1pbnZva2luZyBAY29kZXtqaXQtcmVhZGVyLWxvYWR9LgorQGl0ZW0g aml0LXJlYWRlci1sb2FkIEB2YXJ7cmVhZGVyfQorTG9hZCB0aGUgSklUIHJl YWRlciBuYW1lZCBAdmFye3JlYWRlcn0uICBAdmFye3JlYWRlcn0gaXMgYSBz aGFyZWQKK29iamVjdCBzcGVjaWZpZWQgYXMgZWl0aGVyIGFuIGFic29sdXRl IG9yIGEgcmVsYXRpdmUgZmlsZSBuYW1lLiAgSW4KK3RoZSBsYXR0ZXIgY2Fz ZSwgQHZhbHVle0dEQk59IHdpbGwgdHJ5IHRvIGxvYWQgdGhlIHJlYWRlciBm cm9tIGEKK3ByZS1jb25maWd1cmVkIGRpcmVjdG9yeSwgdXN1YWxseSBAZmls ZXtAdmFye2xpYmRpcn0vZ2RiL30gb24gYSBVTklYCitzeXN0ZW0gKGhlcmUg QHZhcntsaWJkaXJ9IGlzIHRoZSBzeXN0ZW0gbGlicmFyeSBkaXJlY3Rvcnks IG9mdGVuCitAZmlsZXsvdXNyL2xvY2FsL2xpYn0pLgorCitPbmx5IG9uZSBy ZWFkZXIgY2FuIGJlIGFjdGl2ZSBhdCBhIHRpbWU7IHRyeWluZyB0byBsb2Fk IGEgc2Vjb25kCityZWFkZXIgd2hlbiBvbmUgaXMgYWxyZWFkeSBsb2FkZWQg d2lsbCByZXN1bHQgaW4gQHZhbHVle0dEQk59CityZXBvcnRpbmcgYW4gZXJy b3IuICBBIG5ldyBKSVQgcmVhZGVyIGNhbiBiZSBsb2FkZWQgYnkgZmlyc3Qg dW5sb2FkaW5nCit0aGUgY3VycmVudCBvbmUgdXNpbmcgQGNvZGV7aml0LXJl YWRlci11bmxvYWR9IGFuZCB0aGVuIGludm9raW5nCitAY29kZXtqaXQtcmVh ZGVyLWxvYWR9LgogCiBAaXRlbSBqaXQtcmVhZGVyLXVubG9hZAogVW5sb2Fk IHRoZSBjdXJyZW50bHkgbG9hZGVkIEpJVCByZWFkZXIuCmRpZmYgLS1naXQg YS9nZGIvaml0LmMgYi9nZGIvaml0LmMKaW5kZXggZjU0MmY5ZS4uNWM2M2Ex ZSAxMDA2NDQKLS0tIGEvZ2RiL2ppdC5jCisrKyBiL2dkYi9qaXQuYwpAQCAt MjUsNiArMjUsNyBAQAogI2luY2x1ZGUgImJyZWFrcG9pbnQuaCIKICNpbmNs dWRlICJjb21tYW5kLmgiCiAjaW5jbHVkZSAiZGljdGlvbmFyeS5oIgorI2lu Y2x1ZGUgImZpbGVuYW1lcy5oIgogI2luY2x1ZGUgImZyYW1lLXVud2luZC5o IgogI2luY2x1ZGUgImdkYmNtZC5oIgogI2luY2x1ZGUgImdkYmNvcmUuaCIK QEAgLTIwOCw3ICsyMDksMTAgQEAgaml0X3JlYWRlcl9sb2FkX2NvbW1hbmQg KGNoYXIgKmFyZ3MsIGludCBmcm9tX3R0eSkKICAgaWYgKGxvYWRlZF9qaXRf cmVhZGVyICE9IE5VTEwpCiAgICAgZXJyb3IgKF8oIkpJVCByZWFkZXIgYWxy ZWFkeSBsb2FkZWQuICBSdW4gaml0LXJlYWRlci11bmxvYWQgZmlyc3QuIikp OwogCi0gIHNvX25hbWUgPSB4c3RycHJpbnRmICgiJXMvJXMiLCBqaXRfcmVh ZGVyX2RpciwgYXJncyk7CisgIGlmIChJU19BQlNPTFVURV9QQVRIIChhcmdz KSkKKyAgICBzb19uYW1lID0geHN0cmR1cCAoYXJncyk7CisgIGVsc2UKKyAg ICBzb19uYW1lID0geHN0cnByaW50ZiAoIiVzLyVzIiwgaml0X3JlYWRlcl9k aXIsIGFyZ3MpOwogICBwcmV2X2NsZWFudXAgPSBtYWtlX2NsZWFudXAgKHhm cmVlLCBzb19uYW1lKTsKIAogICBsb2FkZWRfaml0X3JlYWRlciA9IGppdF9y ZWFkZXJfbG9hZCAoc29fbmFtZSk7Ci0tIAoxLjcuMTAuNAoK --f46d0442859c7454ba04d2ccf47b Content-Type: application/octet-stream; name="0003-Add-a-test-case-for-the-jit-reader-interface.patch" Content-Disposition: attachment; filename="0003-Add-a-test-case-for-the-jit-reader-interface.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hbpibuqm2 Content-length: 18483 RnJvbSA3NGZjNmQ5ZjE4NTlmZjFkYWRmYWJmZTlkZDEzNjJiYzZkMmI1MWI3 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBTYW5qb3kgRGFzIDxz YW5qb3lAcGxheWluZ3dpdGhwb2ludGVycy5jb20+CkRhdGU6IFR1ZSwgMTgg U2VwIDIwMTIgMDg6NTI6MDcgKzA1MzAKU3ViamVjdDogW1BBVENIIDMvM10g QWRkIGEgdGVzdCBjYXNlIGZvciB0aGUgaml0LXJlYWRlciBpbnRlcmZhY2Uu CgotLS0KIGdkYi90ZXN0c3VpdGUvQ2hhbmdlTG9nICAgICAgICAgICAgICAg fCAgICA5ICsrCiBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ppdC1wcm90b2Nv bC5oIHwgICA1NCArKysrKysrKysrKysKIGdkYi90ZXN0c3VpdGUvZ2RiLmJh c2Uvaml0LXJlYWRlci5leHAgfCAgIDgwICsrKysrKysrKysrKysrKysrCiBn ZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ppdGhvc3QuYyAgICAgIHwgICA2MSAr KysrKysrKysrKysrCiBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ppdGhvc3Qu aCAgICAgIHwgICAyNyArKysrKysKIGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv aml0cmVhZGVyLmMgICAgfCAgMTU2ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKwogNiBmaWxlcyBjaGFuZ2VkLCAzODcgaW5zZXJ0aW9ucygr KQogY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv aml0LXByb3RvY29sLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL2ppdC1yZWFkZXIuZXhwCiBjcmVhdGUgbW9kZSAxMDA2 NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9qaXRob3N0LmMKIGNyZWF0ZSBt b2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ppdGhvc3QuaAog Y3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvaml0 cmVhZGVyLmMKCmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL0NoYW5nZUxv ZyBiL2dkYi90ZXN0c3VpdGUvQ2hhbmdlTG9nCmluZGV4IGRkZTI0ZTAuLmMw NTY2YjAgMTAwNjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvQ2hhbmdlTG9nCisr KyBiL2dkYi90ZXN0c3VpdGUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAK KzIwMTItMDEtMDcgIFNhbmpveSBEYXMgPHNhbmpveUBwbGF5aW5nd2l0aHBv aW50ZXJzLmNvbT4KKworCSogZ2RiLmJhc2Uvaml0LXJlYWRlci5leHA6IE5l dyBmaWxlLiBUZXN0IGNhc2UgZm9yIHRoZSBqaXQtcmVhZGVyCisJaW50ZXJm YWNlLgorCSogZ2RiLmJhc2Uvaml0aG9zdC5jOiBOZXcgZmlsZS4KKwkqIGdk Yi5iYXNlL2ppdGhvc3QuaDogTmV3IGZpbGUuCisJKiBnZGIuYmFzZS9qaXRy ZWFkZXIuYyA6IE5ldyBmaWxlLgorCSogZ2RiLmJhc2Uvaml0LXByb3RvY29s Lmg6IE5ldyBmaWxlLgorCiAyMDEyLTEyLTI1ICBKYW4gS3JhdG9jaHZpbCAg PGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+CiAKIAkqIGdkYi5taS9taS1m dWxsbmFtZS1kZWxldGVkLmV4cDogTmV3IGZpbGUuCmRpZmYgLS1naXQgYS9n ZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ppdC1wcm90b2NvbC5oIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS9qaXQtcHJvdG9jb2wuaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwLi5mN2Y5Mjg1Ci0tLSAvZGV2L251bGwK KysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9qaXQtcHJvdG9jb2wuaApA QCAtMCwwICsxLDU0IEBACisvKiBDb3B5cmlnaHQgKEMpIDIwMDktMjAxMyBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKworICAgVGhpcyBmaWxl IGlzIHBhcnQgb2YgR0RCLgorCisgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBz b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlm eQorICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAgIHRoZSBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExp Y2Vuc2UsIG9yCisgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz aW9uLgorCisgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhl IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgIGJ1dCBXSVRIT1VU IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh bnR5IG9mCisgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgICBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICBZb3Ugc2hv dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZQorICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJ ZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAq LworCisjaWZkZWYgSklUX0gKKyNlcnJvciAiV2UgZG9uJ3QgaW5jbHVkZSBq aXQuaCBkaXJlY3RseSBzaW5jZSB3ZSdkIGxpa2UgdGhlIGppdC1yZWFkZXIg dW5pdCAgXAorICAgICAgICB0ZXN0cyB0byBicmVhayBpZiB3ZSBtYWtlIEFC SSBpbmNvbXBhdGlibGUgY2hhbmdlcyB0byB0aGUgc3RydWN0dXJlcyBcCisg ICAgICAgIHJlLWRlY2xhcmVkIGhlcmUuIgorI2VuZGlmCisKKyNpZm5kZWYg SklUX1BST1RPQ09MX0gKKyNkZWZpbmUgSklUX1BST1RPQ09MX0gKKworI2lu Y2x1ZGUgPHN0ZGludC5oPgorCit0eXBlZGVmIGVudW0KK3sKKyAgSklUX05P QUNUSU9OID0gMCwKKyAgSklUX1JFR0lTVEVSLAorICBKSVRfVU5SRUdJU1RF UgorfSBqaXRfYWN0aW9uc190OworCisKK3N0cnVjdCBqaXRfY29kZV9lbnRy eQoreworICBzdHJ1Y3Qgaml0X2NvZGVfZW50cnkgKm5leHRfZW50cnk7Cisg IHN0cnVjdCBqaXRfY29kZV9lbnRyeSAqcHJldl9lbnRyeTsKKyAgdm9pZCAq c3ltZmlsZV9hZGRyOworICB1aW50NjRfdCBzeW1maWxlX3NpemU7Cit9Owor CisKK3N0cnVjdCBqaXRfZGVzY3JpcHRvcgoreworICB1aW50MzJfdCB2ZXJz aW9uOworICB1aW50MzJfdCBhY3Rpb25fZmxhZzsKKyAgc3RydWN0IGppdF9j b2RlX2VudHJ5ICpyZWxldmFudF9lbnRyeTsKKyAgc3RydWN0IGppdF9jb2Rl X2VudHJ5ICpmaXJzdF9lbnRyeTsKK307CisKKyNlbmRpZiAvKiBKSVRfUFJP VE9DT0xfSCAqLwpkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFz ZS9qaXQtcmVhZGVyLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvaml0 LXJlYWRlci5leHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MC4uNTAzNGMzYQotLS0gL2Rldi9udWxsCisrKyBiL2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2Uvaml0LXJlYWRlci5leHAKQEAgLTAsMCArMSw4MCBAQAorIyBD b3B5cmlnaHQgMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4K KworIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUg dGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1 Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl aXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91 ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIHByb2dy YW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl IHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0 IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklM SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl IHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk ZXRhaWxzLgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5 IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorIyBhbG9uZyB3 aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3Lmdu dS5vcmcvbGljZW5zZXMvPi4KKworc3RhbmRhcmRfdGVzdGZpbGUgaml0aG9z dC5jCisKK2lmIHsgKCFbaXN0YXJnZXQgeDg2XzY0LSotKl0gJiYgIVtpc3Rh cmdldCBpPzg2LSotKl0pIHx8ICFbaXNfbHA2NF90YXJnZXRdIH0geworICAg IHJldHVybiAtMTsKK30KKworaWYge1tza2lwX3NobGliX3Rlc3RzXX0gewor ICAgIHJldHVybiAtMQorfQorCitpZiB7ICFbaXNuYXRpdmVdIH0geworICAg IHJldHVybiAtMQorfQorCitpZiB7W2dldF9jb21waWxlcl9pbmZvXX0gewor ICAgIHVudGVzdGVkICJjb3VsZCBub3QgZ2V0IGNvbXBpbGVyIGluZm8iCisg ICAgcmV0dXJuIDEKK30KKworc2V0IGppdF9ob3N0X3NyYyAke3NyY2ZpbGV9 CitzZXQgaml0X2hvc3RfYmluICR7YmluZmlsZX0KKworIyBXZSBpbmplY3Qg dGhlIGNvbXBsZXRlIHBhdGggdG8gaml0LXJlYWRlci5oIGludG8gdGhlIHNv dXJjZSBmaWxlCisjIGxlc3Qgd2UgZW5kIHVwIChpbmNvcnJlY3RseSkgYnVp bGRpbmcgYWdhaW5zdCBhIHN5c3RlbS1pbnN0YWxsZWQKKyMgdmVyc2lvbi4K K3NldCBqaXRfcmVhZGVyX2hlYWRlciBbc3RhbmRhcmRfb3V0cHV0X2ZpbGUg Ii4uLy4uLy4uL2dkYi9qaXQtcmVhZGVyLmgiXQorc2V0IGppdF9yZWFkZXJf ZmxhZyAiLURKSVRfUkVBREVSX0g9XCIkaml0X3JlYWRlcl9oZWFkZXJcIiIK KworaWYgIHsgW2dkYl9jb21waWxlICIke3NyY2Rpcn0vJHtzdWJkaXJ9LyR7 aml0X2hvc3Rfc3JjfSIgIiR7aml0X2hvc3RfYmlufSIgXAorICAgICAgIGV4 ZWN1dGFibGUgIFtsaXN0IGRlYnVnIGFkZGl0aW9uYWxfZmxhZ3M9JGppdF9y ZWFkZXJfZmxhZ11dICE9ICIiIH0geworICAgIHVudGVzdGVkIGppdC1yZWFk ZXIuZXhwCisgICAgcmV0dXJuIC0xCit9CisKK3NldCBqaXRfcmVhZGVyIGpp dHJlYWRlcgorc2V0IGppdF9yZWFkZXJfc3JjICR7aml0X3JlYWRlcn0uYwor c2V0IGppdF9yZWFkZXJfYmluIFtzdGFuZGFyZF9vdXRwdXRfZmlsZSAke2pp dF9yZWFkZXJ9LnNvXQorCitpZiB7IFtnZGJfY29tcGlsZV9zaGxpYiAiJHtz cmNkaXJ9LyR7c3ViZGlyfS8ke2ppdF9yZWFkZXJfc3JjfSIgIiR7aml0X3Jl YWRlcl9iaW59IiBcCisJICBbbGlzdCBkZWJ1ZyBhZGRpdGlvbmFsX2ZsYWdz PSRqaXRfcmVhZGVyX2ZsYWddXSAhPSAiIiB9IHsKKyAgICB1bnRlc3RlZCBq aXQtcmVhZGVyLmV4cAorICAgIHJldHVybiAtMQorfQorCitnZGJfbG9hZF9z aGxpYnMgIiR7aml0X3JlYWRlcl9iaW59IgorCitwcm9jIGppdF9yZWFkZXJf dGVzdCB7fSB7CisgICAgZ2xvYmFsIGppdF9ob3N0X2JpbgorICAgIGdsb2Jh bCBqaXRfcmVhZGVyX2JpbgorICAgIGdsb2JhbCB2ZXJib3NlCisKKyAgICBj bGVhbl9yZXN0YXJ0ICRqaXRfaG9zdF9iaW4KKworICAgIGlmIHskdmVyYm9z ZSA+IDB9IHsKKwlnZGJfdGVzdF9ub19vdXRwdXQgInNldCBkZWJ1ZyBqaXQg MSIKKyAgICB9CisKKyAgICBnZGJfdGVzdF9ub19vdXRwdXQgImppdC1yZWFk ZXItbG9hZCAke2ppdF9yZWFkZXJfYmlufSIKKyAgICBnZGJfcnVuX2NtZAor ICAgIGdkYl90ZXN0ICIiICJQcm9ncmFtIHJlY2VpdmVkIHNpZ25hbCBTSUdU UkFQLCAuKiIgImV4cGVjdCBTSUdUUkFQIgorCisgICAgZ2RiX3Rlc3QgImJ0 IiAiaml0X2Z1bmN0aW9uXzAwLioiCit9CisKK2ppdF9yZWFkZXJfdGVzdApk aWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9qaXRob3N0LmMg Yi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ppdGhvc3QuYwpuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MTNjNGNkCi0tLSAvZGV2L251 bGwKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9qaXRob3N0LmMKQEAg LTAsMCArMSw2MSBAQAorLyogQ29weXJpZ2h0IChDKSAyMDA5LTIwMTIgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisKKyAgIFRoaXMgZmlsZSBp cyBwYXJ0IG9mIEdEQi4KKworICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkK KyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgICB0aGUgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNl bnNlLCBvcgorICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv bi4KKworICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICBidXQgV0lUSE9VVCBB TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50 eSBvZgorICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICAgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgWW91IHNob3Vs ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UKKyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYg bm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8K KworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+Cisj aW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisKKyNp bmNsdWRlIDxzeXMvbW1hbi5oPgorCisjaW5jbHVkZSBKSVRfUkVBREVSX0gg IC8qIFBsZWFzZSBzZWUgaml0LXJlYWRlci5leHAgZm9yIGFuIGV4cGxhbmF0 aW9uLiAgKi8KKyNpbmNsdWRlICJqaXRob3N0LmgiCisjaW5jbHVkZSAiaml0 LXByb3RvY29sLmgiCisKK3ZvaWQgX19hdHRyaWJ1dGVfXygobm9pbmxpbmUp KSBfX2ppdF9kZWJ1Z19yZWdpc3Rlcl9jb2RlICgpIHsgfQorCitzdHJ1Y3Qg aml0X2Rlc2NyaXB0b3IgX19qaXRfZGVidWdfZGVzY3JpcHRvciA9IHsgMSwg MCwgMCwgMCB9Oworc3RydWN0IGppdF9jb2RlX2VudHJ5IG9ubHlfZW50cnk7 CisKK3R5cGVkZWYgdm9pZCAoaml0X2Z1bmN0aW9uX3QpICgpOworCitpbnQg bWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworICBjaGFyICpjb2Rl ID0gbW1hcCAoTlVMTCwgZ2V0cGFnZXNpemUgKCksIFBST1RfV1JJVEUgfCBQ Uk9UX0VYRUMsCisJCSAgICAgTUFQX1BSSVZBVEUgfCBNQVBfQU5PTllNT1VT LCAtMSwgMCk7CisgIGppdF9mdW5jdGlvbl90ICpmdW5jdGlvbiA9IChqaXRf ZnVuY3Rpb25fdCAqKSBjb2RlOworCisgIGNvZGVbMF0gPSAweGNjOyAvKiBT SUdUUkFQICAqLworICBjb2RlWzFdID0gMHhjMzsgLyogUkVUICAqLworCisg IHN0cnVjdCBqaXRob3N0X2FiaSAqc3ltZmlsZSA9IG1hbGxvYyAoc2l6ZW9m IChzdHJ1Y3Qgaml0aG9zdF9hYmkpKTsKKyAgc3ltZmlsZS0+YmVnaW4gPSBj b2RlOworICBzeW1maWxlLT5lbmQgPSBjb2RlICsgMjsKKworICBvbmx5X2Vu dHJ5LnN5bWZpbGVfYWRkciA9IHN5bWZpbGU7CisgIG9ubHlfZW50cnkuc3lt ZmlsZV9zaXplID0gc2l6ZW9mIChzdHJ1Y3Qgaml0aG9zdF9hYmkpOworCisg IF9faml0X2RlYnVnX2Rlc2NyaXB0b3IuZmlyc3RfZW50cnkgPSAmb25seV9l bnRyeTsKKyAgX19qaXRfZGVidWdfZGVzY3JpcHRvci5yZWxldmFudF9lbnRy eSA9ICZvbmx5X2VudHJ5OworICBfX2ppdF9kZWJ1Z19kZXNjcmlwdG9yLmFj dGlvbl9mbGFnID0gSklUX1JFR0lTVEVSOworICBfX2ppdF9kZWJ1Z19kZXNj cmlwdG9yLnZlcnNpb24gPSAxOworICBfX2ppdF9kZWJ1Z19yZWdpc3Rlcl9j b2RlICgpOworCisgIGZ1bmN0aW9uICgpOworCisgIHJldHVybiAwOworfQpk aWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9qaXRob3N0Lmgg Yi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ppdGhvc3QuaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MmNhODdhCi0tLSAvZGV2L251 bGwKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9qaXRob3N0LmgKQEAg LTAsMCArMSwyNyBAQAorLyogQ29weXJpZ2h0IChDKSAyMDA5LTIwMTIgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisKKyAgIFRoaXMgZmlsZSBp cyBwYXJ0IG9mIEdEQi4KKworICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkK KyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgICB0aGUgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNl bnNlLCBvcgorICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv bi4KKworICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICBidXQgV0lUSE9VVCBB TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50 eSBvZgorICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICAgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgWW91IHNob3Vs ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UKKyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYg bm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8K KworI2lmbmRlZiBKSVRIT1NUX0gKKyNkZWZpbmUgSklUSE9TVF9ICisKK3N0 cnVjdCBqaXRob3N0X2FiaQoreworICBjb25zdCBjaGFyICpiZWdpbjsKKyAg Y29uc3QgY2hhciAqZW5kOworfTsKKworI2VuZGlmIC8qIEpJVEhPU1RfSCAq LwpkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9qaXRyZWFk ZXIuYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvaml0cmVhZGVyLmMKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGM5MzVjNAotLS0g L2Rldi9udWxsCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvaml0cmVh ZGVyLmMKQEAgLTAsMCArMSwxNTYgQEAKKy8qIENvcHlyaWdodCAoQykgMjAw OS0yMDEyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCisgICBU aGlzIGZpbGUgaXMgcGFydCBvZiBHREIuCisKKyAgIFRoaXMgcHJvZ3JhbSBp cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IgbW9kaWZ5CisgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICAgdGhl IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBv ZiB0aGUgTGljZW5zZSwgb3IKKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxh dGVyIHZlcnNpb24uCisKKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRl ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgYnV0 IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAgIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAg IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICBhbG9uZyB3aXRoIHRoaXMgcHJv Z3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5z ZXMvPi4gICovCisKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDxz dGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmlu Zy5oPgorCisjaW5jbHVkZSBKSVRfUkVBREVSX0ggIC8qIFBsZWFzZSBzZWUg aml0LXJlYWRlci5leHAgZm9yIGFuIGV4cGxhbmF0aW9uLiAgKi8KKyNpbmNs dWRlICJqaXRob3N0LmgiCisKK0dEQl9ERUNMQVJFX0dQTF9DT01QQVRJQkxF X1JFQURFUjsKKworZW51bSByZWdpc3Rlcl9tYXBwaW5nCit7CisgIEFNRDY0 X1JBID0gMTYsCisgIEFNRDY0X1JTUCA9IDcsCit9OworCitzdHJ1Y3QgcmVh ZGVyX3N0YXRlCit7CisgIHVpbnRwdHJfdCBjb2RlX2JlZ2luOworICB1aW50 cHRyX3QgY29kZV9lbmQ7Cit9OworCitzdGF0aWMgZW51bSBnZGJfc3RhdHVz CityZWFkX2RlYnVnX2luZm8gKHN0cnVjdCBnZGJfcmVhZGVyX2Z1bmNzICpz ZWxmLAorCQkgc3RydWN0IGdkYl9zeW1ib2xfY2FsbGJhY2tzICpjYnMsCisg ICAgICAgICAgICAgICAgIHZvaWQgKm1lbW9yeSwgbG9uZyBtZW1vcnlfc3op Cit7CisgIHN0cnVjdCBqaXRob3N0X2FiaSAqc3ltZmlsZSA9IG1lbW9yeTsK KyAgc3RydWN0IGdkYl9vYmplY3QgKm9iamVjdCA9IGNicy0+b2JqZWN0X29w ZW4gKGNicyk7CisgIHN0cnVjdCBnZGJfc3ltdGFiICpzeW10YWIgPSBjYnMt PnN5bXRhYl9vcGVuIChjYnMsIG9iamVjdCwgIiIpOworICBHREJfQ09SRV9B RERSIGJlZ2luID0gKEdEQl9DT1JFX0FERFIpIHN5bWZpbGUtPmJlZ2luOwor ICBHREJfQ09SRV9BRERSIGVuZCA9IChHREJfQ09SRV9BRERSKSBzeW1maWxl LT5lbmQ7CisKKyAgY2JzLT5ibG9ja19vcGVuIChjYnMsIHN5bXRhYiwgTlVM TCwgYmVnaW4sIGVuZCwgImppdF9mdW5jdGlvbl8wMCIpOworCisgIGNicy0+ c3ltdGFiX2Nsb3NlIChjYnMsIHN5bXRhYik7CisgIGNicy0+b2JqZWN0X2Ns b3NlIChjYnMsIG9iamVjdCk7CisgIHJldHVybiBHREJfU1VDQ0VTUzsKK30K Kworc3RhdGljIHZvaWQKK2ZyZWVfcmVnX3ZhbHVlIChzdHJ1Y3QgZ2RiX3Jl Z192YWx1ZSAqdmFsdWUpCit7CisgIGZyZWUgKHZhbHVlKTsKK30KKworc3Rh dGljIHZvaWQKK3dyaXRlX3JlZ2lzdGVyIChzdHJ1Y3QgZ2RiX3Vud2luZF9j YWxsYmFja3MgKmNhbGxiYWNrcywgaW50IGR3X3JlZywKKyAgICAgICAgICAg ICAgICB1aW50cHRyX3QgdmFsdWUpCit7CisgIGNvbnN0IGludCBzaXplID0g c2l6ZW9mICh1aW50cHRyX3QpOworICBzdHJ1Y3QgZ2RiX3JlZ192YWx1ZSAq cmVnX3ZhbCA9CisgICAgbWFsbG9jIChzaXplb2YgKHN0cnVjdCBnZGJfcmVn X3ZhbHVlKSArIHNpemUgLSAxKTsKKyAgcmVnX3ZhbC0+ZGVmaW5lZCA9IDE7 CisgIHJlZ192YWwtPmZyZWUgPSBmcmVlX3JlZ192YWx1ZTsKKworICBtZW1j cHkgKHJlZ192YWwtPnZhbHVlLCAmdmFsdWUsIHNpemUpOworICBjYWxsYmFj a3MtPnJlZ19zZXQgKGNhbGxiYWNrcywgZHdfcmVnLCByZWdfdmFsKTsKK30K Kworc3RhdGljIGludAorcmVhZF9yZWdpc3RlciAoc3RydWN0IGdkYl91bndp bmRfY2FsbGJhY2tzICpjYWxsYmFja3MsIGludCBkd19yZWcsCisJICAgICAg IHVpbnRwdHJfdCAqdmFsdWUpCit7CisgIGNvbnN0IGludCBzaXplID0gc2l6 ZW9mICh1aW50cHRyX3QpOworICBzdHJ1Y3QgZ2RiX3JlZ192YWx1ZSAqcmVn X3ZhbCA9IGNhbGxiYWNrcy0+cmVnX2dldCAoY2FsbGJhY2tzLCBkd19yZWcp OworICBpZiAocmVnX3ZhbC0+c2l6ZSAhPSBzaXplIHx8ICFyZWdfdmFsLT5k ZWZpbmVkKQorICAgIHsKKyAgICAgIHJlZ192YWwtPmZyZWUgKHJlZ192YWwp OworICAgICAgcmV0dXJuIDA7CisgICAgfQorICBtZW1jcHkgKHZhbHVlLCBy ZWdfdmFsLT52YWx1ZSwgc2l6ZSk7CisgIHJlZ192YWwtPmZyZWUgKHJlZ192 YWwpOworICByZXR1cm4gMTsKK30KKworc3RhdGljIGVudW0gZ2RiX3N0YXR1 cwordW53aW5kX2ZyYW1lIChzdHJ1Y3QgZ2RiX3JlYWRlcl9mdW5jcyAqc2Vs Ziwgc3RydWN0IGdkYl91bndpbmRfY2FsbGJhY2tzICpjYnMpCit7CisgIGNv bnN0IGludCB3b3JkX3NpemUgPSBzaXplb2YgKHVpbnRwdHJfdCk7CisgIHVp bnRwdHJfdCB0aGlzX3NwLCB0aGlzX2lwLCBwcmV2X2lwLCBwcmV2X3NwOwor ICBzdHJ1Y3QgcmVhZGVyX3N0YXRlICpzdGF0ZSA9IChzdHJ1Y3QgcmVhZGVy X3N0YXRlICopIHNlbGYtPnByaXZfZGF0YTsKKworICBpZiAoIXJlYWRfcmVn aXN0ZXIgKGNicywgQU1ENjRfUkEsICZ0aGlzX2lwKSkKKyAgICByZXR1cm4g R0RCX0ZBSUw7CisKKyAgaWYgKHRoaXNfaXAgPj0gc3RhdGUtPmNvZGVfZW5k IHx8IHRoaXNfaXAgPCBzdGF0ZS0+Y29kZV9iZWdpbikKKyAgICByZXR1cm4g R0RCX0ZBSUw7CisKKyAgaWYgKCFyZWFkX3JlZ2lzdGVyIChjYnMsIEFNRDY0 X1JTUCwgJnRoaXNfc3ApKQorICAgIHJldHVybiBHREJfRkFJTDsKKworICBp ZiAoY2JzLT50YXJnZXRfcmVhZCAodGhpc19zcCwgJnByZXZfaXAsIHdvcmRf c2l6ZSkgPT0gR0RCX0ZBSUwpCisgICAgcmV0dXJuIEdEQl9GQUlMOworCisg IHByZXZfc3AgPSB0aGlzX3NwICsgd29yZF9zaXplOworICB3cml0ZV9yZWdp c3RlciAoY2JzLCBBTUQ2NF9SQSwgcHJldl9pcCk7CisgIHdyaXRlX3JlZ2lz dGVyIChjYnMsIEFNRDY0X1JTUCwgcHJldl9zcCk7CisgIHJldHVybiBHREJf U1VDQ0VTUzsKK30KKworc3RhdGljIHN0cnVjdCBnZGJfZnJhbWVfaWQKK2dl dF9mcmFtZV9pZCAoc3RydWN0IGdkYl9yZWFkZXJfZnVuY3MgKnNlbGYsIHN0 cnVjdCBnZGJfdW53aW5kX2NhbGxiYWNrcyAqY2JzKQoreworICBzdHJ1Y3Qg cmVhZGVyX3N0YXRlICpzdGF0ZSA9IChzdHJ1Y3QgcmVhZGVyX3N0YXRlICop IHNlbGYtPnByaXZfZGF0YTsKKyAgc3RydWN0IGdkYl9mcmFtZV9pZCBmcmFt ZV9pZDsKKworICB1aW50cHRyX3Qgc3A7CisgIHJlYWRfcmVnaXN0ZXIgKGNi cywgQU1ENjRfUlNQLCAmc3ApOworCisgIGZyYW1lX2lkLmNvZGVfYWRkcmVz cyA9IChHREJfQ09SRV9BRERSKSBzdGF0ZS0+Y29kZV9iZWdpbjsKKyAgZnJh bWVfaWQuc3RhY2tfYWRkcmVzcyA9IChHREJfQ09SRV9BRERSKSBzcDsKKwor ICByZXR1cm4gZnJhbWVfaWQ7Cit9CisKK3N0YXRpYyB2b2lkCitkZXN0cm95 X3JlYWRlciAoc3RydWN0IGdkYl9yZWFkZXJfZnVuY3MgKnNlbGYpCit7Cisg IGZyZWUgKHNlbGYtPnByaXZfZGF0YSk7CisgIGZyZWUgKHNlbGYpOworfQor CitleHRlcm4gc3RydWN0IGdkYl9yZWFkZXJfZnVuY3MgKgorZ2RiX2luaXRf cmVhZGVyICh2b2lkKQoreworICBzdHJ1Y3QgcmVhZGVyX3N0YXRlICpzdGF0 ZSA9IG1hbGxvYyAoc2l6ZW9mIChzdHJ1Y3QgcmVhZGVyX3N0YXRlKSk7Cisg IHN0cnVjdCBnZGJfcmVhZGVyX2Z1bmNzICpyZWFkZXJfZnVuY3MgPQorICAg IG1hbGxvYyAoc2l6ZW9mIChzdHJ1Y3QgZ2RiX3JlYWRlcl9mdW5jcykpOwor CisgIHJlYWRlcl9mdW5jcy0+cmVhZGVyX3ZlcnNpb24gPSBHREJfUkVBREVS X0lOVEVSRkFDRV9WRVJTSU9OOworICByZWFkZXJfZnVuY3MtPnByaXZfZGF0 YSA9IHN0YXRlOworICByZWFkZXJfZnVuY3MtPnJlYWQgPSByZWFkX2RlYnVn X2luZm87CisgIHJlYWRlcl9mdW5jcy0+dW53aW5kID0gdW53aW5kX2ZyYW1l OworICByZWFkZXJfZnVuY3MtPmdldF9mcmFtZV9pZCA9IGdldF9mcmFtZV9p ZDsKKyAgcmVhZGVyX2Z1bmNzLT5kZXN0cm95ID0gZGVzdHJveV9yZWFkZXI7 CisKKyAgcmV0dXJuIHJlYWRlcl9mdW5jczsKK30KLS0gCjEuNy4xMC40Cgo= --f46d0442859c7454ba04d2ccf47b--