From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id BSTyBiMaD2BKDAAAWB0awg (envelope-from ) for ; Mon, 25 Jan 2021 14:21:07 -0500 Received: by simark.ca (Postfix, from userid 112) id 0F2591EF80; Mon, 25 Jan 2021 14:21:07 -0500 (EST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on simark.ca X-Spam-Level: * X-Spam-Status: No, score=1.9 required=5.0 tests=FORGED_MUA_MOZILLA, FREEMAIL_FROM,MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,RDNS_NONE, URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from sourceware.org (unknown [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 6C96F1E945 for ; Mon, 25 Jan 2021 14:21:06 -0500 (EST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id EC9EA395CC1D; Mon, 25 Jan 2021 19:21:05 +0000 (GMT) Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-oln040092074108.outbound.protection.outlook.com [40.92.74.108]) by sourceware.org (Postfix) with ESMTPS id 0D0BF3857C52 for ; Mon, 25 Jan 2021 19:21:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 0D0BF3857C52 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=hotmail.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=bernd.edlinger@hotmail.de ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Pf+Iu3NqHsBARHI8AOsOTzLuPYN4B9F1lUr3ED4ewIkou2w5v8vefVU05CijTlHZmMKooAdbKie9K4EuAOAJ52q+I88q0U+Q1wmu8vnhgXgXXEqT28hr6KUcYaggBU0/FNOGUkYWWX/FxO4Xm1FB1aoSNIeDaLLpcGWt9+4d+pgBmnYAIxFBIritx2g+K4D7+hTPm4PtnUZF6P0keg1Co/Uue4WW9l2iu/zrmIBriY9PRUFn/2z0sA+0zYzb6FCCGpef4DdYR6Q6jxvd5++wXB7qMr1FChE1KYreacZjALbEA8sfnCGIA84Xjk2xkT4JLC57LlPnrl8T/is+j6uCfw== 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=UwfdBgzm8qTxq+GMW+qhzjapeGmjO0La6bD5WjqJdqs=; b=fbZmJngYl9S/EuU91BxWNoHMUjj8ljpO/6g0FFyyEp31zburTmQ1fYzXMfkHegAyB+P+FgiRfaJdCLjqZujcLvUOctbw5KjfM+iIOSd965yPubELkLSfCsB5+e4g7vtOPvxu4N55qmfc0hEHC07BxCmsbhU+dKLdy7uNGZaplDA/nw64kXVGZmi/2ur3yTMAXU66dj3/gJ8BtytlWbAIKgiO0xhgmpmIgrxlyJC1JflGZyaxa51AZHCDDfT9xAHrsQr/LYipb6bFeWZPWGMTevNq1PE5gxS/uOM6nrHgbpPsBlXdsYPeQNq3SnI2vwrfRx84iOhRTf3TvwQmCJDtpw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none Received: from DB3EUR04FT021.eop-eur04.prod.protection.outlook.com (2a01:111:e400:7e0c::52) by DB3EUR04HT065.eop-eur04.prod.protection.outlook.com (2a01:111:e400:7e0c::236) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3784.11; Mon, 25 Jan 2021 19:20:59 +0000 Received: from AM8PR10MB4708.EURPRD10.PROD.OUTLOOK.COM (2a01:111:e400:7e0c::42) by DB3EUR04FT021.mail.protection.outlook.com (2a01:111:e400:7e0c::284) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3784.11 via Frontend Transport; Mon, 25 Jan 2021 19:20:59 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:8D927707D7214418F9FF34E47D285BE3438F1BC1530BC57D17D7AE187A19715A; UpperCasedChecksum:1448636A330A352DF3CC807547137BB354A65C70064DAA4B3D97EF5EB2B92DA8; SizeAsReceived:8430; Count:47 Received: from AM8PR10MB4708.EURPRD10.PROD.OUTLOOK.COM ([fe80::7510:8a00:1c00:1147]) by AM8PR10MB4708.EURPRD10.PROD.OUTLOOK.COM ([fe80::7510:8a00:1c00:1147%5]) with mapi id 15.20.3784.017; Mon, 25 Jan 2021 19:20:59 +0000 Subject: Re: [PATCH][gdb/symtab] Handle DW_AT_ranges with DW_FORM_sec_off in partial DIE From: Bernd Edlinger To: Simon Marchi , Tom de Vries , gdb-patches@sourceware.org References: <20210125122444.GA15885@delia> <56f38801-477e-fa38-5e16-22a4ed73437c@polymtl.ca> Message-ID: Date: Mon, 25 Jan 2021 20:20:57 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 In-Reply-To: Content-Type: multipart/mixed; boundary="------------204298BB3056E372AE1B5359" Content-Language: en-US X-TMN: [OOFm186ZIChJwsldb+Kgg2x6ZUgjgkTs] X-ClientProxiedBy: AM3PR03CA0062.eurprd03.prod.outlook.com (2603:10a6:207:5::20) To AM8PR10MB4708.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:364::23) X-Microsoft-Original-Message-ID: <594f4b89-e690-d9c2-c423-a0b8e1eedd8e@hotmail.de> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from [192.168.1.101] (88.68.3.2) by AM3PR03CA0062.eurprd03.prod.outlook.com (2603:10a6:207:5::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3784.11 via Frontend Transport; Mon, 25 Jan 2021 19:20:58 +0000 X-MS-PublicTrafficType: Email X-IncomingHeaderCount: 47 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-Correlation-Id: bb4845a4-1cd8-4b40-9d57-08d8c16658b6 X-MS-TrafficTypeDiagnostic: DB3EUR04HT065: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: tNLrZ5pbPwT4hguKrUmedHH8s3iLx8hQfZ1F7RZ6H7jbpsf3f3KmVORQ/XOdO4gcW1hrRL5WpEkqYBpPHBgVj96QtTG+TYDsRZC3SpfOQfJkMO295xgwx5JlDeh6yg0JzZq8WGbI13eBMuDNksdXfMe7sLxl8Fe4iyqW5wqKFTDxygjrr9go4v9suFE0WwBwOmKFFhOc6T95RZxNw63YzrUSnOPkRagR813zkrc/6kAiOY92jQSFMwd3+NluDyrk X-MS-Exchange-AntiSpam-MessageData: /ZfoY6+xNyuKC5Kh0LiNsAXqs6vfvTVKX9qeJOnYTjyMOKoPQS+VUQyMRuOl8jrcChufo9NQU9V/s5yPgmecd25V6cOargYeJg5LYRk3hF1Yenuz8Lp1dShaJTwjXgtCf424Kfmu+mHFVb8zwKk/Rw== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: bb4845a4-1cd8-4b40-9d57-08d8c16658b6 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2021 19:20:59.5597 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-AuthSource: DB3EUR04FT021.eop-eur04.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3EUR04HT065 X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Tom Tromey Errors-To: gdb-patches-bounces@sourceware.org Sender: "Gdb-patches" --------------204298BB3056E372AE1B5359 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit On 1/25/21 7:53 PM, Bernd Edlinger wrote: > see attached patch.txt. Oops, that patch.txt was incomplete. please find the correct patch here. > > It happens pretty reliably when you have a function that contains an error > handling that looks obvously "unlinkely" to the compiler, because it is guarded I meant, "obviously unlikely". > by an if-condition and calls abort(), while there are also code paths that > don't call about. The parts that call abort are then in a separate cold section. > > > Bernd. > --------------204298BB3056E372AE1B5359 Content-Type: text/plain; charset=UTF-8; name="patch.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="patch.txt" ZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvbGliL2R3YXJmLmV4cCBiL2dkYi90ZXN0c3VpdGUv bGliL2R3YXJmLmV4cAppbmRleCA3NDYyODkwLi5hYmE0YWZiIDEwMDY0NAotLS0gYS9nZGIvdGVz dHN1aXRlL2xpYi9kd2FyZi5leHAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9saWIvZHdhcmYuZXhwCkBA IC00NzMsNyArNDczLDggQEAgbmFtZXNwYWNlIGV2YWwgRHdhcmYgewogCSAgICB9CiAKIAkgICAg RFdfRk9STV9yZWZfdWRhdGEgLQotCSAgICBEV19GT1JNX3VkYXRhIHsKKwkgICAgRFdfRk9STV91 ZGF0YSAtCisJICAgIERXX0ZPUk1fcm5nbGlzdHggewogCQlfb3AgLnVsZWIxMjggJHZhbHVlCiAJ ICAgIH0KIApAQCAtMTExNSw4ICsxMTE2LDE2IEBAIG5hbWVzcGFjZSBldmFsIER3YXJmIHsKIAl9 CiAJZGVmaW5lX2xhYmVsICRzdGFydF9sYWJlbAogCV9vcCAuMmJ5dGUgJF9jdV92ZXJzaW9uIFZl cnNpb24KLQlfb3AgLiR7X2N1X29mZnNldF9zaXplfWJ5dGUgJG15X2FiYnJldnMgQWJicmV2cwot CV9vcCAuYnl0ZSAkX2N1X2FkZHJfc2l6ZSAiUG9pbnRlciBzaXplIgorCisJIyBUaGUgQ1UgaGVh ZGVyIGZvciBEV0FSRiA0IGFuZCA1IGFyZSBzbGlnaHRseSBkaWZmZXJlbnQuCisJaWYgeyAkX2N1 X3ZlcnNpb24gPT0gNSB9IHsKKwkgICAgX29wIC5ieXRlIDB4MSAiRFdfVVRfY29tcGlsZSIKKwkg ICAgX29wIC5ieXRlICRfY3VfYWRkcl9zaXplICJQb2ludGVyIHNpemUiCisJICAgIF9vcCAuJHtf Y3Vfb2Zmc2V0X3NpemV9Ynl0ZSAkbXlfYWJicmV2cyBBYmJyZXZzCisJfSBlbHNlIHsKKwkgICAg X29wIC4ke19jdV9vZmZzZXRfc2l6ZX1ieXRlICRteV9hYmJyZXZzIEFiYnJldnMKKwkgICAgX29w IC5ieXRlICRfY3VfYWRkcl9zaXplICJQb2ludGVyIHNpemUiCisJfQogCiAJX2RlZmVyX291dHB1 dCAkX2FiYnJldl9zZWN0aW9uIHsKIAkgICAgZGVmaW5lX2xhYmVsICRteV9hYmJyZXZzCkBAIC0x MzA2LDYgKzEzMTUsMTc4IEBAIG5hbWVzcGFjZSBldmFsIER3YXJmIHsKIAl1cGxldmVsICRib2R5 CiAgICAgfQogCisgICAgIyBFbWl0IGEgRFdBUkYgLmRlYnVnX3JuZ2xpc3RzIHNlY3Rpb24uCisg ICAgIworICAgICMgVGhlIHRhcmdldCBhZGRyZXNzIHNpemUgaXMgYmFzZWQgb24gdGhlIGN1cnJl bnQgdGFyZ2V0J3MgYWRkcmVzcyBzaXplLgorICAgICMKKyAgICAjIFRoZXJlIGlzIG9uZSBtYW5k YXRvcnkgcG9zaXRpb25hbCBhcmd1bWVudCwgQk9EWSwgd2hpY2ggbXVzdCBiZSBUY2wgY29kZQor ICAgICMgdGhhdCBlbWl0cyB0aGUgY29udGVudCBvZiB0aGUgc2VjdGlvbi4gIEl0IGlzIGV2YWx1 YXRlZCBpbiB0aGUgY2FsbGVyJ3MKKyAgICAjIGNvbnRleHQuCisgICAgIworICAgICMgVGhlIGZv bGxvd2luZyBvcHRpb24gY2FuIGJlIHVzZWQ6CisgICAgIworICAgICMgIC0gLWlzLTY0IHRydWV8 ZmFsc2U6IFdoZXRoZXIgdG8gdXNlIDY0LWJpdCBEV0FSRiBpbnN0ZWFkIG9mIDMyLWJpdCBEV0FS Ri4KKyAgICAjICAgICAgICAgICAgICAgICAgICAgICBUaGUgZGVmYXVsdCBpcyAzMi1iaXQuCisK KyAgICBwcm9jIHJuZ2xpc3RzIHsgYXJncyB9IHsKKwl2YXJpYWJsZSBfZGVidWdfcm5nbGlzdHNf YWRkcl9zaXplCisJdmFyaWFibGUgX2RlYnVnX3JuZ2xpc3RzX29mZnNldF9zaXplCisJdmFyaWFi bGUgX2RlYnVnX3JuZ2xpc3RzX2lzXzY0X2R3YXJmCisKKwlwYXJzZV9hcmdzIHt7ImlzLTY0IiAi ZmFsc2UifX0KKworCWlmIHsgW2xsZW5ndGggJGFyZ3NdICE9IDEgfSB7CisJICAgIGVycm9yICJy bmdsaXN0cyBwcm9jIGV4cGVjdHMgb25lIHBvc2l0aW9uYWwgYXJndW1lbnQgKGJvZHkpIgorCX0K KworCWxhc3NpZ24gJGFyZ3MgYm9keQorCisJaWYgW2lzXzY0X3RhcmdldF0geworCSAgICBzZXQg X2RlYnVnX3JuZ2xpc3RzX2FkZHJfc2l6ZSA4CisJfSBlbHNlIHsKKwkgICAgc2V0IF9kZWJ1Z19y bmdsaXN0c19hZGRyX3NpemUgNAorCX0KKworCWlmIHsgJHtpcy02NH0gfSB7CisJICAgIHNldCBf ZGVidWdfcm5nbGlzdHNfb2Zmc2V0X3NpemUgOAorCSAgICBzZXQgX2RlYnVnX3JuZ2xpc3RzX2lz XzY0X2R3YXJmIHRydWUKKwl9IGVsc2UgeworCSAgICBzZXQgX2RlYnVnX3JuZ2xpc3RzX29mZnNl dF9zaXplIDQKKwkgICAgc2V0IF9kZWJ1Z19ybmdsaXN0c19pc182NF9kd2FyZiBmYWxzZQorCX0K KworCV9zZWN0aW9uICIuZGVidWdfcm5nbGlzdHMiCisKKwkjIENvdW50IG9mIHRhYmxlcyBpbiB0 aGUgc2VjdGlvbi4KKwl2YXJpYWJsZSBfZGVidWdfcm5nbGlzdHNfdGFibGVfY291bnQgMAorCisJ IyBDb21wdXRlIHRoZSBsYWJlbCBuYW1lIGZvciBsaXN0IGF0IGluZGV4IExJU1RfSURYLCBmb3Ig dGhlIGN1cnJlbnQKKwkjIHRhYmxlLgorCisJcHJvYyBfY29tcHV0ZV9saXN0X2xhYmVsIHsgbGlz dF9pZHggfSB7CisJICAgIHZhcmlhYmxlIF9kZWJ1Z19ybmdsaXN0c190YWJsZV9jb3VudAorCisJ ICAgIHJldHVybiAiLkxybmdsaXN0c190YWJsZV8ke19kZWJ1Z19ybmdsaXN0c190YWJsZV9jb3Vu dH1fbGlzdF8ke2xpc3RfaWR4fSIKKwl9CisKKwkjIEdlbmVyYXRlIG9uZSB0YWJsZSAoaGVhZGVy ICsgb2Zmc2V0IGFycmF5ICsgcmFuZ2UgbGlzdHMpLgorCSMKKwkjIEFjY2VwdHMgb25lIHBvc2l0 aW9uYWwgYXJndW1lbnQsIEJPRFkuICBCT0RZIG1heSBjYWxsIHRoZSBMSVNUXworCSMgcHJvY2Vk dXJlIHRvIGdlbmVyYXRlIHJuZ2xpc3RzLgorCSMKKwkjIFRoZSAtcG9zdC1oZWFkZXItbGFiZWwg b3B0aW9uIGNhbiBiZSB1c2VkIHRvIGRlZmluZSBhIGxhYmVsIGp1c3QgYWZ0ZXIKKwkjIHRoZSBo ZWFkZXIgb2YgdGhlIHRhYmxlLiAgVGhpcyBpcyB0aGUgbGFiZWwgdGhhdCBhIERXX0FUX3JuZ2xp c3RzX2Jhc2UKKwkjIGF0dHJpYnV0ZSB3aWxsIHVzdWFsbHkgcmVmZXIgdG8uCisKKwlwcm9jIHRh YmxlIHsgYXJncyB9IHsKKwkgICAgdmFyaWFibGUgX2RlYnVnX3JuZ2xpc3RzX3RhYmxlX2NvdW50 CisJICAgIHZhcmlhYmxlIF9kZWJ1Z19ybmdsaXN0c19hZGRyX3NpemUKKwkgICAgdmFyaWFibGUg X2RlYnVnX3JuZ2xpc3RzX29mZnNldF9zaXplCisJICAgIHZhcmlhYmxlIF9kZWJ1Z19ybmdsaXN0 c19pc182NF9kd2FyZgorCisJICAgIHBhcnNlX2FyZ3Mge3twb3N0LWhlYWRlci1sYWJlbCAiIn19 CisKKwkgICAgaWYgeyBbbGxlbmd0aCAkYXJnc10gIT0gMSB9IHsKKwkJZXJyb3IgInRhYmxlIHBy b2MgZXhwZWN0cyBvbmUgcG9zaXRpb25hbCBhcmd1bWVudCAoYm9keSkiCisJICAgIH0KKworCSAg ICBsYXNzaWduICRhcmdzIGJvZHkKKworCSAgICAjIEdlbmVyYXRlIG9uZSByYW5nZSBsaXN0Lgor CSAgICAjCisJICAgICMgQk9EWSBtYXkgY2FsbCB0aGUgdmFyaW91cyBwcm9jcyBkZWZpbmVkIGJl bG93IHRvIGdlbmVyYXRlIGxpc3QgZW50cmllcy4KKwkgICAgIyBUaGV5IGNvcnJlc3BvbmQgdG8g dGhlIHJhbmdlIGxpc3QgZW50cnkga2luZHMgZGVzY3JpYmVkIGluIHNlY3Rpb24gMi4xNy4zCisJ ICAgICMgb2YgdGhlIERXQVJGIDUgc3BlYy4KKwkgICAgIworCSAgICAjIFRvIGRlZmluZSBhIGxh YmVsIHBvaW50aW5nIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGxpc3QsIHVzZQorCSAgICAjIHRo ZSBjb252ZW50aW9uYWwgd2F5IG9mIGRlY2xhcmluZyBhbmQgZGVmaW5pbmcgbGFiZWxzOgorCSAg ICAjCisJICAgICMgICBkZWNsYXJlX2xhYmVscyB0aGVfbGlzdAorCSAgICAjCisJICAgICMgICB0 aGVfbGlzdDogbGlzdF8geworCSAgICAjICAgICAuLi4KKwkgICAgIyAgIH0KKworCSAgICBwcm9j IGxpc3RfIHsgYm9keSB9IHsKKwkJdmFyaWFibGUgX2RlYnVnX3JuZ2xpc3RzX2xpc3RfY291bnQK KworCQkjIERlZmluZSBhIGxhYmVsIGZvciB0aGlzIGxpc3QuICBJdCBpcyB1c2VkIHRvIGJ1aWxk IHRoZSBvZmZzZXQKKwkJIyBhcnJheSBsYXRlci4KKwkJc2V0IGxpc3RfbGFiZWwgW19jb21wdXRl X2xpc3RfbGFiZWwgJF9kZWJ1Z19ybmdsaXN0c19saXN0X2NvdW50XQorCQlkZWZpbmVfbGFiZWwg JGxpc3RfbGFiZWwKKworCQkjIEVtaXQgYSBEV19STEVfc3RhcnRfZW5kIGVudHJ5LgorCisJCXBy b2Mgc3RhcnRfZW5kIHsgc3RhcnQgZW5kIH0geworCQkgICAgdmFyaWFibGUgX2RlYnVnX3JuZ2xp c3RzX2FkZHJfc2l6ZQorCisJCSAgICBfb3AgLmJ5dGUgMHgwNiAiRFdfUkxFX3N0YXJ0X2VuZCIK KwkJICAgIF9vcCAuJHtfZGVidWdfcm5nbGlzdHNfYWRkcl9zaXplfWJ5dGUgJHN0YXJ0ICJzdGFy dCIKKwkJICAgIF9vcCAuJHtfZGVidWdfcm5nbGlzdHNfYWRkcl9zaXplfWJ5dGUgJGVuZCAiZW5k IgorCQl9CisKKwkJdXBsZXZlbCAkYm9keQorCisJCSMgRW1pdCBlbmQgb2YgbGlzdC4KKwkJX29w IC5ieXRlIDB4MDAgIkRXX1JMRV9lbmRfb2ZfbGlzdCIKKworCQlpbmNyIF9kZWJ1Z19ybmdsaXN0 c19saXN0X2NvdW50CisJICAgIH0KKworCSAgICAjIENvdW50IG9mIGxpc3RzIGluIHRoZSB0YWJs ZS4KKwkgICAgdmFyaWFibGUgX2RlYnVnX3JuZ2xpc3RzX2xpc3RfY291bnQgMAorCisJICAgICMg R2VuZXJhdGUgdGhlIGxpc3RzIG9wcyBmaXJzdCwgYmVjYXVzZSB3ZSBuZWVkIHRvIGtub3cgaG93 IG1hbnkKKwkgICAgIyBsaXN0cyB0aGVyZSBhcmUgdG8gZ2VuZXJhdGUgdGhlIGhlYWRlciBhbmQg b2Zmc2V0IHRhYmxlLgorCSAgICBzZXQgbGlzdHNfb3BzIFtfZGVmZXJfdG9fc3RyaW5nIHsKKwkJ dXBsZXZlbCAkYm9keQorCSAgICB9XQorCisJICAgIHNldCBwb3N0X3VuaXRfbGVuX2xhYmVsIFwK KwkJW19jb21wdXRlX2xhYmVsICJybmdsaXN0c190YWJsZV8ke19kZWJ1Z19ybmdsaXN0c190YWJs ZV9jb3VudH1fcG9zdF91bml0X2xlbiJdCisJICAgIHNldCBwb3N0X2hlYWRlcl9sYWJlbCBcCisJ CVtfY29tcHV0ZV9sYWJlbCAicm5nbGlzdHNfdGFibGVfJHtfZGVidWdfcm5nbGlzdHNfdGFibGVf Y291bnR9X3Bvc3RfaGVhZGVyIl0KKwkgICAgc2V0IHRhYmxlX2VuZF9sYWJlbCBcCisJCVtfY29t cHV0ZV9sYWJlbCAicm5nbGlzdHNfdGFibGVfJHtfZGVidWdfcm5nbGlzdHNfdGFibGVfY291bnR9 X2VuZCJdCisKKwkgICAgIyBFbWl0IHRoZSB0YWJsZSBoZWFkZXIuCisJICAgIGlmIHsgJF9kZWJ1 Z19ybmdsaXN0c19pc182NF9kd2FyZiB9IHsKKwkJX29wIC40Ynl0ZSAweGZmZmZmZmZmICJ1bml0 IGxlbmd0aCAxLzIiCisJCV9vcCAuOGJ5dGUgIiR0YWJsZV9lbmRfbGFiZWwgLSAkcG9zdF91bml0 X2xlbl9sYWJlbCIgInVuaXQgbGVuZ3RoIDIvMiIKKwkgICAgfSBlbHNlIHsKKwkJX29wIC40Ynl0 ZSAiJHRhYmxlX2VuZF9sYWJlbCAtICRwb3N0X3VuaXRfbGVuX2xhYmVsIiAidW5pdCBsZW5ndGgi CisJICAgIH0KKworCSAgICBkZWZpbmVfbGFiZWwgJHBvc3RfdW5pdF9sZW5fbGFiZWwKKworCSAg ICBfb3AgLjJieXRlIDUgImR3YXJmIHZlcnNpb24iCisJICAgIF9vcCAuYnl0ZSAkX2RlYnVnX3Ju Z2xpc3RzX2FkZHJfc2l6ZSAiYWRkcmVzcyBzaXplIgorCSAgICBfb3AgLmJ5dGUgMCAic2VnbWVu dCBzZWxlY3RvciBzaXplIgorCSAgICBfb3AgLjRieXRlICIkX2RlYnVnX3JuZ2xpc3RzX2xpc3Rf Y291bnQiICJvZmZzZXQgZW50cnkgY291bnQiCisKKwkgICAgZGVmaW5lX2xhYmVsICRwb3N0X2hl YWRlcl9sYWJlbAorCisJICAgICMgRGVmaW5lIHRoZSB1c2VyIHBvc3QtaGVhZGVyIGxhYmVsLCBp ZiBwcm92aWRlZC4KKwkgICAgaWYgeyAke3Bvc3QtaGVhZGVyLWxhYmVsfSAhPSAiIiB9IHsKKwkJ ZGVmaW5lX2xhYmVsICR7cG9zdC1oZWFkZXItbGFiZWx9CisJICAgIH0KKworCSAgICAjIEVtaXQg dGhlIG9mZnNldCBhcnJheS4KKwkgICAgZm9yIHtzZXQgbGlzdF9pZHggMH0geyRsaXN0X2lkeCA8 ICRfZGVidWdfcm5nbGlzdHNfbGlzdF9jb3VudH0ge2luY3IgbGlzdF9pZHh9IHsKKwkJc2V0IGxp c3RfbGFiZWwgW19jb21wdXRlX2xpc3RfbGFiZWwgJGxpc3RfaWR4XQorCQlfb3AgLiR7X2RlYnVn X3JuZ2xpc3RzX29mZnNldF9zaXplfWJ5dGUgIiRsaXN0X2xhYmVsIC0gJHBvc3RfaGVhZGVyX2xh YmVsIiAib2Zmc2V0IG9mIGxpc3QgJGxpc3RfaWR4IgorCSAgICB9CisKKwkgICAgIyBFbWl0IHRo ZSBhY3R1YWwgbGlzdCBkYXRhLgorCSAgICBfZW1pdCAiJGxpc3RzX29wcyIKKworCSAgICBkZWZp bmVfbGFiZWwgJHRhYmxlX2VuZF9sYWJlbAorCisJICAgIGluY3IgX2RlYnVnX3JuZ2xpc3RzX3Rh YmxlX2NvdW50CisJfQorCisJdXBsZXZlbCAkYm9keQorICAgIH0KIAogICAgICMgRW1pdCBhIERX QVJGIC5kZWJ1Z19saW5lIHVuaXQuCiAgICAgIyBPUFRJT05TIGlzIGEgbGlzdCB3aXRoIGFuIGV2 ZW4gbnVtYmVyIG9mIGVsZW1lbnRzIGNvbnRhaW5pbmcKZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3Vp dGUvZ2RiLmR3YXJmMi9ybmdsaXN0cy1tdWx0aXBsZS1jdXMuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZHdhcmYyL3JuZ2xpc3RzLW11bHRpcGxlLWN1cy5leHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMC4uZTA5Y2Q0ZQotLS0gL2Rldi9udWxsCisrKyBiL2dkYi90ZXN0c3VpdGUv Z2RiLmR3YXJmMi9ybmdsaXN0cy1tdWx0aXBsZS1jdXMuZXhwCkBAIC0wLDAgKzEsMTAyIEBACisj IENvcHlyaWdodCAyMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCisjIFRoaXMg cHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3Ig bW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp dGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55 IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkg b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjIFlvdSBzaG91bGQgaGF2 ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisjIGFs b25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9s aWNlbnNlcy8+LgorCisjIFRlc3QgdG8gcmVwcm9kdWNlIHRoZSBjcmFzaCBkZXNjcmliZWQgaW4g UFIgMjY4MTMuCisjCisjIFdoZW4gcmVhZGluZyBhIGxpc3QgaW4gYW55IHRhYmxlIGluIHRoZSAu ZGVidWdfcm5nbGlzdHMgc2VjdGlvbiwgR0RCIHdvdWxkCisjIHJlYWQgdGhlIGhlYWRlciBhdCBv ZmZzZXQgMCBpbiB0aGUgc2VjdGlvbiAodGhlIGhlYWRlciBvZiB0aGUgZmlyc3QgdGFibGUpLgor IyBXaGVuIHRoZSBpbmRleCBvZiB0aGUgbGlzdCB3ZSByZWFkIHdhcyBncmVhdGVyIHRoYW4gdGhl IG51bWJlciBvZiBsaXN0cyBvZgorIyB0aGUgZmlyc3QgdGFibGUsIEdEQiB3b3VsZCBlcnJvbmVv dXNseSByZXBvcnQgdGhhdCB0aGUgaW5kZXggaXMgaW52YWxpZC4KKyMKKyMgU28gdGhpcyB0ZXN0 IGNyZWF0ZXMgYSAuZGVidWdfcm5nbGlzdHMgc2VjdGlvbiB3aXRoIHR3byB0YWJsZXMuICBUaGUg c2Vjb25kCisjIHRhYmxlIGhhcyBtb3JlIGxpc3RzIHRoYW4gdGhlIGZpcnN0IG9uZSBhbmQgd2Ug dHJ5IHRvIHJlYWQgYSBoaWdoIGluZGV4IGluCisjIHRoZSBzZWNvbmQgdGFibGUuCisKK2xvYWRf bGliIGR3YXJmLmV4cAorCitpZiB7IVtkd2FyZjJfc3VwcG9ydF19IHsKKyAgICByZXR1cm4gMAor fQorCisjIFRlc3Qgd2l0aCAzMi1iaXQgYW5kIDY0LWJpdCBEV0FSRi4KK2ZvcmVhY2hfd2l0aF9w cmVmaXggaXNfNjQge2ZhbHNlIHRydWV9IHsKKyAgICBpZiB7ICRpc182NCB9IHsKKwlzdGFuZGFy ZF90ZXN0ZmlsZSBtYWluLmMgLWR3NjQuUworCXNldCB0ZXN0ZmlsZSAke3Rlc3RmaWxlfS1kdzY0 CisgICAgfSBlbHNlIHsKKwlzdGFuZGFyZF90ZXN0ZmlsZSBtYWluLmMgLWR3MzIuUworCXNldCB0 ZXN0ZmlsZSAke3Rlc3RmaWxlfS1kdzMyCisgICAgfQorCisgICAgc2V0IGFzbV9maWxlIFtzdGFu ZGFyZF9vdXRwdXRfZmlsZSAkc3JjZmlsZTJdCisgICAgRHdhcmY6OmFzc2VtYmxlICRhc21fZmls ZSB7CisJZ2xvYmFsIGlzXzY0CisKKwkjIFRoZSBDVSB1c2VzIHRoZSBEV19GT1JNX3JuZ2xpc3R4 IGZvcm0gdG8gcmVmZXIgdG8gdGhlIC5kZWJ1Z19ybmdsaXN0cworCSMgc2VjdGlvbi4KKwljdSB7 CisJICAgIHZlcnNpb24gNQorCSAgICBpc182NCAkaXNfNjQKKwl9IHsKKwkgICAgRFdfVEFHX2Nv bXBpbGVfdW5pdCB7CisJCXtEV19BVF9yYW5nZXMgMSBEV19GT1JNX3JuZ2xpc3R4fQorCQl7RFdf QVRfcm5nbGlzdHNfYmFzZSBjdV90YWJsZSBEV19GT1JNX3NlY19vZmZzZXR9CisJICAgIH0gewor CQkjIFRoaXMgdGVzdHMgYSBEV19BVF9yYW5nZXMgYXR0cmlidXRlIG9mIGZvcm0gRFdfRk9STV9y bmdsaXN0eCBvbiBhCisJCSMgZnVuY3Rpb24sIHdoaWNoIHdhcyBidWdneSBhdCBzb21lIHBvaW50 LgorCQlEV19UQUdfc3VicHJvZ3JhbSB7CisJCSAgICB7RFdfQVRfbmFtZSAiZm9vIn0KKwkJICAg IHtEV19BVF9yYW5nZXMgMiBEV19GT1JNX3JuZ2xpc3R4fQorCQl9CisJICAgIH0KKwl9CisKKwly bmdsaXN0cyAtaXMtNjQgJGlzXzY0IHsKKwkgICAgIyBUaGlzIHRhYmxlIGlzIHVudXNlZCwgYnV0 IGV4aXN0cyBzbyB0aGF0IHRoZSB1c2VkIHRhYmxlIGlzIG5vdCBhdAorCSAgICAjIHRoZSBiZWdp bm5pbmcgb2YgdGhlIHNlY3Rpb24uCisJICAgIHRhYmxlIHsKKwkJbGlzdF8geworCQkgICAgc3Rh cnRfZW5kIDB4MTAwMCAweDIwMDAKKwkJfQorCSAgICB9CisKKwkgICAgIyBUaGUgbGlzdHMgaW4g dGhpcyB0YWJsZSBhcmUgYWNjZXNzZWQgYnkgaW5kZXggKERXX0ZPUk1fcm5nbGlzdHgpLgorCSAg ICB0YWJsZSAtcG9zdC1oZWFkZXItbGFiZWwgY3VfdGFibGUgeworCQkjIFRoaXMgbGlzdCBpcyB1 bnVzZWQsIGJ1dCBleGlzdHMgdG8gb2Zmc2V0IHRoZSBuZXh0IG9uZXMuCisJCWxpc3RfIHsKKwkJ ICAgIHN0YXJ0X2VuZCAweDIwMDAgMHgzMDAwCisJCX0KKworCQkjIEZvciB0aGUgQ1UuCisJCWxp c3RfIHsKKwkJICAgIHN0YXJ0X2VuZCAweDMwMDAgMHg0MDAwCisJCX0KKworCQkjIEZvciBmdW5j dGlvbiBmb28uCisJCWxpc3RfIHsKKwkJICAgIHN0YXJ0X2VuZCAweDMwMDAgMHgzMDEwCisJCX0K KwkgICAgfQorCX0KKyAgICB9CisKKyAgICBpZiB7IFtwcmVwYXJlX2Zvcl90ZXN0aW5nICJmYWls ZWQgdG8gcHJlcGFyZSIgJHt0ZXN0ZmlsZX0gXAorCSAgICAgIFtsaXN0ICRzcmNmaWxlICRhc21f ZmlsZV0ge25vZGVidWd9XSB9IHsKKwlyZXR1cm4gLTEKKyAgICB9CisKKyAgICAjIFNhbml0eSBj aGVja3MgdG8gbWFrZSBzdXJlIEdEQiBzbHVycGVkIHRoZSBzeW1ib2xzIGNvcnJlY3RseS4KKyAg ICBnZGJfdGVzdCAicC94ICZmb28iICIgPSAweDMwMDAiCit9CmRpZmYgLS1naXQgYS9nZGIvdGVz dHN1aXRlL2dkYi5kd2FyZjIvcm5nbGlzdHMtc2VjLW9mZnNldC5leHAgYi9nZGIvdGVzdHN1aXRl L2dkYi5kd2FyZjIvcm5nbGlzdHMtc2VjLW9mZnNldC5leHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMC4uZDg5OGQxMQotLS0gL2Rldi9udWxsCisrKyBiL2dkYi90ZXN0c3VpdGUv Z2RiLmR3YXJmMi9ybmdsaXN0cy1zZWMtb2Zmc2V0LmV4cApAQCAtMCwwICsxLDgwIEBACisjIENv cHlyaWdodCAyMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCisjIFRoaXMgcHJv Z3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9k aWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl ciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxh dGVyIHZlcnNpb24uCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3Ig RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjIFlvdSBzaG91bGQgaGF2ZSBy ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisjIGFsb25n IHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNl bnNlcy8+LgorCisjIFRlc3QgRFdfQVRfcmFuZ2VzIGF0dHJpYnV0ZXMgcmVmZXJlbmNpbmcgdGhl IC5kZWJ1Z19ybmdsaXN0cyBzZWN0aW9uIHVzaW5nIHRoZQorIyBEV19GT1JNX3NlY19vZmZzZXQg Zm9ybS4KKworbG9hZF9saWIgZHdhcmYuZXhwCisKK2lmIHshW2R3YXJmMl9zdXBwb3J0XX0gewor ICAgIHJldHVybiAwCit9CisKK2ZvcmVhY2hfd2l0aF9wcmVmaXggaXNfNjQge2ZhbHNlIHRydWV9 IHsKKyAgICBpZiB7ICRpc182NCB9IHsKKwlzdGFuZGFyZF90ZXN0ZmlsZSBtYWluLmMgLWR3NjQu UworCXNldCB0ZXN0ZmlsZSAke3Rlc3RmaWxlfS1kdzY0CisgICAgfSBlbHNlIHsKKwlzdGFuZGFy ZF90ZXN0ZmlsZSBtYWluLmMgLWR3MzIuUworCXNldCB0ZXN0ZmlsZSAke3Rlc3RmaWxlfS1kdzMy CisgICAgfQorCisgICAgc2V0IGFzbV9maWxlIFtzdGFuZGFyZF9vdXRwdXRfZmlsZSAkc3JjZmls ZTJdCisgICAgRHdhcmY6OmFzc2VtYmxlICRhc21fZmlsZSB7CisJZ2xvYmFsIGlzXzY0CisKKwlk ZWNsYXJlX2xhYmVscyBjdV9yYW5nZV9saXN0IGZvb19yYW5nZV9saXN0CisKKwkjIFRoaXMgQ1Ug dXNlcyB0aGUgRFdfRk9STV9zZWNfb2Zmc2V0IGZvcm0gdG8gcmVmZXIgdG8gdGhlIC5kZWJ1Z19y bmdsaXN0cworCSMgc2VjdGlvbi4KKwljdSB7CisJICAgIHZlcnNpb24gNQorCSAgICBpc182NCAk aXNfNjQKKwl9IHsKKwkgICAgRFdfVEFHX2NvbXBpbGVfdW5pdCB7CisJCXtEV19BVF9yYW5nZXMg JGN1X3JhbmdlX2xpc3QgRFdfRk9STV9zZWNfb2Zmc2V0fQorCSAgICB9IHsKKwkJRFdfVEFHX3N1 YnByb2dyYW0geworCQkgICAge0RXX0FUX25hbWUgImZvbyJ9CisJCSAgICB7RFdfQVRfcmFuZ2Vz ICRmb29fcmFuZ2VfbGlzdCBEV19GT1JNX3NlY19vZmZzZXR9CisJCX0KKwkgICAgfQorCX0KKwor CXJuZ2xpc3RzIC1pcy02NCAkaXNfNjQgeworCSAgICAjIFRoZSBsaXN0cyBpbiB0aGlzIHRhYmxl IGFyZSBhY2Nlc3NlZCBieSBkaXJlY3Qgb2Zmc2V0CisJICAgICMgKERXX0ZPUk1fc2VjX29mZnNl dCkuCisJICAgIHRhYmxlIHsKKwkJIyBGb3IgdGhlIENVLgorCQljdV9yYW5nZV9saXN0OiBsaXN0 XyB7CisJCSAgICBzdGFydF9lbmQgMHg0MDAwIDB4NTAwMAorCQl9CisKKwkJIyBGb3IgZnVuY3Rp b24gZm9vLgorCQlmb29fcmFuZ2VfbGlzdDogbGlzdF8geworCQkgICAgc3RhcnRfZW5kIDB4NDAw MCAweDQwMTAKKwkJfQorCSAgICB9CisJfQorICAgIH0KKworICAgIGlmIHsgW3ByZXBhcmVfZm9y X3Rlc3RpbmcgImZhaWxlZCB0byBwcmVwYXJlIiAke3Rlc3RmaWxlfSBcCisJICAgICAgW2xpc3Qg JHNyY2ZpbGUgJGFzbV9maWxlXSB7bm9kZWJ1Z31dIH0geworCXJldHVybiAtMQorICAgIH0KKwor ICAgICMgU2FuaXR5IGNoZWNrcyB0byBtYWtlIHN1cmUgR0RCIHNsdXJwZWQgdGhlIHN5bWJvbHMg Y29ycmVjdGx5LgorICAgIGdkYl90ZXN0ICJwL3ggJmZvbyIgIiA9IDB4NDAwMCIKK30K --------------204298BB3056E372AE1B5359--