From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 122742 invoked by alias); 22 Feb 2020 06:39:01 -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 122723 invoked by uid 89); 22 Feb 2020 06:39:01 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-21.4 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.1 spammy=dubious, understood, yesterday, tagged X-HELO: EUR04-DB3-obe.outbound.protection.outlook.com Received: from mail-oln040092074011.outbound.protection.outlook.com (HELO EUR04-DB3-obe.outbound.protection.outlook.com) (40.92.74.11) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 22 Feb 2020 06:38:58 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GfRg+dHfLdu0dNeHVTVl4b4OYlDe5DW9Z4gNQQgI0XJF+6x2qa6drhHW3Ucrp8Cq9NzMSx9HVMA8YJ6wTa+tV/tR+BNfH4EocfG493xfSbzxhcvhHPOmiJwtMEdI3eoNpIu/eh3YROrw6efTTBzsQWx65HHQPRiqTVAPuxUcGtF5jN8zv4kgPhx9s7+5lNDOiItfQrGqvTWMho0mBQk1CHP6+6hIHnR7/zYzV6UEw1z8lV7sO5mJVfm2Us5fOOxv+9ewSR04RaE9+II1H7KJA7EGmQ9JuQkEUNSK8Nqc8ODMsW3n+e+ZxPmSAY7D55LGeywcH9gmiCGtIn8zEO8bGQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=n0wiGW6dZRmAyvE1JVRVlDGjTq69swXpCck+MDSOiaI=; b=BX64R9v1mZ6PE3+Y3actxEvSGpljOpb/AMnAuPtj8cTV2whxxKelkXlY3sjxNLqsVVm21V8aQsEeOxtBWoY3NgvdDBJLjVbSNu4H3R6fiOcXY0ypYHVHp6DQd9hMqJpCAgCpAr291LTzmtKccMOv5+timOnCnAZtWeWCkccPubl7qeEZbBhI1E1jy2tH6I4ZARYoM5tdkbfKH53r0lF4HZj4yfT0BUrbvkwfyQfdQUPvvkFbZBCYZICFVz1S+m6LufIk350nO1RNzPgv5J+TzLgt1jD+B19rD0Qd3/g2QzciIBkoU0E+lt0cyTW+BN1DP/nnA5jWdO2pk13vBtLT1Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none Received: from HE1EUR04FT037.eop-eur04.prod.protection.outlook.com (10.152.26.52) by HE1EUR04HT174.eop-eur04.prod.protection.outlook.com (10.152.27.130) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2750.18; Sat, 22 Feb 2020 06:38:55 +0000 Received: from AM6PR03MB5170.eurprd03.prod.outlook.com (10.152.26.53) by HE1EUR04FT037.mail.protection.outlook.com (10.152.26.161) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2750.18 via Frontend Transport; Sat, 22 Feb 2020 06:38:55 +0000 Received: from AM6PR03MB5170.eurprd03.prod.outlook.com ([fe80::1956:d274:cab3:b4dd]) by AM6PR03MB5170.eurprd03.prod.outlook.com ([fe80::1956:d274:cab3:b4dd%6]) with mapi id 15.20.2729.033; Sat, 22 Feb 2020 06:38:55 +0000 Received: from [192.168.1.101] (92.77.140.102) by ZR0P278CA0040.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:1d::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2750.18 via Frontend Transport; Sat, 22 Feb 2020 06:38:54 +0000 From: Bernd Edlinger To: Andrew Burgess , "gdb-patches@sourceware.org" Subject: [PATCHv2] Fix range end handling of inlined subroutines Date: Sat, 22 Feb 2020 06:39:00 -0000 Message-ID: References: <94e33268f64060fc887670f4ee5ed524050cbcc7.1580902412.git.andrew.burgess@embecosm.com> In-Reply-To: x-microsoft-original-message-id: <97dd6a04-c3a1-d18f-9a9e-3f46b867e524@hotmail.de> x-ms-exchange-antispam-messagedata: rXXMmRSBjv8UTc0TNxR/G4gSFfspmlGK3/ah1AMFp1ALF62vT+kxN7eQp5hh4zdoM+w93+flJAS+Mcqe/2BILKWX3RkD7I0SP+lrB+DB3jBzTNdYgjonV9eT3Hs0JVhYVnCO9u7YFlurvWAaNV+4yw== x-ms-exchange-transport-forked: True Content-Type: multipart/mixed; boundary="_002_AM6PR03MB5170F096583B419DBB35F8B0E4EE0AM6PR03MB5170eurp_" MIME-Version: 1.0 X-SW-Source: 2020-02/txt/msg00879.txt.bz2 --_002_AM6PR03MB5170F096583B419DBB35F8B0E4EE0AM6PR03MB5170eurp_ Content-Type: text/plain; charset="Windows-1252" Content-ID: <8829167B59FAF74484A290E4AD2D6F7B@eurprd03.prod.outlook.com> Content-Transfer-Encoding: quoted-printable Content-length: 1490 On 2/9/20 10:07 PM, Bernd Edlinger wrote: > Hi, >=20 > this is based on Andrew's patch here: >=20 > https://sourceware.org/ml/gdb-patches/2020-02/msg00092.html >=20 > This and adds a heuristic to fix the case where caller > and callee reside in the same subfile, it uses > the recorded is-stmt bits and locates end of > range infos, including the previously ignored empty > range, and adjusting is-stmt info at this > same pc, when the last item is not-is-stmt, the > previous line table entries are dubious and > we reset the is-stmt bit there. > This fixes the new test case in Andrew's patch. >=20 > It understood, that this is just a heuristic > approach, since we do not have exactly the data, > which is needed to determine at which of the identical > PCs in the line table the subroutine actually ends. > So, this tries to be as conservative as possible, > just changing what is absolutely necessary. >=20 > This patch itself is preliminary, since the is-stmt patch > needs to be rebased after the refactoring of > dwarf2read.c from yesterday, so I will have to rebase > this patch as well, but decided to wait for Andrew. >=20 >=20 So, this is an update to my previous patch above: https://sourceware.org/ml/gdb-patches/2020-02/msg00262.html It improves performance on big data, by using binary search to locate the bogus line table entries. Otherwise it behaves identical to the previous version, and is still waiting for Andrew's patch before it can be applied. Thanks Bernd. --_002_AM6PR03MB5170F096583B419DBB35F8B0E4EE0AM6PR03MB5170eurp_ Content-Type: text/x-patch; name="0001-Fix-range-end-handling-of-inlined-subroutines.patch" Content-Description: 0001-Fix-range-end-handling-of-inlined-subroutines.patch Content-Disposition: attachment; filename="0001-Fix-range-end-handling-of-inlined-subroutines.patch"; size=10417; creation-date="Sat, 22 Feb 2020 06:38:55 GMT"; modification-date="Sat, 22 Feb 2020 06:38:55 GMT" Content-ID: <797F7A0CC6661847871BDBCB97C11EA9@eurprd03.prod.outlook.com> Content-Transfer-Encoding: base64 Content-length: 14124 RnJvbSA3NThiNTg0ZTE0NDdmY2U0NjQ4YTNiZTNiOWFmOTMwYWYyMGE2ZmI2 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBCZXJuZCBFZGxpbmdl ciA8YmVybmQuZWRsaW5nZXJAaG90bWFpbC5kZT4KRGF0ZTogU3VuLCA5IEZl YiAyMDIwIDIxOjEzOjE3ICswMTAwClN1YmplY3Q6IFtQQVRDSHYyXSBGaXgg cmFuZ2UgZW5kIGhhbmRsaW5nIG9mIGlubGluZWQgc3Vicm91dGluZXMKClNp bmNlIHRoZSBpc19zdG10IGlzIG5vdyBoYW5kbGVkLCBpdCBiZWNvbWVzCnBv c3NpYmxlIHRvIGxvY2F0ZSBkdWJpb3VzIGlzX3N0bXQgbGluZSBlbnRyaWVz CmF0IHRoZSBlbmQgb2YgYW4gaW5saW5lZCBmdW5jdGlvbiwgZXZlbiBpZiB0 aGUKY2FsbGVkIGlubGluZSBmdW5jdGlvbiBpcyBpbiB0aGUgc2FtZSBzdWJm aWxlLgoKV2hlbiB0aGVyZSBpcyBhIHNlcXVlbmNlIG9mIGxpbmUgZW50cmll cyBhdCB0aGUKc2FtZSBhZGRyZXNzIHdoZXJlIGFuIGlubGluZSByYW5nZSBl bmRzLCBhbmQgdGhlCmxhc3QgaXRlbSBoYXMgaXNfc3RtdCA9IDAsIHdlIGZv cmNlIGFsbCBwcmV2aW91cwppdGVtcyB0byBoYXZlIGlzX3N0bXQgPSAwIGFz IHdlbGwuCgpJZiB0aGUgbGFzdCBsaW5lIGF0IHRoYXQgYWRkcmVzcyBoYXMg aXNfc3RtdCA9IDEsCnRoZXJlIGlzIG5vIG5lZWQgdG8gY2hhbmdlIGFueXRo aW5nLCBzaW5jZSBhIHN0ZXAKb3ZlciB3aWxsIGFsd2F5cyBzdG9wIGF0IHRo YXQgbGFzdCBsaW5lIGZyb20gdGhlCnNhbWUgYWRkcmVzcywgd2hpY2ggaXMg ZmluZSwgc2luY2UgaXQgaXMgb3V0c2lkZQp0aGUgc3Vicm91dGluZS4KClRo aXMgaXMgYWJvdXQgdGhlIGJlc3Qgd2UgY2FuIGRvIGF0IHRoZSBtb21lbnQs CnVubGVzcyBsb2NhdGlvbiB2aWV3IGluZm9ybWF0aW9uIGFyZSBhZGRlZCB0 byB0aGUKYmxvY2sgcmFuZ2VzIGRlYnVnIGluZm8gc3RydWN0dXJlLCBhbmQg bG9jYXRpb24Kdmlld3MgYXJlIGltcGxlbWVudGVkIGluIGdkYiBpbiBnZW5l cmFsLgoKZ2RiOgoyMDIwLTAyLTIyICBCZXJuZCBFZGxpbmdlciAgPGJlcm5k LmVkbGluZ2VyQGhvdG1haWwuZGU+CgoJKiBidWlsZHN5bS5jIChidWlsZHN5 bV9jb21wdW5pdDo6cmVjb3JkX2lubGluZV9yYW5nZV9lbmQsCglwYXRjaF9p bmxpbmVfZW5kX3Bvcyk6IE5ldyBoZWxwZXIgZnVuY3Rpb25zLgoJKGJ1aWxk c3ltX2NvbXB1bml0OjplbmRfc3ltdGFiX3dpdGhfYmxvY2t2ZWN0b3IpOiBQ YXRjaCBsaW5lIHRhYmxlLgoJKGJ1aWxkc3ltX2NvbXB1bml0Ojp+YnVpbGRz eW1fY29tcHVuaXQpOiBDbGVhbnVwIG1faW5saW5lX2VuZF92ZWN0b3IuCgkq IGJ1aWxkc3ltLmggKGJ1aWxkc3ltX2NvbXB1bml0OjpyZWNvcmRfaW5saW5l X3JhbmdlX2VuZCk6IERlY2xhcmUuCgkoYnVpbGRzeW1fY29tcHVuaXQ6Om1f aW5saW5lX2VuZF92ZWN0b3IsCglidWlsZHN5bV9jb21wdW5pdDo6bV9pbmxp bmVfZW5kX3ZlY3Rvcl9sZW5ndGgsCglidWlsZHN5bV9jb21wdW5pdDo6bV9p bmxpbmVfZW5kX3ZlY3Rvcl9uaXRlbXMpOiBOZXcgZGF0YSBpdGVtcy4KCSog ZHdhcmYyL3JlYWQuYyAoZHdhcmYyX3JuZ2xpc3RzX3Byb2Nlc3MsCglkd2Fy ZjJfcmFuZ2VzX3Byb2Nlc3MpOiBEb24ndCBpZ25vcmUgZW1wdHkgcmFuZ2Vz IGhlcmUuCgkoZHdhcmYyX3Jhbmdlc19yZWFkKTogSWdub3JlIGVtcHR5IHJh bmdlcyBoZXJlLgoJKGR3YXJmMl9yZWNvcmRfYmxvY2tfcmFuZ2VzKTogUGFz cyBlbmQgb2YgcmFuZ2UgUEMgdG8KCXJlY29yZF9pbmxpbmVfcmFuZ2VfZW5k IGZvciBpbmxpbmUgZnVuY3Rpb25zLgoKZ2RiL3Rlc3RzdWl0ZToKMjAyMC0w Mi0yMiAgQmVybmQgRWRsaW5nZXIgIDxiZXJuZC5lZGxpbmdlckBob3RtYWls LmRlPgoKCSogZ2RiLmNwL25leHQtaW5saW5lLmV4cDogQWRqdXN0IHRlc3Qu Ci0tLQogZ2RiL2J1aWxkc3ltLmMgICAgICAgICAgICAgICAgICAgICAgIHwg ODQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBnZGIv YnVpbGRzeW0uaCAgICAgICAgICAgICAgICAgICAgICAgfCAxMSArKysrKwog Z2RiL2R3YXJmMi9yZWFkLmMgICAgICAgICAgICAgICAgICAgIHwgMjIgKysr KysrLS0tLQogZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvbmV4dC1pbmxpbmUuZXhw IHwgIDkgLS0tLQogNCBmaWxlcyBjaGFuZ2VkLCAxMDggaW5zZXJ0aW9ucygr KSwgMTggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZ2RiL2J1aWxkc3lt LmMgYi9nZGIvYnVpbGRzeW0uYwppbmRleCA3ZmQyNTZmLi5jOTM5NDRhIDEw MDY0NAotLS0gYS9nZGIvYnVpbGRzeW0uYworKysgYi9nZGIvYnVpbGRzeW0u YwpAQCAtMTEzLDYgKzExMyw4IEBAIGJ1aWxkc3ltX2NvbXB1bml0Ojp+YnVp bGRzeW1fY29tcHVuaXQgKCkKICAgICAgIG5leHQxID0gbmV4dC0+bmV4dDsK ICAgICAgIHhmcmVlICgodm9pZCAqKSBuZXh0KTsKICAgICB9CisKKyAgeGZy ZWUgKG1faW5saW5lX2VuZF92ZWN0b3IpOwogfQogCiBzdHJ1Y3QgbWFjcm9f dGFibGUgKgpAQCAtNzMyLDYgKzczNCw4NCBAQCBidWlsZHN5bV9jb21wdW5p dDo6cmVjb3JkX2xpbmUgKHN0cnVjdCBzdWJmaWxlICpzdWJmaWxlLCBpbnQg bGluZSwKIH0KIAogDAorLyogUmVjb3JkIGEgUEMgd2hlcmUgYSBpbmxpbmVk IHN1YnJvdXRpbmUgZW5kcy4gICovCisKK3ZvaWQKK2J1aWxkc3ltX2NvbXB1 bml0OjpyZWNvcmRfaW5saW5lX3JhbmdlX2VuZCAoQ09SRV9BRERSIGVuZCkK K3sKKyAgaWYgKG1faW5saW5lX2VuZF92ZWN0b3IgPT0gbnVsbHB0cikKKyAg ICB7CisgICAgICBtX2lubGluZV9lbmRfdmVjdG9yX2xlbmd0aCA9IElOSVRJ QUxfTElORV9WRUNUT1JfTEVOR1RIOworICAgICAgbV9pbmxpbmVfZW5kX3Zl Y3RvciA9IChDT1JFX0FERFIgKikKKwl4bWFsbG9jIChzaXplb2YgKENPUkVf QUREUikgKiBtX2lubGluZV9lbmRfdmVjdG9yX2xlbmd0aCk7CisgICAgICBt X2lubGluZV9lbmRfdmVjdG9yX25pdGVtcyA9IDA7CisgICAgfQorICBlbHNl IGlmIChtX2lubGluZV9lbmRfdmVjdG9yX25pdGVtcyA9PSBtX2lubGluZV9l bmRfdmVjdG9yX2xlbmd0aCkKKyAgICB7CisgICAgICBtX2lubGluZV9lbmRf dmVjdG9yX2xlbmd0aCAqPSAyOworICAgICAgbV9pbmxpbmVfZW5kX3ZlY3Rv ciA9IChDT1JFX0FERFIgKikKKwl4cmVhbGxvYyAoKGNoYXIgKikgbV9pbmxp bmVfZW5kX3ZlY3RvciwKKwkJICBzaXplb2YgKENPUkVfQUREUikgKiBtX2lu bGluZV9lbmRfdmVjdG9yX2xlbmd0aCk7CisgICAgfQorCisgIG1faW5saW5l X2VuZF92ZWN0b3JbbV9pbmxpbmVfZW5kX3ZlY3Rvcl9uaXRlbXMrK10gPSBl bmQ7Cit9CisKKwwKKy8qIFBhdGNoIHRoZSBpc19zdG10IGJpdHMgYXQgdGhl IGdpdmVuIGlubGluZSBlbmQgYWRkcmVzcy4KKyAgIFRoZSBsaW5lIHRhYmxl IGhhcyB0byBiZSBhbHJlYWR5IHNvcnRlZC4gICovCisKK3N0YXRpYyB2b2lk CitwYXRjaF9pbmxpbmVfZW5kX3BvcyAoc3RydWN0IGxpbmV0YWJsZSAqdGFi bGUsIENPUkVfQUREUiBlbmQpCit7CisgIGludCBhID0gMiwgYiA9IHRhYmxl LT5uaXRlbXMgLSAxOworICBzdHJ1Y3QgbGluZXRhYmxlX2VudHJ5ICppdGVt cyA9IHRhYmxlLT5pdGVtOworCisgIC8qIFdlIG5lZWQgYXQgbGVhc3QgdHdv IGl0ZW1zIHdpdGggcGMgPSBlbmQgaW4gdGhlIHRhYmxlLgorICAgICBUaGUg bG93ZXN0IHVzYWJsZSBpdGVtcyBhcmUgYXQgcG9zIDAgYW5kIDEsIHRoZSBo aWdoZXN0CisgICAgIHVzYWJsZSBpdGVtcyBhcmUgYXQgcG9zIGIgLSAyIGFu ZCBiIC0gMS4gICovCisgIGlmIChhID4gYiB8fCBlbmQgPCBpdGVtc1sxXS5w YyB8fCBlbmQgPiBpdGVtc1tiIC0gMl0ucGMpCisgICAgcmV0dXJuOworCisg IC8qIExvb2sgZm9yIHRoZSBmaXJzdCBpdGVtIHdpdGggcGMgPiBlbmQgaW4g dGhlIHJhbmdlIFthLGJdLgorICAgICBUaGUgcHJldmlvdXMgZWxlbWVudCBo YXMgcGMgPSBlbmQgb3IgdGhlcmUgaXMgbm8gbWF0Y2guCisgICAgIFdlIHNl dCBhID0gMiwgc2luY2Ugd2UgbmVlZCBhdCBsZWFzdCB0d28gY29uc2VjdXRp dmUgZWxlbWVudHMKKyAgICAgd2l0aCBwYyA9IGVuZCB0byBkbyBhbnl0aGlu ZyB1c2VmdWwuCisgICAgIFdlIHNldCBiID0gbml0ZW1zIC0gMSwgc2luY2Ug d2UgYXJlIG5vdCBpbnRlcmVzdGVkIGluIHRoZSBsYXN0CisgICAgIGVsZW1l bnQgd2hpY2ggc2hvdWxkIGJlIGFuIGVuZCBvZiBzZXF1ZW5jZSBtYXJrZXIg d2l0aCBsaW5lID0gMAorICAgICBhbmQgaXNfc3RtdCA9IDEuICAqLworICB3 aGlsZSAoYSA8IGIpCisgICAgeworICAgICAgaW50IGMgPSAoYSArIGIpIC8g MjsKKworICAgICAgaWYgKGVuZCA8IGl0ZW1zW2NdLnBjKQorCWIgPSBjOwor ICAgICAgZWxzZQorCWEgPSBjICsgMTsKKyAgICB9CisKKyAgYS0tOworICBp ZiAoaXRlbXNbYV0ucGMgIT0gZW5kIHx8IGl0ZW1zW2FdLmlzX3N0bXQpCisg ICAgcmV0dXJuOworCisgIC8qIFdoZW4gdGhlcmUgaXMgYSBzZXF1ZW5jZSBv ZiBsaW5lIGVudHJpZXMgYXQgdGhlIHNhbWUgYWRkcmVzcworICAgICB3aGVy ZSBhbiBpbmxpbmUgcmFuZ2UgZW5kcywgYW5kIHRoZSBsYXN0IGl0ZW0gaGFz IGlzX3N0bXQgPSAwLAorICAgICB3ZSBmb3JjZSBhbGwgcHJldmlvdXMgaXRl bXMgdG8gaGF2ZSBpc19zdG10ID0gMCBhcyB3ZWxsLgorICAgICBTZXR0aW5n IGJyZWFrcG9pbnRzIGF0IHRob3NlIGFkZHJlc3NlcyBpcyBjdXJyZW50bHkg bm90CisgICAgIHN1cHBvcnRlZCwgc2luY2UgaXQgaXMgdW5jbGVhciBpZiB0 aGUgcHJldmlvdXMgYWRkcmVzc2VzIGFyZQorICAgICBwYXJ0IG9mIHRoZSBz dWJyb3V0aW5lIG9yIHRoZSBjYWxsaW5nIHByb2dyYW0uICAqLworICB3aGls ZSAoYS0tID4gMCkKKyAgICB7CisgICAgICAvKiBXZSBzdG9wIGF0IHRoZSBm aXJzdCBsaW5lIGVudHJ5IHdpdGggYSBkaWZmZXJlbnQgYWRkcmVzcywKKyAg ICAgICAgIG9yIHdoZW4gd2Ugc2VlIGFuIGVuZCBvZiBzZXF1ZW5jZSBtYXJr ZXIuICAqLworICAgICAgaWYgKGl0ZW1zW2FdLnBjICE9IGVuZCB8fCBpdGVt c1thXS5saW5lID09IDApCisJYnJlYWs7CisKKyAgICAgIGl0ZW1zW2FdLmlz X3N0bXQgPSAwOworICAgIH0KK30KKworDAogLyogU3Vicm91dGluZSBvZiBl bmRfc3ltdGFiIHRvIHNpbXBsaWZ5IGl0LiAgTG9vayBmb3IgYSBzdWJmaWxl IHRoYXQKICAgIG1hdGNoZXMgdGhlIG1haW4gc291cmNlIGZpbGUncyBiYXNl bmFtZS4gIElmIHRoZXJlIGlzIG9ubHkgb25lLCBhbmQKICAgIGlmIHRoZSBt YWluIHNvdXJjZSBmaWxlIGRvZXNuJ3QgaGF2ZSBhbnkgc3ltYm9sIG9yIGxp bmUgbnVtYmVyCkBAIC05NjUsNiArMTA0NSwxMCBAQCBidWlsZHN5bV9jb21w dW5pdDo6ZW5kX3N5bXRhYl93aXRoX2Jsb2NrdmVjdG9yIChzdHJ1Y3QgYmxv Y2sgKnN0YXRpY19ibG9jaywKIAkJCSAgICAgIHN1YmZpbGUtPmxpbmVfdmVj dG9yLT5pdGVtCiAJCQkgICAgICArIHN1YmZpbGUtPmxpbmVfdmVjdG9yLT5u aXRlbXMsCiAJCQkgICAgICBsdGVfaXNfbGVzc190aGFuKTsKKworCSAgIGZv ciAoaW50IGkgPSAwOyBpIDwgbV9pbmxpbmVfZW5kX3ZlY3Rvcl9uaXRlbXM7 IGkrKykKKwkgICAgIHBhdGNoX2lubGluZV9lbmRfcG9zIChzdWJmaWxlLT5s aW5lX3ZlY3RvciwKKwkJCQkgICBtX2lubGluZV9lbmRfdmVjdG9yW2ldKTsK IAl9CiAKICAgICAgIC8qIEFsbG9jYXRlIGEgc3ltYm9sIHRhYmxlIGlmIG5l Y2Vzc2FyeS4gICovCmRpZmYgLS1naXQgYS9nZGIvYnVpbGRzeW0uaCBiL2dk Yi9idWlsZHN5bS5oCmluZGV4IGM3NjhhNGMuLjI4NDU3ODkgMTAwNjQ0Ci0t LSBhL2dkYi9idWlsZHN5bS5oCisrKyBiL2dkYi9idWlsZHN5bS5oCkBAIC0x OTAsNiArMTkwLDggQEAgc3RydWN0IGJ1aWxkc3ltX2NvbXB1bml0CiAgIHZv aWQgcmVjb3JkX2xpbmUgKHN0cnVjdCBzdWJmaWxlICpzdWJmaWxlLCBpbnQg bGluZSwgQ09SRV9BRERSIHBjLAogCQkgICAgYm9vbCBpc19zdG10KTsKIAor ICB2b2lkIHJlY29yZF9pbmxpbmVfcmFuZ2VfZW5kIChDT1JFX0FERFIgZW5k KTsKKwogICBzdHJ1Y3QgY29tcHVuaXRfc3ltdGFiICpnZXRfY29tcHVuaXRf c3ltdGFiICgpCiAgIHsKICAgICByZXR1cm4gbV9jb21wdW5pdF9zeW10YWI7 CkBAIC0zOTcsNiArMzk5LDE1IEBAIHByaXZhdGU6CiAKICAgLyogUGVuZGlu ZyBzeW1ib2xzIHRoYXQgYXJlIGxvY2FsIHRvIHRoZSBsZXhpY2FsIGNvbnRl eHQuICAqLwogICBzdHJ1Y3QgcGVuZGluZyAqbV9sb2NhbF9zeW1ib2xzID0g bnVsbHB0cjsKKworICAvKiBQZW5kaW5nIGlubGluZSBlbmQgcmFuZ2UgYWRk cmVzc2VzLiAgKi8KKyAgQ09SRV9BRERSICogbV9pbmxpbmVfZW5kX3ZlY3Rv ciA9IG51bGxwdHI7CisKKyAgLyogTnVtYmVyIG9mIGFsbG9jYXRlZCBpbmxp bmUgZW5kIHJhbmdlIGFkZHJlc3Nlcy4gICovCisgIGludCBtX2lubGluZV9l bmRfdmVjdG9yX2xlbmd0aCA9IDA7CisKKyAgLyogTnVtYmVyIG9mIHBlbmRp bmcgaW5saW5lIGVuZCByYW5nZSBhZGRyZXNzZXMuICAqLworICBpbnQgbV9p bmxpbmVfZW5kX3ZlY3Rvcl9uaXRlbXMgPSAwOwogfTsKIAogDApkaWZmIC0t Z2l0IGEvZ2RiL2R3YXJmMi9yZWFkLmMgYi9nZGIvZHdhcmYyL3JlYWQuYwpp bmRleCAyZmEzNDZjLi4xYzRjZDhiIDEwMDY0NAotLS0gYS9nZGIvZHdhcmYy L3JlYWQuYworKysgYi9nZGIvZHdhcmYyL3JlYWQuYwpAQCAtMTM1NzEsMTAg KzEzNTcxLDYgQEAgZHdhcmYyX3JuZ2xpc3RzX3Byb2Nlc3MgKHVuc2lnbmVk IG9mZnNldCwgc3RydWN0IGR3YXJmMl9jdSAqY3UsCiAJICByZXR1cm4gZmFs c2U7CiAJfQogCi0gICAgICAvKiBFbXB0eSByYW5nZSBlbnRyaWVzIGhhdmUg bm8gZWZmZWN0LiAgKi8KLSAgICAgIGlmIChyYW5nZV9iZWdpbm5pbmcgPT0g cmFuZ2VfZW5kKQotCWNvbnRpbnVlOwotCiAgICAgICByYW5nZV9iZWdpbm5p bmcgKz0gYmFzZTsKICAgICAgIHJhbmdlX2VuZCArPSBiYXNlOwogCkBAIC0x MzY4NSwxMCArMTM2ODEsNiBAQCBkd2FyZjJfcmFuZ2VzX3Byb2Nlc3MgKHVu c2lnbmVkIG9mZnNldCwgc3RydWN0IGR3YXJmMl9jdSAqY3UsCiAJICByZXR1 cm4gMDsKIAl9CiAKLSAgICAgIC8qIEVtcHR5IHJhbmdlIGVudHJpZXMgaGF2 ZSBubyBlZmZlY3QuICAqLwotICAgICAgaWYgKHJhbmdlX2JlZ2lubmluZyA9 PSByYW5nZV9lbmQpCi0JY29udGludWU7Ci0KICAgICAgIHJhbmdlX2JlZ2lu bmluZyArPSBiYXNlOwogICAgICAgcmFuZ2VfZW5kICs9IGJhc2U7CiAKQEAg LTEzNzI4LDYgKzEzNzIwLDEwIEBAIGR3YXJmMl9yYW5nZXNfcmVhZCAodW5z aWduZWQgb2Zmc2V0LCBDT1JFX0FERFIgKmxvd19yZXR1cm4sCiAgIHJldHZh bCA9IGR3YXJmMl9yYW5nZXNfcHJvY2VzcyAob2Zmc2V0LCBjdSwKICAgICBb Jl0gKENPUkVfQUREUiByYW5nZV9iZWdpbm5pbmcsIENPUkVfQUREUiByYW5n ZV9lbmQpCiAgICAgeworICAgICAgLyogRW1wdHkgcmFuZ2UgZW50cmllcyBo YXZlIG5vIGVmZmVjdC4gICovCisgICAgICBpZiAocmFuZ2VfYmVnaW5uaW5n ID09IHJhbmdlX2VuZCkKKwlyZXR1cm47CisKICAgICAgIGlmIChyYW5nZXNf cHN0ICE9IE5VTEwpCiAJewogCSAgQ09SRV9BRERSIGxvd3BjOwpAQCAtMTM5 NjUsNiArMTM5NjEsNyBAQCBkd2FyZjJfcmVjb3JkX2Jsb2NrX3JhbmdlcyAo c3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBibG9jayAqYmxvY2ssCiAg IHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoID0gZ2V0X29iamZpbGVfYXJjaCAo b2JqZmlsZSk7CiAgIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHI7CiAgIHN0cnVj dCBhdHRyaWJ1dGUgKmF0dHJfaGlnaDsKKyAgYm9vbCBpbmxpbmVkX3N1YnJv dXRpbmUgPSAoZGllLT50YWcgPT0gRFdfVEFHX2lubGluZWRfc3Vicm91dGlu ZSk7CiAKICAgYXR0cl9oaWdoID0gZHdhcmYyX2F0dHIgKGRpZSwgRFdfQVRf aGlnaF9wYywgY3UpOwogICBpZiAoYXR0cl9oaWdoKQpAQCAtMTM5ODAsNyAr MTM5NzcsMTAgQEAgZHdhcmYyX3JlY29yZF9ibG9ja19yYW5nZXMgKHN0cnVj dCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgYmxvY2sgKmJsb2NrLAogCiAJICBs b3cgPSBnZGJhcmNoX2FkanVzdF9kd2FyZjJfYWRkciAoZ2RiYXJjaCwgbG93 ICsgYmFzZWFkZHIpOwogCSAgaGlnaCA9IGdkYmFyY2hfYWRqdXN0X2R3YXJm Ml9hZGRyIChnZGJhcmNoLCBoaWdoICsgYmFzZWFkZHIpOwotCSAgY3UtPmdl dF9idWlsZGVyICgpLT5yZWNvcmRfYmxvY2tfcmFuZ2UgKGJsb2NrLCBsb3cs IGhpZ2ggLSAxKTsKKwkgIGlmIChpbmxpbmVkX3N1YnJvdXRpbmUpCisJICAg IGN1LT5nZXRfYnVpbGRlciAoKS0+cmVjb3JkX2lubGluZV9yYW5nZV9lbmQg KGhpZ2gpOworCSAgaWYgKGxvdyA8IGhpZ2gpCisJICAgIGN1LT5nZXRfYnVp bGRlciAoKS0+cmVjb3JkX2Jsb2NrX3JhbmdlIChibG9jaywgbG93LCBoaWdo IC0gMSk7CiAgICAgICAgIH0KICAgICB9CiAKQEAgLTE0MDA1LDYgKzE0MDA1 LDEwIEBAIGR3YXJmMl9yZWNvcmRfYmxvY2tfcmFuZ2VzIChzdHJ1Y3QgZGll X2luZm8gKmRpZSwgc3RydWN0IGJsb2NrICpibG9jaywKIAkgIGVuZCArPSBi YXNlYWRkcjsKIAkgIHN0YXJ0ID0gZ2RiYXJjaF9hZGp1c3RfZHdhcmYyX2Fk ZHIgKGdkYmFyY2gsIHN0YXJ0KTsKIAkgIGVuZCA9IGdkYmFyY2hfYWRqdXN0 X2R3YXJmMl9hZGRyIChnZGJhcmNoLCBlbmQpOworCSAgaWYgKGlubGluZWRf c3Vicm91dGluZSkKKwkgICAgY3UtPmdldF9idWlsZGVyICgpLT5yZWNvcmRf aW5saW5lX3JhbmdlX2VuZCAoZW5kKTsKKwkgIGlmIChzdGFydCA9PSBlbmQp CisJICAgIHJldHVybjsKIAkgIGN1LT5nZXRfYnVpbGRlciAoKS0+cmVjb3Jk X2Jsb2NrX3JhbmdlIChibG9jaywgc3RhcnQsIGVuZCAtIDEpOwogCSAgYmxv Y2t2ZWMuZW1wbGFjZV9iYWNrIChzdGFydCwgZW5kKTsKIAl9KTsKZGlmZiAt LWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL25leHQtaW5saW5lLmV4cCBi L2dkYi90ZXN0c3VpdGUvZ2RiLmNwL25leHQtaW5saW5lLmV4cAppbmRleCAw YjJiMjJkLi4xMWQ5ZTJlIDEwMDY0NAotLS0gYS9nZGIvdGVzdHN1aXRlL2dk Yi5jcC9uZXh0LWlubGluZS5leHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu Y3AvbmV4dC1pbmxpbmUuZXhwCkBAIC00MiwyNCArNDIsMTUgQEAgcHJvYyBk b190ZXN0IHsgdXNlX2hlYWRlciB9IHsKICAgICBnZGJfdGVzdCAic3RlcCIg Ii4qIiAic3RlcCBpbnRvIGdldF9hbGlhc19zZXQiCiAgICAgZ2RiX3Rlc3Qg ImJ0IiAiXFxzKlxcIzBcXHMrZ2V0X2FsaWFzX3NldFxbXlxyXF0qJHtzcmNm aWxlfTouKiIgXAogCSJub3QgaW4gaW5saW5lIDEiCi0gICAgIyBJdCdzIHBv c3NpYmxlIHRoYXQgdGhpcyBmaXJzdCBmYWlsdXJlICh3aGVuIG5vdCB1c2lu ZyBhIGhlYWRlcgotICAgICMgZmlsZSkgaXMgR0NDJ3MgZmF1bHQsIHRob3Vn aCB0aGUgcmVtYWluaW5nIGZhaWx1cmVzIHdvdWxkIGJlc3QKLSAgICAjIGJl IGZpeGVkIGJ5IGFkZGluZyBsb2NhdGlvbiB2aWV3cyBzdXBwb3J0ICh0aG91 Z2ggaXQgY291bGQgYmUKLSAgICAjIHRoYXQgc29tZSBlYXNpZXIgaGV1cmlz dGljIGNvdWxkIGJlIGZpZ3VyZWQgb3V0KS4gIFN0aWxsLCBpdCBpcwotICAg ICMgbm90IGNlcnRhaW4gdGhhdCB0aGUgZmlyc3QgZmFpbHVyZSB3b3VsZG4n dCBhbHNvIGJlIGZpeGVkIGJ5Ci0gICAgIyBoYXZpbmcgbG9jYXRpb24gdmll dyBzdXBwb3J0LCBzbyBmb3Igbm93IGl0IGlzIHRhZ2dlZCBhcyBzdWNoLgot ICAgIGlmIHshJHVzZV9oZWFkZXJ9IHsgc2V0dXBfa2ZhaWwgIiotKi0qIiBz eW10YWIvMjU1MDcgfQogICAgIGdkYl90ZXN0ICJuZXh0IiAiLipUUkVFX1RZ UEUuKiIgIm5leHQgc3RlcCAxIgogICAgIGdkYl90ZXN0ICJidCIgIlxccypc XCMwXFxzK2dldF9hbGlhc19zZXRcW15cclxdKiR7c3JjZmlsZX06LioiIFwK IAkibm90IGluIGlubGluZSAyIgogICAgIGdkYl90ZXN0ICJuZXh0IiAiLipU UkVFX1RZUEUuKiIgIm5leHQgc3RlcCAyIgogICAgIGdkYl90ZXN0ICJidCIg IlxccypcXCMwXFxzK2dldF9hbGlhc19zZXRcW15cclxdKiR7c3JjZmlsZX06 LioiIFwKIAkibm90IGluIGlubGluZSAzIgotICAgIGlmIHshJHVzZV9oZWFk ZXJ9IHsgc2V0dXBfa2ZhaWwgIiotKi0qIiBzeW10YWIvMjU1MDcgfQogICAg IGdkYl90ZXN0ICJuZXh0IiAiLipUUkVFX1RZUEUuKiIgIm5leHQgc3RlcCAz IgogICAgIGdkYl90ZXN0ICJidCIgIlxccypcXCMwXFxzK2dldF9hbGlhc19z ZXRcW15cclxdKiR7c3JjZmlsZX06LioiIFwKIAkibm90IGluIGlubGluZSA0 IgotICAgIGlmIHshJHVzZV9oZWFkZXJ9IHsgc2V0dXBfa2ZhaWwgIiotKi0q IiBzeW10YWIvMjU1MDcgfQogICAgIGdkYl90ZXN0ICJuZXh0IiAicmV0dXJu IDAuKiIgIm5leHQgc3RlcCA0IgogICAgIGdkYl90ZXN0ICJidCIgXAogCSJc XHMqXFwjMFxccysobWFpbnxnZXRfYWxpYXNfc2V0KVxbXlxyXF0qJHtzcmNm aWxlfTouKiIgXAotLSAKMS45LjEKCg== --_002_AM6PR03MB5170F096583B419DBB35F8B0E4EE0AM6PR03MB5170eurp_--