From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 117858 invoked by alias); 31 Oct 2019 19:19:28 -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 117849 invoked by uid 89); 31 Oct 2019 19:19:28 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-16.8 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KAM_SHORT,KAM_STOCKGEN,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.1 spammy= X-HELO: EUR03-DB5-obe.outbound.protection.outlook.com Received: from mail-oln040092071096.outbound.protection.outlook.com (HELO EUR03-DB5-obe.outbound.protection.outlook.com) (40.92.71.96) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 31 Oct 2019 19:19:25 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=G8AN403xH9n0NMPhkR+2wGIibKqyq10efIv3AG+1q/5NlJuutT63HO4peW8KD6hTUqlfPBHbcW+UjmuZcShOSTu/T6Rng9IyP/ApWdC0lvmF0Ip6yelZkDE5ay+S+YqS0k7A3yj3rarl/PuRQpd8p8DNAwNu7oqa84Sfkr6/UQyuGEB4siIWaf+BzxBHCFsIkOgh3tv8PW4ZBtbxaDHpwgdlm1aKYd54gwqsJbl41W871imyYOTsjsbUihU3jbr2YFSmspHy0PExl7C6Rfp2PCCRjLFKTg+3hRZ/sfRbOa9xdZSKebauhpmKv4k7KIlzKaqJfcRwkX9v1ZuUAlIMJg== 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=apyQEoXsfrhqlDij9PH7aB++fZS9IXy3x5uhLGRoJ+g=; b=PMLHRMZZHreVdynpj2h7tjfSigvpfwoJzGg4WCd6/lgkqhbIWo6TDeOnY9R3bOx62gHN6UpKWjQbeLtoMxQ48Ey6OnZnRbY2VAx76wzHFjRaWJ9W0NcIqxE/a7ksR/z73Mvt1u/8P9TPCtULCpATMaF88SCnkfT/N7iifU4RxfZaB5bmsIRqaGgkqO6BjAB0HJpD8+A3LfILTVmp7oG5t0lN7cF2KZJx2UNxf7l0LsoGXZSV1O04bOdzqg4lKeQHHVC2tVk7IOl6NAh+1Fi9B4lhn38vtdCOP0N1FOGQ49mUTulWj8jAnlx7pAUr91hthpRrJWUm34eMXmJrsIQy8A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none Received: from AM5EUR03FT029.eop-EUR03.prod.protection.outlook.com (10.152.16.54) by AM5EUR03HT101.eop-EUR03.prod.protection.outlook.com (10.152.17.146) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.2387.20; Thu, 31 Oct 2019 19:19:22 +0000 Received: from AM6PR03MB4519.eurprd03.prod.outlook.com (10.152.16.57) by AM5EUR03FT029.mail.protection.outlook.com (10.152.16.150) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2387.20 via Frontend Transport; Thu, 31 Oct 2019 19:19:22 +0000 Received: from AM6PR03MB4519.eurprd03.prod.outlook.com ([fe80::a9e4:70ae:47f8:70f1]) by AM6PR03MB4519.eurprd03.prod.outlook.com ([fe80::a9e4:70ae:47f8:70f1%5]) with mapi id 15.20.2387.028; Thu, 31 Oct 2019 19:19:22 +0000 From: Bernd Edlinger To: Pedro Alves , Simon Marchi , "gdb-patches@sourceware.org" Subject: [PATCHv3] Make "skip" work on inline frames Date: Thu, 31 Oct 2019 19:19:00 -0000 Message-ID: References: <8fc93db4-8906-4f4e-53f4-225ebfa0115d@simark.ca> <215bbf9c-4c3c-5cd2-c657-51aa7262f234@simark.ca> In-Reply-To: x-microsoft-original-message-id: <9e010caa-37cf-996f-6ddc-d51c3092967b@hotmail.de> x-ms-exchange-purlcount: 2 x-ms-exchange-transport-forked: True Content-Type: multipart/mixed; boundary="_003_AM6PR03MB45190FCF5B3282E1D905CA9EE4630AM6PR03MB4519eurp_" MIME-Version: 1.0 X-SW-Source: 2019-10/txt/msg01189.txt.bz2 --_003_AM6PR03MB45190FCF5B3282E1D905CA9EE4630AM6PR03MB4519eurp_ Content-Type: text/plain; charset="Windows-1252" Content-ID: Content-Transfer-Encoding: quoted-printable Content-length: 1997 On 10/31/19 7:00 PM, Pedro Alves wrote: > On 10/31/19 4:53 PM, Simon Marchi wrote: >> On 2019-10-31 12:42 p.m., Pedro Alves wrote: >>> On 10/30/19 9:56 PM, Bernd Edlinger wrote: >>>> +if { [prepare_for_testing "failed to prepare" "skip2" \ >>>> + {skip2.c skip1.c } \ >>>> + {debug nowarnings optimize=3D-O2}] } { >>> >>> Instead of -O2, could you make this use -O0 (the default), >>> and then use attribute((always_inline)) to force inlining?=20 >>> We do that in some tests. E.g., gdb.opt/inline-locals.c. >> >> I think that's a good suggestion, but just be aware that there used to be >> some problems with always_inline, e.g.: >=20 > I don't think always_inline changes anything in the debug info special, > it just tells the compiler to inline the function even at -O0, which is > what we're after. >=20 >> >> https://sourceware.org/bugzilla/show_bug.cgi?id=3D13263 >=20 > This one seems to be about attribute((artificial)), and the desire > to not step into such functions automatically: >=20 > "Given that I marked the function always_inline and artificial, I > was expecting not to step into its body." >=20 >> https://sourceware.org/bugzilla/show_bug.cgi?id=3D12429 >> >=20 > This one seems like a generic inlining issue. >=20 >> I'm not sure if those are still valid. If they are, it might be more di= fficult >> that expected to use always_inline. > I don't think always_inline is anything special compared to inlining > because of -O2. >=20 > Thanks, > Pedro Alves >=20 Ah, thanks for that hint! always_inline works quite well. The debug session started (using gcc 4.8.4) with -O2 -g on the line with "{= " in main, and with -O0 -g at the first real statement, so I had to remove one step. I did not worry about it initially, but now I agree that would have caused = trouble. I attached both parts of the patch, the fist part unchanged from previous. The test case now makes sure to not repeat the names. Thanks Bernd. --_003_AM6PR03MB45190FCF5B3282E1D905CA9EE4630AM6PR03MB4519eurp_ Content-Type: text/x-patch; name="0001-Check-all-inline-frames-if-they-are-marked-for-skip.patch" Content-Description: 0001-Check-all-inline-frames-if-they-are-marked-for-skip.patch Content-Disposition: attachment; filename="0001-Check-all-inline-frames-if-they-are-marked-for-skip.patch"; size=4465; creation-date="Thu, 31 Oct 2019 19:19:21 GMT"; modification-date="Thu, 31 Oct 2019 19:19:21 GMT" Content-ID: <3CD01500828ABF4E8F8B9433C6A68DEC@eurprd03.prod.outlook.com> Content-Transfer-Encoding: base64 Content-length: 6056 RnJvbSBmYTAwYjE4OTBlNTI1YjRlOGU5YTgzOTdiZGRmYTk5NjNjMjUzMDgw IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBCZXJuZCBFZGxpbmdl ciA8YmVybmQuZWRsaW5nZXJAaG90bWFpbC5kZT4KRGF0ZTogRnJpLCAxOCBP Y3QgMjAxOSAxNDoyODo0NSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMS8yXSBD aGVjayBhbGwgaW5saW5lIGZyYW1lcyBpZiB0aGV5IGFyZSBtYXJrZWQgZm9y IHNraXAuCgpUaGlzIG1ha2VzIHRoZSBza2lwIGNvbW1hbmQgd29yayBpbiBv cHRpbWl6ZWQgYnVpbGRzLAp3aGVyZSBza2lwcGVkIGZ1bmN0aW9ucyBtYXkg YmUgaW5saW5lZC4KUHJldmlvdXNseSB0aGF0IHdhcyBvbmx5IHdvcmtpbmcg d2hlbiBzdGVwcGluZyBpbnRvCmEgbm9uLWlubGluZWQgZnVuY3Rpb24uCi0t LQogZ2RiL2luZmNtZC5jIHwgMjAgKysrKysrKysrKysrKysrKysrLS0KIGdk Yi9pbmZydW4uYyB8IDU0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKy0tLQogMiBmaWxlcyBjaGFuZ2VkLCA2 OSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2dkYi9pbmZjbWQuYyBiL2dkYi9pbmZjbWQuYwppbmRleCA3MTA1Nzc0Li5m NGMxODNjIDEwMDY0NAotLS0gYS9nZGIvaW5mY21kLmMKKysrIGIvZ2RiL2lu ZmNtZC5jCkBAIC01OCw2ICs1OCw3IEBACiAjaW5jbHVkZSAidGhyZWFkLWZz bS5oIgogI2luY2x1ZGUgInRvcC5oIgogI2luY2x1ZGUgImludGVycHMuaCIK KyNpbmNsdWRlICJza2lwLmgiCiAjaW5jbHVkZSAiZ2Ric3VwcG9ydC9nZGJf b3B0aW9uYWwuaCIKICNpbmNsdWRlICJzb3VyY2UuaCIKICNpbmNsdWRlICJj bGkvY2xpLXN0eWxlLmgiCkBAIC0xMTEyLDE0ICsxMTEzLDI5IEBAIHByZXBh cmVfb25lX3N0ZXAgKHN0cnVjdCBzdGVwX2NvbW1hbmRfZnNtICpzbSkKIAkg ICAgICAmJiBpbmxpbmVfc2tpcHBlZF9mcmFtZXMgKHRwKSkKIAkgICAgewog CSAgICAgIHB0aWRfdCByZXN1bWVfcHRpZDsKKwkgICAgICBjb25zdCBjaGFy ICpmbiA9IE5VTEw7CisJICAgICAgc3ltdGFiX2FuZF9saW5lIHNhbDsKKwkg ICAgICBzdHJ1Y3Qgc3ltYm9sICpzeW07CiAKIAkgICAgICAvKiBQcmV0ZW5k IHRoYXQgd2UndmUgcmFuLiAgKi8KIAkgICAgICByZXN1bWVfcHRpZCA9IHVz ZXJfdmlzaWJsZV9yZXN1bWVfcHRpZCAoMSk7CiAJICAgICAgc2V0X3J1bm5p bmcgKHJlc3VtZV9wdGlkLCAxKTsKIAogCSAgICAgIHN0ZXBfaW50b19pbmxp bmVfZnJhbWUgKHRwKTsKLQkgICAgICBzbS0+Y291bnQtLTsKLQkgICAgICBy ZXR1cm4gcHJlcGFyZV9vbmVfc3RlcCAoc20pOworCisJICAgICAgZnJhbWUg PSBnZXRfY3VycmVudF9mcmFtZSAoKTsKKwkgICAgICBzYWwgPSBmaW5kX2Zy YW1lX3NhbCAoZnJhbWUpOworCSAgICAgIHN5bSA9IGdldF9mcmFtZV9mdW5j dGlvbiAoZnJhbWUpOworCisJICAgICAgaWYgKHN5bSAhPSBOVUxMKQorCQlm biA9IFNZTUJPTF9QUklOVF9OQU1FIChzeW0pOworCisJICAgICAgaWYgKHNh bC5saW5lID09IDAKKwkJICB8fCAhZnVuY3Rpb25fbmFtZV9pc19tYXJrZWRf Zm9yX3NraXAgKGZuLCBzYWwpKQorCQl7CisJCSAgc20tPmNvdW50LS07CisJ CSAgcmV0dXJuIHByZXBhcmVfb25lX3N0ZXAgKHNtKTsKKwkJfQogCSAgICB9 CiAKIAkgIHBjID0gZ2V0X2ZyYW1lX3BjIChmcmFtZSk7CmRpZmYgLS1naXQg YS9nZGIvaW5mcnVuLmMgYi9nZGIvaW5mcnVuLmMKaW5kZXggMDdhZWJmYS4u MDRjMWVlZSAxMDA2NDQKLS0tIGEvZ2RiL2luZnJ1bi5jCisrKyBiL2dkYi9p bmZydW4uYwpAQCAtNDA0MSw2ICs0MDQxLDQ1IEBAIHN0ZXBwZWRfaW5fZnJv bSAoc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lLCBzdHJ1Y3QgZnJhbWVfaWQg c3RlcF9mcmFtZV9pZCkKICAgcmV0dXJuIDA7CiB9CiAKKy8qIExvb2sgZm9y IGFuIGlubGluZSBmcmFtZSB0aGF0IGlzIG1hcmtlZCBmb3Igc2tpcC4KKyAg IElmIFBSRVZfRlJBTUUgaXMgVFJVRSBzdGFydCBhdCB0aGUgcHJldmlvdXMg ZnJhbWUsCisgICBvdGhlcndpc2Ugc3RhcnQgYXQgdGhlIGN1cnJlbnQgZnJh bWUuICBTdG9wIGF0IHRoZQorICAgZmlyc3Qgbm9uLWlubGluZSBmcmFtZSwg b3IgYXQgdGhlIGZyYW1lIHdoZXJlIHRoZQorICAgc3RlcCBzdGFydGVkLiAg Ki8KKworc3RhdGljIGJvb2wKK2lubGluZV9mcmFtZV9pc19tYXJrZWRfZm9y X3NraXAgKGJvb2wgcHJldl9mcmFtZSwgc3RydWN0IHRocmVhZF9pbmZvICp0 cCkKK3sKKyAgc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lID0gZ2V0X2N1cnJl bnRfZnJhbWUgKCk7CisKKyAgaWYgKHByZXZfZnJhbWUpCisgICAgZnJhbWUg PSBnZXRfcHJldl9mcmFtZSAoZnJhbWUpOworCisgIGZvciAoOyBmcmFtZSAh PSBOVUxMOyBmcmFtZSA9IGdldF9wcmV2X2ZyYW1lIChmcmFtZSkpCisgICAg eworICAgICAgY29uc3QgY2hhciAqZm4gPSBOVUxMOworICAgICAgc3ltdGFi X2FuZF9saW5lIHNhbDsKKyAgICAgIHN0cnVjdCBzeW1ib2wgKnN5bTsKKwor ICAgICAgaWYgKGZyYW1lX2lkX2VxIChnZXRfZnJhbWVfaWQgKGZyYW1lKSwg dHAtPmNvbnRyb2wuc3RlcF9mcmFtZV9pZCkpCisJYnJlYWs7CisgICAgICBp ZiAoZ2V0X2ZyYW1lX3R5cGUgKGZyYW1lKSAhPSBJTkxJTkVfRlJBTUUpCisJ YnJlYWs7CisKKyAgICAgIHNhbCA9IGZpbmRfZnJhbWVfc2FsIChmcmFtZSk7 CisgICAgICBzeW0gPSBnZXRfZnJhbWVfZnVuY3Rpb24gKGZyYW1lKTsKKwor ICAgICAgaWYgKHN5bSAhPSBOVUxMKQorCWZuID0gU1lNQk9MX1BSSU5UX05B TUUgKHN5bSk7CisKKyAgICAgIGlmIChzYWwubGluZSAhPSAwCisJICAmJiBm dW5jdGlvbl9uYW1lX2lzX21hcmtlZF9mb3Jfc2tpcCAoZm4sIHNhbCkpCisJ cmV0dXJuIHRydWU7CisgICAgfQorCisgIHJldHVybiBmYWxzZTsKK30KKwog LyogSWYgdGhlIGV2ZW50IHRocmVhZCBoYXMgdGhlIHN0b3AgcmVxdWVzdGVk IGZsYWcgc2V0LCBwcmV0ZW5kIGl0CiAgICBzdG9wcGVkIGZvciBhIEdEQl9T SUdOQUxfMCAoaS5lLiwgYXMgaWYgaXQgc3RvcHBlZCBkdWUgdG8KICAgIHRh cmdldF9zdG9wKS4gICovCkBAIC02NTMxLDcgKzY1NzAsOCBAQCBwcm9jZXNz X2V2ZW50X3N0b3BfdGVzdCAoc3RydWN0IGV4ZWN1dGlvbl9jb250cm9sX3N0 YXRlICplY3MpCiAJdG1wX3NhbCA9IGZpbmRfcGNfbGluZSAoZWNzLT5zdG9w X2Z1bmNfc3RhcnQsIDApOwogCWlmICh0bXBfc2FsLmxpbmUgIT0gMAogCSAg ICAmJiAhZnVuY3Rpb25fbmFtZV9pc19tYXJrZWRfZm9yX3NraXAgKGVjcy0+ c3RvcF9mdW5jX25hbWUsCi0JCQkJCQkgIHRtcF9zYWwpKQorCQkJCQkJICB0 bXBfc2FsKQorCSAgICAmJiAhaW5saW5lX2ZyYW1lX2lzX21hcmtlZF9mb3Jf c2tpcCAodHJ1ZSwgZWNzLT5ldmVudF90aHJlYWQpKQogCSAgewogCSAgICBp ZiAoZXhlY3V0aW9uX2RpcmVjdGlvbiA9PSBFWEVDX1JFVkVSU0UpCiAJICAg ICAgaGFuZGxlX3N0ZXBfaW50b19mdW5jdGlvbl9iYWNrd2FyZCAoZ2RiYXJj aCwgZWNzKTsKQEAgLTY2OTcsNyArNjczNywxNCBAQCBwcm9jZXNzX2V2ZW50 X3N0b3BfdGVzdCAoc3RydWN0IGV4ZWN1dGlvbl9jb250cm9sX3N0YXRlICpl Y3MpCiAKIAkgIGlmIChjYWxsX3NhbC5saW5lID09IGVjcy0+ZXZlbnRfdGhy ZWFkLT5jdXJyZW50X2xpbmUKIAkgICAgICAmJiBjYWxsX3NhbC5zeW10YWIg PT0gZWNzLT5ldmVudF90aHJlYWQtPmN1cnJlbnRfc3ltdGFiKQotCSAgICBz dGVwX2ludG9faW5saW5lX2ZyYW1lIChlY3MtPmV2ZW50X3RocmVhZCk7CisJ ICAgIHsKKwkgICAgICBzdGVwX2ludG9faW5saW5lX2ZyYW1lIChlY3MtPmV2 ZW50X3RocmVhZCk7CisJICAgICAgaWYgKGlubGluZV9mcmFtZV9pc19tYXJr ZWRfZm9yX3NraXAgKGZhbHNlLCBlY3MtPmV2ZW50X3RocmVhZCkpCisJCXsK KwkJICBrZWVwX2dvaW5nIChlY3MpOworCQkgIHJldHVybjsKKwkJfQorCSAg ICB9CiAKIAkgIGVuZF9zdGVwcGluZ19yYW5nZSAoZWNzKTsKIAkgIHJldHVy bjsKQEAgLTY3MzEsNyArNjc3OCw4IEBAIHByb2Nlc3NfZXZlbnRfc3RvcF90 ZXN0IChzdHJ1Y3QgZXhlY3V0aW9uX2NvbnRyb2xfc3RhdGUgKmVjcykKIAlm cHJpbnRmX3VuZmlsdGVyZWQgKGdkYl9zdGRsb2csCiAJCQkgICAgImluZnJ1 bjogc3RlcHBpbmcgdGhyb3VnaCBpbmxpbmVkIGZ1bmN0aW9uXG4iKTsKIAot ICAgICAgaWYgKGVjcy0+ZXZlbnRfdGhyZWFkLT5jb250cm9sLnN0ZXBfb3Zl cl9jYWxscyA9PSBTVEVQX09WRVJfQUxMKQorICAgICAgaWYgKGVjcy0+ZXZl bnRfdGhyZWFkLT5jb250cm9sLnN0ZXBfb3Zlcl9jYWxscyA9PSBTVEVQX09W RVJfQUxMCisJICB8fCBpbmxpbmVfZnJhbWVfaXNfbWFya2VkX2Zvcl9za2lw IChmYWxzZSwgZWNzLT5ldmVudF90aHJlYWQpKQogCWtlZXBfZ29pbmcgKGVj cyk7CiAgICAgICBlbHNlCiAJZW5kX3N0ZXBwaW5nX3JhbmdlIChlY3MpOwot LSAKMS45LjEKCg== --_003_AM6PR03MB45190FCF5B3282E1D905CA9EE4630AM6PR03MB4519eurp_ Content-Type: text/x-patch; name="0002-Add-a-test-case-for-skip-with-inlined-functions.patch" Content-Description: 0002-Add-a-test-case-for-skip-with-inlined-functions.patch Content-Disposition: attachment; filename="0002-Add-a-test-case-for-skip-with-inlined-functions.patch"; size=5381; creation-date="Thu, 31 Oct 2019 19:19:21 GMT"; modification-date="Thu, 31 Oct 2019 19:19:21 GMT" Content-ID: <7C321882ED98244AB286988184FB1CF8@eurprd03.prod.outlook.com> Content-Transfer-Encoding: base64 Content-length: 7296 RnJvbSBkOGZjMTJkZTU5YzQ3Yzk0ZWY0MmY5MWUwNzkzNTU0ZGYxZTRkNzE0 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBCZXJuZCBFZGxpbmdl ciA8YmVybmQuZWRsaW5nZXJAaG90bWFpbC5kZT4KRGF0ZTogV2VkLCAzMCBP Y3QgMjAxOSAyMTozNToyMiArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMi8yXSBB ZGQgYSB0ZXN0IGNhc2UgZm9yIHNraXAgd2l0aCBpbmxpbmVkIGZ1bmN0aW9u cwoKLS0tCiBnZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3NraXAyLmMgICB8IDY0 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBnZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL3NraXAyLmV4cCB8IDgwICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgMTQ0 IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL3NraXAyLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIv dGVzdHN1aXRlL2dkYi5iYXNlL3NraXAyLmV4cAoKZGlmZiAtLWdpdCBhL2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc2tpcDIuYyBiL2dkYi90ZXN0c3VpdGUv Z2RiLmJhc2Uvc2tpcDIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwLi5kMWFiZDQ1Ci0tLSAvZGV2L251bGwKKysrIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS9za2lwMi5jCkBAIC0wLDAgKzEsNjQgQEAKKy8qIFRo aXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIu CisKKyAgIENvcHlyaWdodCAyMDE5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlv biwgSW5jLgorCisgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsg eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICAgaXQg dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9y CisgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCisg ICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh dCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJS QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisg ICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UuICBTZWUgdGhlCisgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICBZb3Ugc2hvdWxkIGhhdmUg cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZQorICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNl ZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLworCisjaW5j bHVkZSA8c3RkbGliLmg+CisKK2ludCBiYXIgKHZvaWQpOworaW50IGJheiAo aW50KTsKK3ZvaWQgc2tpcDFfdGVzdF9za2lwX2ZpbGVfYW5kX2Z1bmN0aW9u ICh2b2lkKTsKK3ZvaWQgdGVzdF9za2lwX2ZpbGVfYW5kX2Z1bmN0aW9uICh2 b2lkKTsKKworX19hdHRyaWJ1dGVfXygoX19hbHdheXNfaW5saW5lX18pKSBz dGF0aWMgaW5saW5lIGludAorZm9vICh2b2lkKQoreworICByZXR1cm4gYmFy ICgpOworfQorCitpbnQKK21haW4gKCkKK3sKKyAgdm9sYXRpbGUgaW50IHg7 CisKKyAgLyogc3RlcCBpbW1lZGlhdGVseSBpbnRvIHRoZSBpbmxpbmVkIGNv ZGUgKi8KKyAgeCA9IGJheiAoZm9vICgpKTsKKworICAvKiBzdGVwIGZpcnN0 IG92ZXIgbm9uLWlubGluZSBjb2RlLCB0aGlzIGludm9sdmVzIGEgZGlmZmVy ZW50IGNvZGUgcGF0aCAqLworICB4ID0gMDsgeCA9IGJheiAoZm9vICgpKTsK KworICB0ZXN0X3NraXBfZmlsZV9hbmRfZnVuY3Rpb24gKCk7CisKKyAgcmV0 dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkCit0ZXN0X3NraXAgKHZvaWQpCit7 Cit9CisKK3N0YXRpYyB2b2lkCitlbmRfdGVzdF9za2lwX2ZpbGVfYW5kX2Z1 bmN0aW9uICh2b2lkKQoreworICBhYm9ydCAoKTsKK30KKwordm9pZAordGVz dF9za2lwX2ZpbGVfYW5kX2Z1bmN0aW9uICh2b2lkKQoreworICB0ZXN0X3Nr aXAgKCk7CisgIHNraXAxX3Rlc3Rfc2tpcF9maWxlX2FuZF9mdW5jdGlvbiAo KTsKKyAgZW5kX3Rlc3Rfc2tpcF9maWxlX2FuZF9mdW5jdGlvbiAoKTsKK30K ZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc2tpcDIuZXhw IGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9za2lwMi5leHAKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTU5ZGQwZgotLS0gL2Rldi9u dWxsCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc2tpcDIuZXhwCkBA IC0wLDAgKzEsODAgQEAKKyMgICBDb3B5cmlnaHQgMjAxOSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4KKworIyBUaGlzIHByb2dyYW0gaXMgZnJl ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1v ZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBM aWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz aW9uLgorIworIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhl IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQg QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu dHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIyBZb3Ugc2hvdWxk IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZQorIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5v dCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKworbG9h ZF9saWIgY29tcGxldGlvbi1zdXBwb3J0LmV4cAorCitzdGFuZGFyZF90ZXN0 ZmlsZQorCitpZiB7IFtwcmVwYXJlX2Zvcl90ZXN0aW5nICJmYWlsZWQgdG8g cHJlcGFyZSIgInNraXAyIiBcCisgICAgICAgICAgICAgICAgICAgICAgICAg IHtza2lwMi5jIHNraXAxLmMgfSBcCisgICAgICAgICAgICAgICAgICAgICAg ICAgIHtkZWJ1ZyBub3dhcm5pbmdzfV0gfSB7CisgICAgcmV0dXJuIC0xCit9 CisKK3NldCBzcmNmaWxlIHNraXAyLmMKK3NldCBzcmNmaWxlMSBza2lwMS5j CisKK2lmICFbcnVudG9fbWFpbl0geworICAgIGZhaWwgImNhbid0IHJ1biB0 byBtYWluIgorICAgIHJldHVybgorfQorCisjIENyZWF0ZSBhIHNraXBsaXN0 IGVudHJ5IGZvciBhIHNwZWNpZmllZCBmaWxlIGFuZCBmdW5jdGlvbi4KKwor Z2RiX3Rlc3QgInNraXAgZnVuY3Rpb24gZm9vIiAiRnVuY3Rpb24gZm9vIHdp bGwgYmUgc2tpcHBlZCB3aGVuIHN0ZXBwaW5nXC4iCisKK2dkYl90ZXN0ICJi dCIgIlxccypcXCMwXFxzK21haW4uKiIgImluIHRoZSBtYWluIgorZ2RiX3Rl c3QgInN0ZXAiICIuKiIgInN0ZXAgaW50byBiYXosIHNpbmNlIGZvbyB3aWxs IGJlIHNraXBwZWQiCitnZGJfdGVzdCAiYnQiICJcXHMqXFwjMFxccytiYXou KiIgImluIHRoZSBiYXosIHNpbmNlIGZvbyB3YXMgc2tpcHBlZCIKK2dkYl90 ZXN0ICJzdGVwIiAiLioiICJzdGVwIGluIHRoZSBiYXoiCitnZGJfdGVzdCAi YnQiICJcXHMqXFwjMFxccytiYXouKiIgInN0aWxsIGluIHRoZSBiYXoiCitn ZGJfdGVzdCAic3RlcCIgIi4qIiAic3RlcCBiYWNrIHRvIG1haW4iCitnZGJf dGVzdCAiYnQiICJcXHMqXFwjMFxccyttYWluLioiICJhZ2FpbiBpbiB0aGUg bWFpbiIKK2dkYl90ZXN0ICJzdGVwIiAiLioiICJzdGVwIGFnYWluIGludG8g YmF6LCBzaW5jZSBmb28gd2lsbCBiZSBza2lwcGVkIgorZ2RiX3Rlc3QgImJ0 IiAiXFxzKlxcIzBcXHMrYmF6LioiICJhZ2FpbiBpbiB0aGUgYmF6IgorZ2Ri X3Rlc3QgInN0ZXAiICIuKiIgInN0ZXAgaW4gdGhlIGJheiwgYWdhaW4iCitn ZGJfdGVzdCAiYnQiICJcXHMqXFwjMFxccytiYXouKiIgInN0aWxsIGluIHRo ZSBiYXosIGFnYWluIgorZ2RiX3Rlc3QgInN0ZXAiICIuKiIgInN0ZXAgYmFj ayB0byBtYWluLCBhZ2FpbiIKK2dkYl90ZXN0ICJidCIgIlxccypcXCMwXFxz K21haW4uKiIgImFnYWluIGJhY2sgdG8gbWFpbiIKKworaWYgIVtydW50b19t YWluXSB7CisgICAgZmFpbCAiY2FuJ3QgcnVuIHRvIG1haW4iCisgICAgcmV0 dXJuCit9CisKK3dpdGhfdGVzdF9wcmVmaXggImRvdWJsZSBzdGVwIiB7Cisg ICAgZ2RiX3Rlc3QgImJ0IiAiXFxzKlxcIzBcXHMrbWFpbi4qIiAiaW4gdGhl IG1haW4iCisgICAgZ2RiX3Rlc3QgInN0ZXAgMiIgIi4qIiAic3RlcCBpbnRv IGJheiwgc2luY2UgZm9vIHdpbGwgYmUgc2tpcHBlZCIKKyAgICBnZGJfdGVz dCAiYnQiICJcXHMqXFwjMFxccytiYXouKiIgInN0aWxsIGluIHRoZSBiYXoi CisgICAgZ2RiX3Rlc3QgInN0ZXAiICIuKiIgInN0ZXAgYmFjayB0byBtYWlu IgorICAgIGdkYl90ZXN0ICJidCIgIlxccypcXCMwXFxzK21haW4uKiIgImFn YWluIGluIHRoZSBtYWluIgorICAgIGdkYl90ZXN0ICJzdGVwIDIiICIuKiIg InN0ZXAgYWdhaW4gaW50byBiYXosIHNpbmNlIGZvbyB3aWxsIGJlIHNraXBw ZWQiCisgICAgZ2RiX3Rlc3QgImJ0IiAiXFxzKlxcIzBcXHMrYmF6LioiICJh Z2FpbiBpbiB0aGUgYmF6IgorICAgIGdkYl90ZXN0ICJzdGVwIiAiLioiICJz dGVwIGJhY2sgdG8gbWFpbiwgYWdhaW4iCisgICAgZ2RiX3Rlc3QgImJ0IiAi XFxzKlxcIzBcXHMrbWFpbi4qIiAiYWdhaW4gYmFjayB0byBtYWluIgorfQor CitpZiAhW3J1bnRvX21haW5dIHsKKyAgICBmYWlsICJjYW4ndCBydW4gdG8g bWFpbiIKKyAgICByZXR1cm4KK30KKword2l0aF90ZXN0X3ByZWZpeCAidHJp cGxlIHN0ZXAiIHsKKyAgICBnZGJfdGVzdCAiYnQiICJcXHMqXFwjMFxccytt YWluLioiICJpbiB0aGUgbWFpbiIKKyAgICBnZGJfdGVzdCAic3RlcCAzIiAi LioiICJzdGVwIG92ZXIgYmF6IgorICAgIGdkYl90ZXN0ICJidCIgIlxccypc XCMwXFxzK21haW4uKiIgImFnYWluIGluIHRoZSBtYWluIgorICAgIGdkYl90 ZXN0ICJzdGVwIDMiICIuKiIgInN0ZXAgb3ZlciBiYXosIGFnYWluIgorICAg IGdkYl90ZXN0ICJidCIgIlxccypcXCMwXFxzK21haW4uKiIgImFnYWluIGJh Y2sgdG8gbWFpbiIKK30KLS0gCjEuOS4xCgo= --_003_AM6PR03MB45190FCF5B3282E1D905CA9EE4630AM6PR03MB4519eurp_--