From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3248 invoked by alias); 24 Nov 2019 11:22:19 -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 3238 invoked by uid 89); 24 Nov 2019 11:22:19 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-16.7 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=sk:SYMBOL_, gdbopt, UD:gdb.opt, gdb.opt X-HELO: EUR01-DB5-obe.outbound.protection.outlook.com Received: from mail-oln040092064066.outbound.protection.outlook.com (HELO EUR01-DB5-obe.outbound.protection.outlook.com) (40.92.64.66) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sun, 24 Nov 2019 11:22:16 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fQoavy4MxwIXEiRehWycLF+L1ZY1+vISzWc7KkIvGH3YlwE08YmeCM5B8qrZrWdXyqiyo4yWp2mQx3ojAbUc6vJl8v3fpcgok7UdkoHApqqW7m0Hh59TMW6ED6Xbs5J8O4MAgqhmVNEsEEFKw+HCsk3vBAEK2/FD/cpkZwKNojVe9ikkPnsY9VaNf8kQxH2tGWVvOwC+HfuMm8QA0uR+gSPhUi8t2wB71ZgEI/Wl3dwazrUcjdljY9FVoE5vuJw59YVXGt6VL60foEuzWOpnQAeb+qvjTCi/bu4gs/ce65GjBmYWrKPd/9scIZkqxciuMuv20ey358X7F1wV8KxWwQ== 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=vuSTqMeoTHrC5l3t7VlRmfR8nGWq62PTVyLyFgC0Uwg=; b=F8yCsvkxv5XdCP3quFuM63DWSyV7qdlD9pnEcD8pq0xZ2Ef2U6EXPRJ+GkS6vd8I01NHmGkvCKH7VuflEGJ6LbJmwxYLLJrUNYZPxQB3FvMo2WnetE1yd155M9b6xcvCtzPB811JuZGt/kNLqsmbyG6ia6hFmYLu2qVVVK4DkXoGEnwe2qeMtu+yjF1BbVE9KtLnOz3ngj4PusHQDeqi9+3hmHh78YAo3rLvvE8yUe8JVIYvfF8pGzOcf6G/juSQZkS4mphZSo+v/NE+CAEVB1owSkqvWIwEfaZDSkBINIvQ2H7TnOOVgUPWrCGEtyX5wI4/+uMCMHk4bpSsSR7oKg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none Received: from DB5EUR01FT015.eop-EUR01.prod.protection.outlook.com (10.152.4.53) by DB5EUR01HT092.eop-EUR01.prod.protection.outlook.com (10.152.5.52) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2474.17; Sun, 24 Nov 2019 11:22:13 +0000 Received: from VI1PR03MB4528.eurprd03.prod.outlook.com (10.152.4.55) by DB5EUR01FT015.mail.protection.outlook.com (10.152.5.0) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2474.17 via Frontend Transport; Sun, 24 Nov 2019 11:22:13 +0000 Received: from VI1PR03MB4528.eurprd03.prod.outlook.com ([fe80::49b8:a7e6:9f6f:862d]) by VI1PR03MB4528.eurprd03.prod.outlook.com ([fe80::49b8:a7e6:9f6f:862d%3]) with mapi id 15.20.2474.023; Sun, 24 Nov 2019 11:22:12 +0000 From: Bernd Edlinger To: Pedro Alves , Simon Marchi , "gdb-patches@sourceware.org" Subject: [PATCHv4] Make "skip" work on inline frames Date: Sun, 24 Nov 2019 11:22: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: <5767c6e6-f1d7-6a13-e48f-52fc3029d771@hotmail.de> x-ms-exchange-purlcount: 2 x-ms-exchange-transport-forked: True Content-Type: multipart/mixed; boundary="_003_VI1PR03MB45287E5B07A2E14ACFD07559E44B0VI1PR03MB4528eurp_" MIME-Version: 1.0 X-SW-Source: 2019-11/txt/msg00790.txt.bz2 --_003_VI1PR03MB45287E5B07A2E14ACFD07559E44B0VI1PR03MB4528eurp_ Content-Type: text/plain; charset="Windows-1252" Content-ID: Content-Transfer-Encoding: quoted-printable Content-length: 2325 This is just a minor update on the patch since the function SYMBOL_PRINT_NAME was removed with commit 987012b89bce7f6385ed88585547f852a8005a3f I replaced it with sym->print_name (), otherwise the patch is unchanged. On 10/31/19 8:19 PM, Bernd Edlinger wrote: > 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.: >> >> 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. >> >>> >>> https://sourceware.org/bugzilla/show_bug.cgi?id=3D13263 >> >> This one seems to be about attribute((artificial)), and the desire >> to not step into such functions automatically: >> >> "Given that I marked the function always_inline and artificial, I >> was expecting not to step into its body." >> >>> https://sourceware.org/bugzilla/show_bug.cgi?id=3D12429 >>> >> >> This one seems like a generic inlining issue. >> >>> I'm not sure if those are still valid. If they are, it might be more d= ifficult >>> that expected to use always_inline. >> I don't think always_inline is anything special compared to inlining >> because of -O2. >> >> Thanks, >> Pedro Alves >> >=20 > Ah, thanks for that hint! >=20 > always_inline works quite well. >=20 > 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 cause= d trouble. >=20 >=20 > I attached both parts of the patch, the fist part unchanged from previous. > The test case now makes sure to not repeat the names. >=20 >=20 > Thanks > Bernd. >=20 --_003_VI1PR03MB45287E5B07A2E14ACFD07559E44B0VI1PR03MB4528eurp_ 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=4454; creation-date="Sun, 24 Nov 2019 11:22:12 GMT"; modification-date="Sun, 24 Nov 2019 11:22:12 GMT" Content-ID: Content-Transfer-Encoding: base64 Content-length: 6039 RnJvbSBmYWRlMDhiZWUzYjEwZWE0MTJmNGExMWM1ODhiMjE5ZTFmYmZmYzYz IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBCZXJuZCBFZGxpbmdl ciA8YmVybmQuZWRsaW5nZXJAaG90bWFpbC5kZT4KRGF0ZTogRnJpLCAxOCBP Y3QgMjAxOSAxNDoyODo0NSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMS8yXSBD aGVjayBhbGwgaW5saW5lIGZyYW1lcyBpZiB0aGV5IGFyZSBtYXJrZWQgZm9y IHNraXAKClRoaXMgbWFrZXMgdGhlIHNraXAgY29tbWFuZCB3b3JrIGluIG9w dGltaXplZCBidWlsZHMsCndoZXJlIHNraXBwZWQgZnVuY3Rpb25zIG1heSBi ZSBpbmxpbmVkLgpQcmV2aW91c2x5IHRoYXQgd2FzIG9ubHkgd29ya2luZyB3 aGVuIHN0ZXBwaW5nIGludG8KYSBub24taW5saW5lZCBmdW5jdGlvbi4KLS0t CiBnZGIvaW5mY21kLmMgfCAyMCArKysrKysrKysrKysrKysrKystLQogZ2Ri L2luZnJ1bi5jIHwgNTQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDY5 IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv Z2RiL2luZmNtZC5jIGIvZ2RiL2luZmNtZC5jCmluZGV4IDJhMjUzNDYuLmFm NjZlYWYgMTAwNjQ0Ci0tLSBhL2dkYi9pbmZjbWQuYworKysgYi9nZGIvaW5m Y21kLmMKQEAgLTUyLDYgKzUyLDcgQEAKICNpbmNsdWRlICJ0aHJlYWQtZnNt LmgiCiAjaW5jbHVkZSAidG9wLmgiCiAjaW5jbHVkZSAiaW50ZXJwcy5oIgor I2luY2x1ZGUgInNraXAuaCIKICNpbmNsdWRlICJnZGJzdXBwb3J0L2dkYl9v cHRpb25hbC5oIgogI2luY2x1ZGUgInNvdXJjZS5oIgogI2luY2x1ZGUgImNs aS9jbGktc3R5bGUuaCIKQEAgLTExMDYsMTQgKzExMDcsMjkgQEAgcHJlcGFy ZV9vbmVfc3RlcCAoc3RydWN0IHN0ZXBfY29tbWFuZF9mc20gKnNtKQogCSAg ICAgICYmIGlubGluZV9za2lwcGVkX2ZyYW1lcyAodHApKQogCSAgICB7CiAJ ICAgICAgcHRpZF90IHJlc3VtZV9wdGlkOworCSAgICAgIGNvbnN0IGNoYXIg KmZuID0gTlVMTDsKKwkgICAgICBzeW10YWJfYW5kX2xpbmUgc2FsOworCSAg ICAgIHN0cnVjdCBzeW1ib2wgKnN5bTsKIAogCSAgICAgIC8qIFByZXRlbmQg dGhhdCB3ZSd2ZSByYW4uICAqLwogCSAgICAgIHJlc3VtZV9wdGlkID0gdXNl cl92aXNpYmxlX3Jlc3VtZV9wdGlkICgxKTsKIAkgICAgICBzZXRfcnVubmlu ZyAocmVzdW1lX3B0aWQsIDEpOwogCiAJICAgICAgc3RlcF9pbnRvX2lubGlu ZV9mcmFtZSAodHApOwotCSAgICAgIHNtLT5jb3VudC0tOwotCSAgICAgIHJl dHVybiBwcmVwYXJlX29uZV9zdGVwIChzbSk7CisKKwkgICAgICBmcmFtZSA9 IGdldF9jdXJyZW50X2ZyYW1lICgpOworCSAgICAgIHNhbCA9IGZpbmRfZnJh bWVfc2FsIChmcmFtZSk7CisJICAgICAgc3ltID0gZ2V0X2ZyYW1lX2Z1bmN0 aW9uIChmcmFtZSk7CisKKwkgICAgICBpZiAoc3ltICE9IE5VTEwpCisJCWZu ID0gc3ltLT5wcmludF9uYW1lICgpOworCisJICAgICAgaWYgKHNhbC5saW5l ID09IDAKKwkJICB8fCAhZnVuY3Rpb25fbmFtZV9pc19tYXJrZWRfZm9yX3Nr aXAgKGZuLCBzYWwpKQorCQl7CisJCSAgc20tPmNvdW50LS07CisJCSAgcmV0 dXJuIHByZXBhcmVfb25lX3N0ZXAgKHNtKTsKKwkJfQogCSAgICB9CiAKIAkg IHBjID0gZ2V0X2ZyYW1lX3BjIChmcmFtZSk7CmRpZmYgLS1naXQgYS9nZGIv aW5mcnVuLmMgYi9nZGIvaW5mcnVuLmMKaW5kZXggMzcxODY3NC4uYWI1MzA2 YSAxMDA2NDQKLS0tIGEvZ2RiL2luZnJ1bi5jCisrKyBiL2dkYi9pbmZydW4u YwpAQCAtNDAzNSw2ICs0MDM1LDQ1IEBAIHN0ZXBwZWRfaW5fZnJvbSAoc3Ry dWN0IGZyYW1lX2luZm8gKmZyYW1lLCBzdHJ1Y3QgZnJhbWVfaWQgc3RlcF9m cmFtZV9pZCkKICAgcmV0dXJuIDA7CiB9CiAKKy8qIExvb2sgZm9yIGFuIGlu bGluZSBmcmFtZSB0aGF0IGlzIG1hcmtlZCBmb3Igc2tpcC4KKyAgIElmIFBS RVZfRlJBTUUgaXMgVFJVRSBzdGFydCBhdCB0aGUgcHJldmlvdXMgZnJhbWUs CisgICBvdGhlcndpc2Ugc3RhcnQgYXQgdGhlIGN1cnJlbnQgZnJhbWUuICBT dG9wIGF0IHRoZQorICAgZmlyc3Qgbm9uLWlubGluZSBmcmFtZSwgb3IgYXQg dGhlIGZyYW1lIHdoZXJlIHRoZQorICAgc3RlcCBzdGFydGVkLiAgKi8KKwor c3RhdGljIGJvb2wKK2lubGluZV9mcmFtZV9pc19tYXJrZWRfZm9yX3NraXAg KGJvb2wgcHJldl9mcmFtZSwgc3RydWN0IHRocmVhZF9pbmZvICp0cCkKK3sK KyAgc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lID0gZ2V0X2N1cnJlbnRfZnJh bWUgKCk7CisKKyAgaWYgKHByZXZfZnJhbWUpCisgICAgZnJhbWUgPSBnZXRf cHJldl9mcmFtZSAoZnJhbWUpOworCisgIGZvciAoOyBmcmFtZSAhPSBOVUxM OyBmcmFtZSA9IGdldF9wcmV2X2ZyYW1lIChmcmFtZSkpCisgICAgeworICAg ICAgY29uc3QgY2hhciAqZm4gPSBOVUxMOworICAgICAgc3ltdGFiX2FuZF9s aW5lIHNhbDsKKyAgICAgIHN0cnVjdCBzeW1ib2wgKnN5bTsKKworICAgICAg aWYgKGZyYW1lX2lkX2VxIChnZXRfZnJhbWVfaWQgKGZyYW1lKSwgdHAtPmNv bnRyb2wuc3RlcF9mcmFtZV9pZCkpCisJYnJlYWs7CisgICAgICBpZiAoZ2V0 X2ZyYW1lX3R5cGUgKGZyYW1lKSAhPSBJTkxJTkVfRlJBTUUpCisJYnJlYWs7 CisKKyAgICAgIHNhbCA9IGZpbmRfZnJhbWVfc2FsIChmcmFtZSk7CisgICAg ICBzeW0gPSBnZXRfZnJhbWVfZnVuY3Rpb24gKGZyYW1lKTsKKworICAgICAg aWYgKHN5bSAhPSBOVUxMKQorCWZuID0gc3ltLT5wcmludF9uYW1lICgpOwor CisgICAgICBpZiAoc2FsLmxpbmUgIT0gMAorCSAgJiYgZnVuY3Rpb25fbmFt ZV9pc19tYXJrZWRfZm9yX3NraXAgKGZuLCBzYWwpKQorCXJldHVybiB0cnVl OworICAgIH0KKworICByZXR1cm4gZmFsc2U7Cit9CisKIC8qIElmIHRoZSBl dmVudCB0aHJlYWQgaGFzIHRoZSBzdG9wIHJlcXVlc3RlZCBmbGFnIHNldCwg cHJldGVuZCBpdAogICAgc3RvcHBlZCBmb3IgYSBHREJfU0lHTkFMXzAgKGku ZS4sIGFzIGlmIGl0IHN0b3BwZWQgZHVlIHRvCiAgICB0YXJnZXRfc3RvcCku ICAqLwpAQCAtNjUyNSw3ICs2NTY0LDggQEAgcHJvY2Vzc19ldmVudF9zdG9w X3Rlc3QgKHN0cnVjdCBleGVjdXRpb25fY29udHJvbF9zdGF0ZSAqZWNzKQog CXRtcF9zYWwgPSBmaW5kX3BjX2xpbmUgKGVjcy0+c3RvcF9mdW5jX3N0YXJ0 LCAwKTsKIAlpZiAodG1wX3NhbC5saW5lICE9IDAKIAkgICAgJiYgIWZ1bmN0 aW9uX25hbWVfaXNfbWFya2VkX2Zvcl9za2lwIChlY3MtPnN0b3BfZnVuY19u YW1lLAotCQkJCQkJICB0bXBfc2FsKSkKKwkJCQkJCSAgdG1wX3NhbCkKKwkg ICAgJiYgIWlubGluZV9mcmFtZV9pc19tYXJrZWRfZm9yX3NraXAgKHRydWUs IGVjcy0+ZXZlbnRfdGhyZWFkKSkKIAkgIHsKIAkgICAgaWYgKGV4ZWN1dGlv bl9kaXJlY3Rpb24gPT0gRVhFQ19SRVZFUlNFKQogCSAgICAgIGhhbmRsZV9z dGVwX2ludG9fZnVuY3Rpb25fYmFja3dhcmQgKGdkYmFyY2gsIGVjcyk7CkBA IC02NjkxLDcgKzY3MzEsMTQgQEAgcHJvY2Vzc19ldmVudF9zdG9wX3Rlc3Qg KHN0cnVjdCBleGVjdXRpb25fY29udHJvbF9zdGF0ZSAqZWNzKQogCiAJICBp ZiAoY2FsbF9zYWwubGluZSA9PSBlY3MtPmV2ZW50X3RocmVhZC0+Y3VycmVu dF9saW5lCiAJICAgICAgJiYgY2FsbF9zYWwuc3ltdGFiID09IGVjcy0+ZXZl bnRfdGhyZWFkLT5jdXJyZW50X3N5bXRhYikKLQkgICAgc3RlcF9pbnRvX2lu bGluZV9mcmFtZSAoZWNzLT5ldmVudF90aHJlYWQpOworCSAgICB7CisJICAg ICAgc3RlcF9pbnRvX2lubGluZV9mcmFtZSAoZWNzLT5ldmVudF90aHJlYWQp OworCSAgICAgIGlmIChpbmxpbmVfZnJhbWVfaXNfbWFya2VkX2Zvcl9za2lw IChmYWxzZSwgZWNzLT5ldmVudF90aHJlYWQpKQorCQl7CisJCSAga2VlcF9n b2luZyAoZWNzKTsKKwkJICByZXR1cm47CisJCX0KKwkgICAgfQogCiAJICBl bmRfc3RlcHBpbmdfcmFuZ2UgKGVjcyk7CiAJICByZXR1cm47CkBAIC02NzI1 LDcgKzY3NzIsOCBAQCBwcm9jZXNzX2V2ZW50X3N0b3BfdGVzdCAoc3RydWN0 IGV4ZWN1dGlvbl9jb250cm9sX3N0YXRlICplY3MpCiAJZnByaW50Zl91bmZp bHRlcmVkIChnZGJfc3RkbG9nLAogCQkJICAgICJpbmZydW46IHN0ZXBwaW5n IHRocm91Z2ggaW5saW5lZCBmdW5jdGlvblxuIik7CiAKLSAgICAgIGlmIChl Y3MtPmV2ZW50X3RocmVhZC0+Y29udHJvbC5zdGVwX292ZXJfY2FsbHMgPT0g U1RFUF9PVkVSX0FMTCkKKyAgICAgIGlmIChlY3MtPmV2ZW50X3RocmVhZC0+ Y29udHJvbC5zdGVwX292ZXJfY2FsbHMgPT0gU1RFUF9PVkVSX0FMTAorCSAg fHwgaW5saW5lX2ZyYW1lX2lzX21hcmtlZF9mb3Jfc2tpcCAoZmFsc2UsIGVj cy0+ZXZlbnRfdGhyZWFkKSkKIAlrZWVwX2dvaW5nIChlY3MpOwogICAgICAg ZWxzZQogCWVuZF9zdGVwcGluZ19yYW5nZSAoZWNzKTsKLS0gCjEuOS4xCgo= --_003_VI1PR03MB45287E5B07A2E14ACFD07559E44B0VI1PR03MB4528eurp_ 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="Sun, 24 Nov 2019 11:22:12 GMT"; modification-date="Sun, 24 Nov 2019 11:22:12 GMT" Content-ID: <6095FFA45FFB4E42B0AE50AB7A7E9A22@eurprd03.prod.outlook.com> Content-Transfer-Encoding: base64 Content-length: 7296 RnJvbSA0YjhjMjc4YjMwODk4YWIzN2RiM2RjZmI3M2QyYjhkMWYxNzczNTY5 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_VI1PR03MB45287E5B07A2E14ACFD07559E44B0VI1PR03MB4528eurp_--