From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2071.outbound.protection.outlook.com [40.107.22.71]) by sourceware.org (Postfix) with ESMTPS id 025EC3894C16 for ; Wed, 2 Sep 2020 13:24:23 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 025EC3894C16 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=Alan.Hayward@arm.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=MZbrU3p5t+/sJJnD7VnzMOWcSxO5BYxq3lslCKBaXhg=; b=Z1B7uzmiX9AebB6bouTOKQbzebCdYmdFQ6l0zwt/SG6axx4xCPdg90HtDKYiBaCplVpiSm/HbJ42kyngBexqY2G++RQiWIseW5W3WQW/eKCBhAEY6AQQqIfidw7o1dY2+CM4kLpNaW2vqf/IvTbiglRCofyyFpVDalkpYAfexHQ= Received: from DB6PR0301CA0005.eurprd03.prod.outlook.com (2603:10a6:4:3e::15) by VI1PR08MB5359.eurprd08.prod.outlook.com (2603:10a6:803:12f::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3348.15; Wed, 2 Sep 2020 13:24:21 +0000 Received: from DB5EUR03FT049.eop-EUR03.prod.protection.outlook.com (2603:10a6:4:3e:cafe::30) by DB6PR0301CA0005.outlook.office365.com (2603:10a6:4:3e::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3348.15 via Frontend Transport; Wed, 2 Sep 2020 13:24:21 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; sourceware.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; sourceware.org; dmarc=bestguesspass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB5EUR03FT049.mail.protection.outlook.com (10.152.20.191) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3326.19 via Frontend Transport; Wed, 2 Sep 2020 13:24:21 +0000 Received: ("Tessian outbound 7161e0c2a082:v64"); Wed, 02 Sep 2020 13:24:21 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: afbe9899e4fcdc6d X-CR-MTA-TID: 64aa7808 Received: from 0da485e957f0.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id A60C1825-31E0-449B-AD7D-425EF3546AD3.1; Wed, 02 Sep 2020 13:24:02 +0000 Received: from EUR01-DB5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 0da485e957f0.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 02 Sep 2020 13:24:02 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hPMnAzaFPqkkifJe0wM/jMkyH+mF0XwCANZRw5QXrsCeSsDG/VS/n5XdUCz7W8QAiAUDbM5hx9vzypOAXhSapMYOGrfM60sEbr04LhsR9LHpPTRGO491i4LQU2+8NtI0kilbnLvJqLrz004Us/yYPFQi9aAFfHKKp2NNUh59VZsEJzLZuEdnTDWPthxlRYBxjljsNIYB/uCE9GwfSmNKbfSuRlRyxs7rWKjENwKBXHy7XzNh0CWK9jj49BsgB3DIleVRT2zSRQHiw0Jz2ARCRoDYNgZL81mowqF6N/bUvhUWwHMYSCmV3nnbU99XCEmf7gINIYcStEOFqZQl84thUw== 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=MZbrU3p5t+/sJJnD7VnzMOWcSxO5BYxq3lslCKBaXhg=; b=V/6cp5FMGhJKGCpl87sM/9osm7PGE6esQPiGJOFuq8WIKSFzHCkQe31+94zMSBg8W6ATinQEJ6AKxWrjRyYe3SDrIjZ0qBwT7/B2h6KUarLMW2VWl2KDwYWyYYbe6Y4HM+NZwdcbs/QEq+qOi7bPrCyJb/pOGG7meBjRsSLgM/JhasuTO6GuiTKu+tGLUId96cfVE+DVv2XoGrzsFPgIqVnTkkacDkFsGtbqBbXoiy4bg6Ox5DtAVdUccsRgTKXhzMNXl9VxVA/sz5kMs/iNKMClbPLv/abBTB2akWyYuFuOSy3bhIfBtmnmo1dKJ1NXrMFQuSkX6xy2HHtcMwOivQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=MZbrU3p5t+/sJJnD7VnzMOWcSxO5BYxq3lslCKBaXhg=; b=Z1B7uzmiX9AebB6bouTOKQbzebCdYmdFQ6l0zwt/SG6axx4xCPdg90HtDKYiBaCplVpiSm/HbJ42kyngBexqY2G++RQiWIseW5W3WQW/eKCBhAEY6AQQqIfidw7o1dY2+CM4kLpNaW2vqf/IvTbiglRCofyyFpVDalkpYAfexHQ= Received: from AM6PR08MB3957.eurprd08.prod.outlook.com (2603:10a6:20b:a2::14) by AM6PR08MB4214.eurprd08.prod.outlook.com (2603:10a6:20b:8d::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3326.24; Wed, 2 Sep 2020 13:24:01 +0000 Received: from AM6PR08MB3957.eurprd08.prod.outlook.com ([fe80::95d8:11b:827f:a517]) by AM6PR08MB3957.eurprd08.prod.outlook.com ([fe80::95d8:11b:827f:a517%4]) with mapi id 15.20.3326.025; Wed, 2 Sep 2020 13:24:01 +0000 From: Alan Hayward To: Fredrik Hederstierna CC: "gdb-patches\\@sourceware.org" , nd , James-Adam Renquinha Henri Subject: Re: [PATCH] Fix exception stack unwinding for ARM Cortex-M Thread-Topic: [PATCH] Fix exception stack unwinding for ARM Cortex-M Thread-Index: AQHWfd9UT9lbm+Mj6kS0IGPxnERX3alVXOQA Date: Wed, 2 Sep 2020 13:24:01 +0000 Message-ID: <04F0F9D3-6A7D-4F6E-8AE7-93F360CEEA91@arm.com> References: <790E863F-88F4-47D7-A70A-FA22779ACC2A@arm.com> In-Reply-To: Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3608.80.23.2.2) Authentication-Results-Original: verisure.com; dkim=none (message not signed) header.d=none; verisure.com; dmarc=none action=none header.from=arm.com; x-originating-ip: [82.23.123.38] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 967d1109-d652-423d-2eb3-08d84f4380aa x-ms-traffictypediagnostic: AM6PR08MB4214:|VI1PR08MB5359: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: m2KvedNvAQrDpU730D5vcrQWt5b2PECoK3sWw0DrVBPkYlAdKL9JSiXBObhHXfd7ZpDdfL5HecbmhKlm2SPGaZqWrfsDCxbrxRc+knyFzpPDDKst5hvXOwbhUWfl60yJvBfY2BshtbvFFnGWyL+gK0YRG21GfkeZ86EwMPIS96XTxDr7uCS9CwhmjY+DnHiJozxA5VEDuxaUlJ+q73mzyYyZ3oYM2DUT3Khu1t8slL+74QtHEBrDGGzGfj0M8mp4mCrEzZkWbKuVfZidYzb0gwCweRdTrNfPV3UrnMne5Ffnuq4UHICcD3jYAiJiMaKifrgRKcxwvcSegFx8O7TRF1bypdVx4K6RzRRE4TxY1gIyL1Xzo7C7vtFcLR2a45Z1qnoF2Xkn3puLSuHekWUFSQ== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM6PR08MB3957.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(39850400004)(346002)(376002)(366004)(136003)(76116006)(91956017)(66556008)(33656002)(66946007)(66446008)(4326008)(86362001)(64756008)(26005)(6506007)(186003)(2616005)(66476007)(2906002)(6486002)(53546011)(478600001)(316002)(8936002)(36756003)(71200400001)(6916009)(966005)(83380400001)(5660300002)(6512007)(54906003)(8676002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: BD8XfdvfEVBpJcBj89nfkoLaec8uaf5OoCpyf/4cq/kT694ayV/mqS86Nd7hUqu3GhKg9y8OsP/DYUXuF+W9P3bc6hw5FTcnqwj7fyTeCzcJRrV9WfqEkLZAtmnFpwIbWZ57OOCGwp0AtX0zqUThWUMAnvmo09q+Ay7jPAkvg8bSa8BZy9WzH8vpcduGEMVXII/L9zKr2Do/cp6cTh8/G7oQWw4zM41qnGE73pVMIuN95o1+lxfau2IarqJSLab/jH1GNdbr7ZfaZMYhJvE/wOcFsUCY1mRhN7eqXobgQVuFHudMdM+h4/J1G7LETEkiGY4pXMJBCmm7n1Pg+oB10kZ44W3GawfuUggiwHu1IjEEm2vQIbhiYndKVXE9Bv7+zG0fV2Gbf7BKBqN9wS8kr9oJiogMmx7iMIsrgbYjMC8Nv6j+zF5YOodsycDj/i40Wn1kgYbDd6QRp2sbvvm22w5guR2ufCKkZnuaqbP4LKipTOf4kCu2oII+yWe2ObafmztPqXDjf0TFzDMAKUhu3EbFM+N5SonENvJ17nmiLrndIFqT5WEX4QzaHPmhAD3pk6iTePQlRHu2rieg0n7gc3YAheLgpElGE9lr1x/WQK+Ac/Wn8jT3ee7onm33RUObYJRRYtXZc0qjn1xd1/vo6A== x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: <802F03DE80EB914483A557CED3347FCD@eurprd08.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4214 Original-Authentication-Results: verisure.com; dkim=none (message not signed) header.d=none; verisure.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT049.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 87ba08ec-9f70-481e-8da3-08d84f437506 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: A5+jR+taWobMW2Um3IR1LyEpQWz5MU2952zxF2QbL+cDCzdLZqhcFZ7EcWlASa6Dk/eK4QQNKKa540GlSsvlUpJkVY0qPjjOBuZupgH8kAUXOFrZqjcbqGXY1UgqGOxqDX1XVw+tB+GLxdhmGA28eqKr0PnIsuMEZMdl7SXBfsE1vlEQtophCfVMIHuWKlWXtOfQYT3p0v5jzjNxRJXVdiUHr8orHhjKxEcEPEqVEOihf+eUO7BSVaUVCQzTAUCrUDNYbSbPBMDsfVdkCC57DHJdjOsi5oIw1MVolawluzUjZb5TlHnHOvhR4pe72EqmkD7CbAqQYHYMtEfc7jRGqVgyoWhIsSlocmBTf2BXABRq2xcw7ZFMaXSrcoA4YiSHPcmyCew8xAwChnFrPMkus0dXq0wV1Zs4aS9NqfAbFSbnlFXkC/UaQCysghPcjT3B8vJN4qdNCEKU0NwQdhuKaHCqH6HlJ6HcirtEIVN6Srw= X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(376002)(346002)(136003)(39850400004)(396003)(46966005)(81166007)(47076004)(82740400003)(36756003)(33656002)(70206006)(6486002)(70586007)(6506007)(53546011)(186003)(316002)(5660300002)(336012)(6862004)(2616005)(966005)(86362001)(107886003)(4326008)(83380400001)(54906003)(8936002)(478600001)(2906002)(8676002)(82310400003)(356005)(26005)(6512007); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Sep 2020 13:24:21.2895 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 967d1109-d652-423d-2eb3-08d84f4380aa X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DB5EUR03FT049.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB5359 X-Spam-Status: No, score=-14.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org 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: , X-List-Received-Date: Wed, 02 Sep 2020 13:24:25 -0000 DQoNCj4gT24gMjkgQXVnIDIwMjAsIGF0IDA5OjM1LCBGcmVkcmlrIEhlZGVyc3RpZXJuYSA8ZnJl ZHJpay5oZWRlcnN0aWVybmFAdmVyaXN1cmUuY29tPiB3cm90ZToNCj4gDQo+IEZvciBDb3J0ZXgt TSB0YXJnZXRzIHVzaW5nIGZsb2F0aW5nLXBvaW50LCBlZyB0aGUgQ29ydGV4LU00RiwgaXRzIG5v dCBwb3NzaWJsZSB0byBnZXQgYW55IGNhbGwtc3RhY2sgYmFja3RyYWNlIGlmIHNldHRpbmcgYSBi cmVha3BvaW50IGluIElTUi4NCj4gDQo+IFRoZSBleGNlcHRpb24gc3RhY2sgdW53aW5kZXIgZm9y IENvcnRleC1NIGRvZXMgbm90IGNvbnNpZGVyIGlmIGZsb2F0aW5nLXBvaW50IHJlZ2lzdGVycyB3 YXMgc3RhY2tlZCBvciBub3QsDQo+IGZ1cnRoZXIgdGhlIENvcnRleC1NIGhhcyB0d28gc3RhY2sg cG9pbnRlcnM6IE1TUCAoTWFpbiBTdGFjayBQb2ludGVyKSBhbmQgUFNQIChQcm9jZXNzIFN0YWNr IFBvaW50ZXIpLg0KPiBUaGlzIGlzIG5vdCBoYW5kbGVkIHdoZW4gR0RCIHRyaWVzIHRvIGJhY2t0 cmFjZSBpbiB0aGUgZXhjZXB0aW9uIHN0YWNrIHVud2luZGVyLg0KPiANCj4gVGhpcyBwYXRjaCBm aXhlcyB0aGlzLCBhbmQgZ2l2ZXMgYSBjb3JyZWN0IGNhbGwtc3RhY2sgYmFja3RyYWNlIGZyb20g YnJlYWtwb2ludHMgc2V0IGluIGEgaGFuZGxlciBvciBJU1IuDQoNClRoYW5rcyBmb3IgZG9pbmcg dGhpcyBmaXguIFRoaXMgbW9zdGx5IGxvb2tzIGZpbmUsIGJ1dCBjb21tZW50cyBpbmxpbmVkIGJl bG93Lg0KDQpIb3cgZWFzeSBpcyBpdCB0byBjb21waWxlIGEgYmluYXJ5IHRoYXQgZXhoaWJpdHMg dGhpcyBiZWhhdmlvdXI/IElmIHNvIHRoZW4gYQ0KdGVzdCBpbiB0ZXN0c3VpdGUvZ2RiLmFyY2gv IHdvdWxkIGJlIG5pY2UuIEZvciByZWZlcmVuY2UsIGFhcmNoNjQtc2lnaGFuZGxlci1yZWdzLmV4 cA0KaXMgYSBzaW1pbGFyIHRlc3QgYnV0IGZvciBBQXJjaDY0Lg0KDQo+IA0KPiBCZXN0IFJlZ2Fy ZHMsDQo+IEZyZWRyaWsgSGVkZXJzdGllcm5hDQoNCkhhdmUgeW91IHNpZ25lZCB0aGUgY29weXJp Z2h0IGFzc2lnbm1lbnQ/DQpodHRwczovL3NvdXJjZXdhcmUub3JnL2dkYi93aWtpL0NvbnRyaWJ1 dGlvbkNoZWNrbGlzdCNGU0ZfY29weXJpZ2h0X0Fzc2lnbm1lbnQNCg0KPiANCj4gU2VuaW9yIFNv ZnR3YXJlIERldmVsb3Blcg0KPiBWZXJpc3VyZSBJbm5vdmF0aW9uIENlbnRyZQ0KPiBNYWxtb2Ug U3dlZGVuDQo+IDxnZGItY29ydGV4LW0tZXhjZXB0aW9uLXVud2luZC1maXgucGF0Y2g+DQoNCg0K PiBkaWZmIC0tZ2l0IGEvZ2RiL0NoYW5nZUxvZyBiL2dkYi9DaGFuZ2VMb2cNCj4gaW5kZXggMWZm NDdjMzM1NS4uMWQ4MGU4Y2ZjOCAxMDA2NDQNCj4gLS0tIGEvZ2RiL0NoYW5nZUxvZw0KPiArKysg Yi9nZGIvQ2hhbmdlTG9nDQo+IEBAIC0xLDMgKzEsOSBAQA0KPiArMjAyMC0wOC0yOSAgRnJlZHJp ayBIZWRlcnN0aWVybmEgIDxmcmVkcmlrLmhlZGVyc3RpZXJuYUB2ZXJpc3VyZS5jb20+DQo+ICsJ ICAgIEFkYW0gUmVucXVpbmhhIDxhcmVucXVpbmhhQGNpbWVxLnFjLmNhPg0KPiArDQo+ICsJKiBh cm0tdGRlcC5jIChhcm1fbV9leGNlcHRpb25fY2FjaGUpOiBUcnkgdXNlIGNvcnJlY3Qgc3RhY2sN Cj4gKwlwb2ludGVyIGFuZCBzdGFjayBmcmFtZSBvZmZzZXQgd2hlbiB1bndpbmRpbmcuDQo+ICsN Cg0KSWRlYWxseSB0aGlzIHBhcnQgc2hvdWxkIGJlIGxlZnQgc2VwYXJhdGUgZnJvbSB0aGUgcGF0 Y2ggYXMgdG8gcHJldmVudA0KbWVyZ2UgaXNzdWVzLg0KDQo+ICAyMDIwLTA4LTI5ICBQZWRybyBB bHZlcyAgPHBlZHJvQHBhbHZlcy5uZXQ+DQo+DQo+ICAJKiBwcm9nc3BhY2UuYyAocHJpbnRfcHJv Z3JhbV9zcGFjZSk6IFVzZSBhbGxfaW5mZXJpb3JzLiAgU3dpdGNoIHRvDQo+IGRpZmYgLS1naXQg YS9nZGIvYXJtLXRkZXAuYyBiL2dkYi9hcm0tdGRlcC5jDQo+IGluZGV4IDA3NGVlZGI0ODAuLmVk N2Q0YjFkMzcgMTAwNjQ0DQo+IC0tLSBhL2dkYi9hcm0tdGRlcC5jDQo+ICsrKyBiL2dkYi9hcm0t dGRlcC5jDQo+IEBAIC0yOTIzLDE0ICsyOTIzLDU5IEBAIGFybV9tX2V4Y2VwdGlvbl9jYWNoZSAo c3RydWN0IGZyYW1lX2luZm8gKnRoaXNfZnJhbWUpDQo+ICAgIHN0cnVjdCBnZGJhcmNoICpnZGJh cmNoID0gZ2V0X2ZyYW1lX2FyY2ggKHRoaXNfZnJhbWUpOw0KPiAgICBlbnVtIGJmZF9lbmRpYW4g Ynl0ZV9vcmRlciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7DQo+ICAgIHN0cnVjdCBh cm1fcHJvbG9ndWVfY2FjaGUgKmNhY2hlOw0KPiArICBDT1JFX0FERFIgbHI7DQo+ICsgIENPUkVf QUREUiBzcDsNCj4gICAgQ09SRV9BRERSIHVud291bmRfc3A7DQo+ICAgIExPTkdFU1QgeHBzcjsN Cj4gKyAgdWludDMyX3QgbWFpbl9zdGFja191c2VkOw0KPiArICB1aW50MzJfdCBleHRlbmRlZF9m cmFtZV91c2VkOw0KPg0KPiAgICBjYWNoZSA9IEZSQU1FX09CU1RBQ0tfWkFMTE9DIChzdHJ1Y3Qg YXJtX3Byb2xvZ3VlX2NhY2hlKTsNCj4gICAgY2FjaGUtPnNhdmVkX3JlZ3MgPSB0cmFkX2ZyYW1l X2FsbG9jX3NhdmVkX3JlZ3MgKHRoaXNfZnJhbWUpOw0KPg0KPiAtICB1bndvdW5kX3NwID0gZ2V0 X2ZyYW1lX3JlZ2lzdGVyX3Vuc2lnbmVkICh0aGlzX2ZyYW1lLA0KPiAtCQkJCQkgICAgQVJNX1NQ X1JFR05VTSk7DQo+ICsgIC8qIEFSTXY3LU0gQXJjaGl0ZWN0dXJlIFJlZmVyZW5jZSAiQjEuNS42 IEV4Y2VwdGlvbiBlbnRyeSBiZWhhdmlvciINCj4gKyAgICAgZGVzY3JpYmVzIHdoaWNoIGJpdHMg aW4gTFIgdGhhdCBkZWZpbmUgd2hpY2ggc3RhY2sgd2FzIHVzZWQgcHJpb3INCj4gKyAgICAgdG8g dGhlIGV4Y2VwdGlvbiBhbmQgaWYgRlBVIGlzIHVzZWQgKGNhdXNpbmcgZXh0ZW5kZWQgc3RhY2sg ZnJhbWUpLiAgKi8NCj4gKw0KPiArICBsciA9IGdldF9mcmFtZV9yZWdpc3Rlcl91bnNpZ25lZCAo dGhpc19mcmFtZSwgQVJNX0xSX1JFR05VTSk7DQo+ICsgIHNwID0gZ2V0X2ZyYW1lX3JlZ2lzdGVy X3Vuc2lnbmVkICh0aGlzX2ZyYW1lLCBBUk1fU1BfUkVHTlVNKTsNCj4gKw0KPiArICAvKiBDaGVj ayBpZiBtYWluIHN0YWNrIHdhcyB1c2VkLiAgKi8NCj4gKyAgbWFpbl9zdGFja191c2VkID0gKChs ciAmIDB4ZikgIT0gMHhkKTsNCg0KVGhpcyB0b29rIG1lIGEgd2hpbGUgdG8gY29uZmlybS4gQ291 bGQgeW91IG1lbnRpb24gdGhhdCB5b3UgYXJlIGNoZWNraW5nIGZvcg0KU1BTRUwgaW4gdGhlIGNv bW1lbnQuIEFsc28sIEkgd29uZGVyIGlmIGl04oCZcyB3b3J0aCBjaGVja2luZyB0aGUgb3RoZXIg Yml0cyBpbiBsci4NClllcyB0aGV5IHNob3VsZCBiZSBhbGwgb25lcyBpbiBlaXRoZXIgY2FzZS4g QnV0IEnigJlkIHJhdGhlciBiZSBhIGxpdHRsZSBjYXV0aW91cy4NCk9ubHkgZ28gaW50byB0aGUg ZWxzZSBjYXNlIGlmIGFsbCB0aGUgYml0cyBhcmUgY29ycmVjdC4NCg0KPiArICBpZiAobWFpbl9z dGFja191c2VkKQ0KPiArICAgIHsNCj4gKyAgICAgIC8qIE1haW4gc3RhY2sgdXNlZCwgdXNlIE1T UCBhcyBTUC4gICovDQo+ICsgICAgICB1bndvdW5kX3NwID0gc3A7DQo+ICsgICAgfQ0KPiArICBl bHNlDQo+ICsgICAgew0KPiArICAgICAgLyogVGhyZWFkIChwcm9jZXNzKSBzdGFjayB1c2VkLg0K PiArICAgICAgICAgUG90ZW50aWFsbHkgdGhpcyBjb3VsZCBiZSBvdGhlciByZWdpc3RlciBkZWZp bmVkIGJ5IHRhcmdldCwgYnV0IFBTUA0KPiArICAgICAgICAgY2FuIGJlIGNvbnNpZGVyZWQgYSBz dGFuZGFyZCBuYW1lIGZvciB0aGUgIlByb2Nlc3MgU3RhY2sgUG9pbnRlciIuDQo+ICsgICAgICAg ICBUbyBiZSBmdWxseSBhd2FyZSBvZiBzeXN0ZW0gcmVnaXN0ZXJzIGxpa2UgTVNQIGFuZCBQU1As IHRoZXNlIGNvdWxkDQo+ICsgICAgICAgICBiZSBhZGRlZCB0byBhIHNlcGFyYXRlIFhNTCBhcm0t bS1zeXN0ZW0tcHJvZmlsZSB0aGF0IGlzIHZhbGlkIGZvcg0KPiArICAgICAgICAgQVJNdjYtTSBh bmQgQVJNdjctTSBhcmNoaXRlY3R1cmVzLiBBbHNvIHRvIGJlIGFibGUgdG8gZGVidWcgZWcgYQ0K PiArICAgICAgICAgY29yZWZpbGUgb2ZmLWxpbmUsIHRoZW4gdGhlc2UgcmVnaXN0ZXJzIG11c3Qg YmUgZGVmaW5lZCBieSBHREIsDQo+ICsgICAgICAgICBhbmQgYWxzbyBiZSBpbmNsdWRlZCBpbiB0 aGUgY29yZWZpbGUgcmVnc2V0cy4gICovDQo+ICsNCj4gKyAgICAgIGludCBwc3BfcmVnbnVtID0g dXNlcl9yZWdfbWFwX25hbWVfdG9fcmVnbnVtIChnZGJhcmNoLCAicHNwIiwgLTEpOw0KPiArICAg ICAgaWYgKHBzcF9yZWdudW0gPT0gLTEpDQo+ICsgICAgICAgIHsNCj4gKyAgICAgICAgICAvKiBU aHJlYWQgKHByb2Nlc3MpIHN0YWNrIGNvdWxkIG5vdCBiZSBmZXRjaGVkLA0KPiArICAgICAgICAg ICAgIGdpdmUgd2FybmluZyBhbmQgZXhpdC4gICovDQo+ICsNCj4gKyAgICAgICAgICB3YXJuaW5n IChfKCJubyBQU1AgdGhyZWFkIHN0YWNrIHVud2luZGluZyBzdXBwb3J0ZWQsIGV4aXRpbmcuIikp Ow0KDQpJIGRvbuKAmXQgdGhpbmsgeW91IG1lYW4gZXhpdC4gTWF5YmUganVzdCByZW1vdmUg4oCc ZXhpdGluZ+KAnSBmcm9tIHRoZSBzdHJpbmcuDQoNCj4gKw0KPiArICAgICAgICAgIC8qIFRlcm1p bmF0ZSBhbnkgZnVydGhlciBzdGFjayB1bndpbmRpbmcgYnkgcmVmZXIgdG8gc2VsZi4gICovDQo+ ICsgICAgICAgICAgY2FjaGUtPnByZXZfc3AgPSBzcDsNCj4gKyAgICAgICAgICByZXR1cm4gY2Fj aGU7DQo+ICsgICAgICAgIH0NCj4gKyAgICAgIGVsc2UNCj4gKyAgICAgICAgew0KPiArICAgICAg ICAgIC8qIFRocmVhZCAocHJvY2Vzcykgc3RhY2sgdXNlZCwgdXNlIFBTUCBhcyBTUC4gICovDQo+ ICsgICAgICAgICAgdW53b3VuZF9zcCA9IGdldF9mcmFtZV9yZWdpc3Rlcl91bnNpZ25lZCAodGhp c19mcmFtZSwgcHNwX3JlZ251bSk7DQo+ICsgICAgICAgIH0NCj4gKyAgICB9DQo+DQo+ICAgIC8q IFRoZSBoYXJkd2FyZSBzYXZlcyBlaWdodCAzMi1iaXQgd29yZHMsIGNvbXByaXNpbmcgeFBTUiwN Cj4gICAgICAgUmV0dXJuQWRkcmVzcywgTFIgKFIxNCksIFIxMiwgUjMsIFIyLCBSMSwgUjAuICBT ZWUgZGV0YWlscyBpbg0KPiBAQCAtMjk0MCwxNSArMjk4NSw0NyBAQCBhcm1fbV9leGNlcHRpb25f Y2FjaGUgKHN0cnVjdCBmcmFtZV9pbmZvICp0aGlzX2ZyYW1lKQ0KPiAgICBjYWNoZS0+c2F2ZWRf cmVnc1sxXS5hZGRyID0gdW53b3VuZF9zcCArIDQ7DQo+ICAgIGNhY2hlLT5zYXZlZF9yZWdzWzJd LmFkZHIgPSB1bndvdW5kX3NwICsgODsNCj4gICAgY2FjaGUtPnNhdmVkX3JlZ3NbM10uYWRkciA9 IHVud291bmRfc3AgKyAxMjsNCj4gLSAgY2FjaGUtPnNhdmVkX3JlZ3NbMTJdLmFkZHIgPSB1bndv dW5kX3NwICsgMTY7DQo+IC0gIGNhY2hlLT5zYXZlZF9yZWdzWzE0XS5hZGRyID0gdW53b3VuZF9z cCArIDIwOw0KPiAtICBjYWNoZS0+c2F2ZWRfcmVnc1sxNV0uYWRkciA9IHVud291bmRfc3AgKyAy NDsNCj4gKyAgY2FjaGUtPnNhdmVkX3JlZ3NbQVJNX0lQX1JFR05VTV0uYWRkciA9IHVud291bmRf c3AgKyAxNjsNCj4gKyAgY2FjaGUtPnNhdmVkX3JlZ3NbQVJNX0xSX1JFR05VTV0uYWRkciA9IHVu d291bmRfc3AgKyAyMDsNCj4gKyAgY2FjaGUtPnNhdmVkX3JlZ3NbQVJNX1BDX1JFR05VTV0uYWRk ciA9IHVud291bmRfc3AgKyAyNDsNCj4gICAgY2FjaGUtPnNhdmVkX3JlZ3NbQVJNX1BTX1JFR05V TV0uYWRkciA9IHVud291bmRfc3AgKyAyODsNCg0KVGhhbmtzIGZvciBzd2l0Y2hpbmcgdGhpcyB0 byB1c2UgdGhlIGVudW1zLg0KDQo+DQo+ICsgIC8qIENoZWNrIGlmIGV4dGVuZGVkIHN0YWNrIGZy YW1lIChGUFUgcmVncyBzdG9yZWQpIHdhcyB1c2VkLiAgKi8NCj4gKyAgZXh0ZW5kZWRfZnJhbWVf dXNlZCA9ICgobHIgJiAoMSA8PCA0KSkgPT0gMCk7DQo+ICsgIGlmIChleHRlbmRlZF9mcmFtZV91 c2VkKQ0KPiArICAgIHsNCj4gKyAgICAgIGludCBpOw0KPiArICAgICAgaW50IGZwdV9yZWdzX3N0 YWNrX29mZnNldDsNCj4gKw0KPiArICAgICAgLyogVGhpcyBjb2RlIGRvZXMgbm90IHRha2UgaW50 byBhY2NvdW50IHRoZSBsYXp5IHN0YWNraW5nLCBzZWUgIkxhenkNCj4gKyAgICAgICAgIGNvbnRl eHQgc2F2ZSBvZiBGUCBzdGF0ZSIsIGluIEIxLjUuNywgYWxzbyBBUk0gQU4yOTgsIHN1cHBvcnRl ZA0KPiArICAgICAgICAgYnkgQ29ydGV4LU00RiBhcmNoaXRlY3R1cmUuIEdpdmUgYSB3YXJuaW5n IGFuZCB0cnkgZG8gYmVzdCBlZmZvcnQuDQo+ICsgICAgICAgICBUbyBmdWxseSBoYW5kbGUgdGhp cyB0aGUgRlBDQ1IgcmVnaXN0ZXIgKEZsb2F0aW5nLXBvaW50IENvbnRleHQNCj4gKyAgICAgICAg IENvbnRyb2wgUmVnaXN0ZXIpIG5lZWRzIHRvIGJlIHJlYWQgb3V0IGFuZCB0aGUgYml0cyBBU1BF TiBhbmQgTFNQRU4NCj4gKyAgICAgICAgIGNvdWxkIGJlIGNoZWNrZWQgdG8gc2V0dXAgY29ycmVj dCBsYXp5IHN0YWNrZWQgRlAgcmVnaXN0ZXJzLiAgKi8NCj4gKw0KPiArICAgICAgd2FybmluZyAo Xygibm8gRlBVIGxhenkgc3RhY2sgdW53aW5kaW5nIHN1cHBvcnRlZCwgY2hlY2sgRlBDQ1IuIikp Ow0KDQpUaGlzIG1lYW5zIHRoYXQgd2Ugd2lsbCBhbHdheXMgZ2V0IGEgd2FybmluZyBpZiB0aGUg ZXh0ZW5kZWQgZnJhbWUgaXMgdXNlZC4NCknigJlkIHJhdGhlciB0aGF0IGRpZG7igJl0IGhhcHBl bi4NCkhvdyBlYXN5IHdvdWxkIGJlIGJlIHRvIGNoZWNrIHRoZSBGUENDUiByZWdpc3RlciBhbmQg dGhlbiBnaXZlIGEgd2FybmluZyBvbmx5IGlmDQpsYXp5IHN0YWNraW5nIGlzIGJlaW5nIHVzZWQ/ DQoNCj4gKw0KPiArICAgICAgZnB1X3JlZ3Nfc3RhY2tfb2Zmc2V0ID0gdW53b3VuZF9zcCArIDB4 MjA7DQo+ICsgICAgICBmb3IgKGkgPSAwOyBpIDwgMTY7IGkrKykNCj4gKyAgICAgICAgew0KPiAr ICAgICAgICAgIGNhY2hlLT5zYXZlZF9yZWdzW0FSTV9EMF9SRUdOVU0gKyBpXS5hZGRyID0gZnB1 X3JlZ3Nfc3RhY2tfb2Zmc2V0Ow0KPiArICAgICAgICAgIGZwdV9yZWdzX3N0YWNrX29mZnNldCAr PSA0Ow0KPiArICAgICAgICB9DQo+ICsgICAgICBjYWNoZS0+c2F2ZWRfcmVnc1tBUk1fRlBTQ1Jf UkVHTlVNXS5hZGRyID0gdW53b3VuZF9zcCArIDB4NjA7DQo+ICsNCj4gKyAgICAgIC8qIE9mZnNl dCAweDY0IGlzIHJlc2VydmVkLiAgKi8NCj4gKyAgICAgIGNhY2hlLT5wcmV2X3NwID0gdW53b3Vu ZF9zcCArIDB4Njg7DQo+ICsgICAgfQ0KPiArICBlbHNlDQo+ICsgICAgew0KPiArICAgICAgLyog QmFzaWMgZnJhbWUgdHlwZSB1c2VkLiAgKi8NCj4gKyAgICAgIGNhY2hlLT5wcmV2X3NwID0gdW53 b3VuZF9zcCArIDMyOw0KDQpUaGUgbWl4IG9mIGhleCBhbmQgZGVjaW1hbCBpbiB0aGUgZnVuY3Rp b24gaXMgYSBsaXR0bGUgZ2xhcmluZy4NCkNvdWxkIHlvdSBzd2l0Y2ggdGhpcyBvbmUgdG8gMHgy MC4NCg0KPiArICAgIH0NCj4gKw0KPiAgICAvKiBJZiBiaXQgOSBvZiB0aGUgc2F2ZWQgeFBTUiBp cyBzZXQsIHRoZW4gdGhlcmUgaXMgYSBmb3VyLWJ5dGUNCj4gICAgICAgYWxpZ25lciBiZXR3ZWVu IHRoZSB0b3Agb2YgdGhlIDMyLWJ5dGUgc3RhY2sgZnJhbWUgYW5kIHRoZQ0KPiAgICAgICBwcmV2 aW91cyBjb250ZXh0J3Mgc3RhY2sgcG9pbnRlci4gICovDQo+IC0gIGNhY2hlLT5wcmV2X3NwID0g dW53b3VuZF9zcCArIDMyOw0KPiAgICBpZiAoc2FmZV9yZWFkX21lbW9yeV9pbnRlZ2VyICh1bndv dW5kX3NwICsgMjgsIDQsIGJ5dGVfb3JkZXIsICZ4cHNyKQ0KPiAgICAgICAgJiYgKHhwc3IgJiAo MSA8PCA5KSkgIT0gMCkNCj4gICAgICBjYWNoZS0+cHJldl9zcCArPSA0Ow0KDQoNCg0KVGhhbmtz LA0KQWxhbi4NCg0KDQo=