From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2085.outbound.protection.outlook.com [40.107.20.85]) by sourceware.org (Postfix) with ESMTPS id 5DD973857812 for ; Mon, 14 Sep 2020 14:44:41 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 5DD973857812 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=7zSFUPovSG8jcRP9OWqsL0SFouuhi5IRtr9Yqpf1uC4=; b=qBrk42Ayq1SOd+p8COgCkU1FA3XSmlLWNBSn45LlpSeQVWdpZRxjzDygmJyH7XEpNef0WTABJOvFwrPFBOWE9qvi+loGbitLMj8EwaCaLstseDc62q53hD4X+CuFXIZpCnyREXCiEnNvQ3Rw7zCAOTVGTBH/KNtfezGkCcXBHv8= Received: from DB6PR0402CA0021.eurprd04.prod.outlook.com (2603:10a6:4:91::31) by HE1PR0802MB2331.eurprd08.prod.outlook.com (2603:10a6:3:c1::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3326.24; Mon, 14 Sep 2020 14:44:39 +0000 Received: from DB5EUR03FT039.eop-EUR03.prod.protection.outlook.com (2603:10a6:4:91:cafe::b1) by DB6PR0402CA0021.outlook.office365.com (2603:10a6:4:91::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3370.16 via Frontend Transport; Mon, 14 Sep 2020 14:44:39 +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 DB5EUR03FT039.mail.protection.outlook.com (10.152.21.120) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3370.16 via Frontend Transport; Mon, 14 Sep 2020 14:44:38 +0000 Received: ("Tessian outbound 7a6fb63c1e64:v64"); Mon, 14 Sep 2020 14:44:38 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 89812442ee8bf86f X-CR-MTA-TID: 64aa7808 Received: from e322f87a7791.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 4415BA24-E1CC-4161-BAA0-B2A0370F684E.1; Mon, 14 Sep 2020 14:44:26 +0000 Received: from EUR05-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e322f87a7791.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 14 Sep 2020 14:44:26 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SwcJzJwFWU4oDRZcZl6n5MofPmL0XxiuJhRkxHBkgDTfyF3QiMPvEa06ZOu3QWaOMd8htNpDSwoPHMi5HMqcYWd3Kgoj+umtz0xoSeJJBjDwReyHviS8PdApC6bfUUsdkX/mRPI+xvsvyUaE75P7K4FiQ5ocVtR1UH1wCOW0J8iY9MYhiowdhHsb6bAw8TftsXCxr4wVyQc3tjiiq3mg3RC/HBL+E6UmgBmJvvS3ilip797PzKgZPvHFbrofp1r9ZOXxxd7Z406P3z7sQHwU2e+kqy1QWPT4KoIRcnB0r2WEAmOCQs9wdvMYWiqgaPbD5AYjolYfgStbAJTARUkTcQ== 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=7zSFUPovSG8jcRP9OWqsL0SFouuhi5IRtr9Yqpf1uC4=; b=ZGBVNnfxBbBGwJjyj9w4tRahGufA1ofZ9mao4imjqIXnHwFTjMon9HM741qI0AhWM3SgCiCkjaA1mjORtdfumVKhA5Zv3oG0YyYLy39v0tPzlCzq80oJu9Mc60CDs4ZlYd8rdQupW2zNtty3yojOxTfuOnsrzb0iriWjLmSwsU9tMmBNp/liB7pS3dfZbnKPEtYzWQMcRVpNHhJ7+H+eJg/SDWPjgc9gE1kV4eMjie8WngXUf9mnktARDrL0YoQigb0aYH4KIAjk5CRPnuU6H7E5fUP3zvoePbHmJ2Jnaznw+giDydtkNBcTQBZ8MNvukP4BfZOBO2QJvwnICP1KXA== 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=7zSFUPovSG8jcRP9OWqsL0SFouuhi5IRtr9Yqpf1uC4=; b=qBrk42Ayq1SOd+p8COgCkU1FA3XSmlLWNBSn45LlpSeQVWdpZRxjzDygmJyH7XEpNef0WTABJOvFwrPFBOWE9qvi+loGbitLMj8EwaCaLstseDc62q53hD4X+CuFXIZpCnyREXCiEnNvQ3Rw7zCAOTVGTBH/KNtfezGkCcXBHv8= Received: from AM6PR08MB3957.eurprd08.prod.outlook.com (2603:10a6:20b:a2::14) by AM6PR08MB4850.eurprd08.prod.outlook.com (2603:10a6:20b:d2::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3370.16; Mon, 14 Sep 2020 14:44:24 +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.3370.019; Mon, 14 Sep 2020 14:44:24 +0000 From: Alan Hayward To: Fredrik Hederstierna , Joel Brobecker 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+Mj6kS0IGPxnERX3alVXOQAgAYHOwCABKHsgIACaP8AgAXgSYA= Date: Mon, 14 Sep 2020 14:44:24 +0000 Message-ID: <48292CAD-52D7-4471-97D7-E360C8EF3652@arm.com> References: <790E863F-88F4-47D7-A70A-FA22779ACC2A@arm.com> <04F0F9D3-6A7D-4F6E-8AE7-93F360CEEA91@arm.com> <6AB27C15-60DF-43A2-863A-C250AD034492@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.120.23.2.1) 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: 13f723f2-990b-4716-9a13-08d858bcb52a x-ms-traffictypediagnostic: AM6PR08MB4850:|HE1PR0802MB2331: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:1201;OLM:1201; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: qxAVazYnb+ZcYUu4qjQuZy2tpPAayejT2JpMUi13DkZTi6Jj1Ul4L5wU+JZqVWHeybtmz4qNAKGjz0lFmxptbXhRio2Kzd7eqWLmRdnUWomT99N1Am4cvblSmro5pLBqDSXAVXiQ/G/69U0xCHXbX6OXsLLD1MfGAAl4RkTf8xuTyYOcodWKfkYTdd/Ln6ciLMygmbt4fCu4+SeP4HXZEgINZ/km85Pu14ngWtNypnc6iyucownZmR/iUvMMqlZNgeJndysffUqVMv7cCklKIvYARiMAGtE9fC9heezIvXZWzU6nkG5CvY4Y3NXUZWfWngSHmj90/WDkXWiBsmVqQ0z3TnAcLkvFEJLpzPtY+5Sz+/9r0ljXt83IzIziBGe7KkqgQCI3zOZDvl0dvb5XEA== 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)(136003)(39860400002)(376002)(396003)(346002)(366004)(53546011)(6506007)(26005)(6486002)(2906002)(316002)(186003)(8676002)(966005)(2616005)(36756003)(6512007)(8936002)(4326008)(86362001)(5660300002)(71200400001)(110136005)(54906003)(478600001)(66446008)(76116006)(91956017)(66556008)(33656002)(64756008)(66946007)(66476007)(83380400001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: cBAapPwCdrFsig9HJOHGXF/0WRWc3d/I2tjHoeiZxbe8D/Y+gaps+M+ZWBB1OyRJjvQGHq7z6cbds0R0GW14Xx0xrdNCoUXykbjchwJA6tgIGemfKgtA3G9OvHXZ4HWB06rjMITbbq73uGle+HSoTpJ2nL4jDYJVYRDx5tHvdDJvrjwG+N4gDHP4h3ndPXE+uo+pbS89fIeNZu/GpIZDqAxxhkGg15swfUPBo4lx4FVGy+hRlynfH6P/0khLGC5WnbFAxjYH7QEB0pukTzMxDTg1EJIHZI+sJVvuq3XuXY6Kxcd1QcELUrrSacYOAxpzSzjlnnBp3QLiYb2RbtXNEytnfwSW7sSosIKXF8CEzxfkd66w4dF7ppcT3NfBAHw6RgBWQtcMOdtnaN3lqVzql8YGc34eoo8m6CgTh8BUZ8R8BXdLHOtCg+Vsvveiig5sownsb9K4+fKk9mYGDtSt4Pe4+UI1GOlSkR92MzI45CG8jnFEZlh9WJJkV2Qh7WKrmH/P1gMrh0bp6fFLnCqDv/FlJYYuHVZpG47/mVPss4cefO+dz+LrvwpCufggS1z4X8ht5GR8392zWYiUDdhp4Jnwl7CA/QTLxLoU6Zrxnq2lLSy+OdxBHzEe0v38RgHX/x6u/evnFFobOPP0wpQb1w== x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4850 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: DB5EUR03FT039.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 609afc62-d5e3-48ab-c992-08d858bcac9e X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: AKSidG3P5oDgCJwfXhhAnKBDt4ke/4NyiaMzlYt+De2hqq5CjRDb8Ktt83N9aRz+hxoWWW2vxoslJXAgTnG5ZBg+ao02slqgFP2HtqnMyYKHjAnWg0iZG1PQGQs/r3ryP0BoAhBRss3EqPRxb+3B2v4/gezs8Ur/coH3rKe3dYcUnkuImjV8IsddOnq6K1msntky/iy5RVHgUfQan0LvTPUXejs5Uzz6WmNuCLW+oK0heiOghcFePVHQKfV3ivnsL1gR+akhCsYAP5ge/z2CwR8T3MOGUEZ1UMO84v0smGeyxAsc6Yg7dhUkKvDBfcSbBBt7+Hyd4JoEhvuLRPh1j5AtuYRFHagMG/r2pSIk0R6Oilvg9zfZCei6vXzok7MPbFV8kvHzPKJsqTGZNFS67gDniOOe53OOGgTMWQtJcr4aLkg0HrMnxcGQ1ofUwC1vxeOsqU2YvdubgCoox+XvfIwTCbnzWQtwPwHltnEBKlA= 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)(39860400002)(346002)(376002)(136003)(396003)(46966005)(82310400003)(2616005)(82740400003)(53546011)(33656002)(6486002)(6506007)(8936002)(70586007)(36756003)(4326008)(478600001)(70206006)(47076004)(2906002)(316002)(110136005)(966005)(83380400001)(81166007)(86362001)(107886003)(8676002)(186003)(54906003)(356005)(6512007)(5660300002)(26005)(336012); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Sep 2020 14:44:38.9404 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 13f723f2-990b-4716-9a13-08d858bcb52a 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: DB5EUR03FT039.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0802MB2331 X-Spam-Status: No, score=-14.7 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: Mon, 14 Sep 2020 14:44:44 -0000 DQoNCj4gT24gMTAgU2VwIDIwMjAsIGF0IDIyOjAwLCBGcmVkcmlrIEhlZGVyc3RpZXJuYSA8ZnJl ZHJpay5oZWRlcnN0aWVybmFAdmVyaXN1cmUuY29tPiB3cm90ZToNCj4gDQo+IEhpIEFsYW4sDQo+ IHNvdW5kcyBncmVhdCEgdGhhbmsgZm9yIGNvbW1pdHRpbmcgdGhlIHBhdGNoLA0KDQoNCkNvbW1p dHRlZCB0byBoZWFkLg0KDQoNCj4gSSBkbyBub3QgaGF2ZSBhbnkgR0RCIEJ1Z3ppbGxhIGFjY291 bnQsIHNvIHBsZWFzZSBzdWJtaXQgYnVncyBmb3IgdGhlIGFkZGl0aW9uYWwgZmVhdHVyZXMuDQoN CkFkZGVkOg0KaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9 MjY2MTENCmh0dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTI2 NjEyDQpodHRwczovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0yNjYx Mw0KDQoNCj4gSXQgd291bGQgYmUgZ3JlYXQgaWYgcGF0Y2ggZ29lcyBpbiBiZWZvcmUgdGhlIEdE QiAxMCBicmFuY2hpbmcsDQoNCg0KSm9lbDoNCklzIGl0IG9rIHRvIHB1bGwgdGhpcyBwYXRjaCBh Y3Jvc3MgdG8gR0RCIDEwPyAoQW5kIGlzIHRoYXQgc29tZXRoaW5nIHlvdSBkbz8pDQpJdOKAmXMg QXJtIG9ubHksIGFuZCB3aWxsIG9ubHkgZWZmZWN0IHByb2dyYW1zIHRoYXQgYXJlIHVzaW5nIHNw ZWNpYWwgc3RhY2sgc2V0dXBzLg0KDQoNCkFsYW4uDQoNCj4gdGhhbmtzISBCZXN0IFJlZ2FyZHMs IEZyZWRyaWsNCj4gRnJvbTogQWxhbiBIYXl3YXJkIDxBbGFuLkhheXdhcmRAYXJtLmNvbT4NCj4g U2VudDogV2VkbmVzZGF5LCBTZXB0ZW1iZXIgOSwgMjAyMCAxMDoxMiBBTQ0KPiBUbzogRnJlZHJp ayBIZWRlcnN0aWVybmEgPGZyZWRyaWsuaGVkZXJzdGllcm5hQHZlcmlzdXJlLmNvbT4NCj4gQ2M6 IGdkYi1wYXRjaGVzXEBzb3VyY2V3YXJlLm9yZyA8Z2RiLXBhdGNoZXNAc291cmNld2FyZS5vcmc+ OyBuZCA8bmRAYXJtLmNvbT47IEphbWVzLUFkYW0gUmVucXVpbmhhIEhlbnJpIDxhcmVucXVpbmhh QGNpbWVxLnFjLmNhPg0KPiBTdWJqZWN0OiBSZTogW1BBVENIXSBGaXggZXhjZXB0aW9uIHN0YWNr IHVud2luZGluZyBmb3IgQVJNIENvcnRleC1NDQo+ICANCj4gT2ssIGV2ZXJ5dGhpbmcgbG9va3Mg Z29vZCB0byBtZSBub3cuDQo+IA0KPiBJdOKAmXMgZmFpcmx5IGNsZWFyIGluIHRoZSBjb2RlIHdo ZXJlIHRoZXJlIGlzIHN0aWxsIHdvcmsgdG8gYmUgZG9uZS4NCj4gRG8geW91IGhhdmUgYSBidWd6 aWxsYSBhY2NvdW50PyBJZiBzbywgY291bGQgeW91IHBsZWFzZSByYWlzZSB0d28gYnVncyBmb3Ig dGhlIHR3byBmZWF0dXJlcy4NCj4gSWYgbm90LCBJIGNhbiBhZGQgdGhlbS4NCj4gDQo+IERvZXNu 4oCZdCBsb29rIGxpa2UgeW91IGhhdmUgd3JpdGUgYWNjZXNzLCBzbyBJ4oCZbGwgbGVhdmUgdGhp cyB0byBlYXJseSBuZXh0IHdlZWsgYW5kIGlmIHRoZXJlDQo+IGhhdmUgYmVlbiBubyBvdGhlciBj b21tZW50cyB0aGVuIEnigJlsbCBjb21taXQgaXQuDQo+IA0KPiBUaGFua3MgZm9yIHRoZSBwYXRj aCENCj4gDQo+IEFsYW4uDQo+IA0KPiANCj4gPiBPbiA2IFNlcCAyMDIwLCBhdCAxMDoyNywgRnJl ZHJpayBIZWRlcnN0aWVybmEgPGZyZWRyaWsuaGVkZXJzdGllcm5hQHZlcmlzdXJlLmNvbT4gd3Jv dGU6DQo+ID4gDQo+ID4gSGksDQo+ID4gSSB1cGRhdGVkIHRoYXQgcGF0Y2ggdG8gYWRkcmVzcyB5 b3VyIGNvbW1lbnRzLCBzZWUgYmVsb3cgYW5kIGF0dGFjaGVkIHBhdGNoIHRha2UyDQo+ID4gDQo+ ID4+IEZyb206IEFsYW4gSGF5d2FyZCA8QWxhbi5IYXl3YXJkQGFybS5jb20+DQo+ID4+IFNlbnQ6 IFdlZG5lc2RheSwgU2VwdGVtYmVyIDIsIDIwMjAgMzoyNCBQTQ0KPiA+PiBUbzogRnJlZHJpayBI ZWRlcnN0aWVybmEgPGZyZWRyaWsuaGVkZXJzdGllcm5hQHZlcmlzdXJlLmNvbT4NCj4gPiANCj4g Pj4gSG93IGVhc3kgaXMgaXQgdG8gY29tcGlsZSBhIGJpbmFyeSB0aGF0IGV4aGliaXRzIHRoaXMg YmVoYXZpb3VyPyBJZiBzbyB0aGVuIGENCj4gPj4gdGVzdCBpbiB0ZXN0c3VpdGUvZ2RiLmFyY2gv IHdvdWxkIGJlIG5pY2UuIEZvciByZWZlcmVuY2UsIGFhcmNoNjQtc2lnaGFuZGxlci1yZWdzLmV4 cA0KPiA+PiBpcyBhIHNpbWlsYXIgdGVzdCBidXQgZm9yIEFBcmNoNjQuDQo+ID4gDQo+ID4gSSBo YXZlIG5vdCBoYWQgdGltZSB0byBmdXJ0aGVyIGxvb2sgaW50byB0aGlzLCBpdHMgcHJvYmFibHkg cG9zc2libGUgdG8gYWRkIHN1Y2ggYSB0ZXN0IGNhc2UsIGJ1dCBJIGhhdmUgbm8gcG9zc2liaWxp dHkgdG8gZG8gdGhpcyBjdXJyZW50bHkgdW5mb3J0dW5hdGVseS4NCj4gPiANCj4gPj4gSGF2ZSB5 b3Ugc2lnbmVkIHRoZSBjb3B5cmlnaHQgYXNzaWdubWVudD8NCj4gPiANCj4gPiBZZXMsIHRvIG15 IHVuZGVyc3RhbmRpbmcgZXZlcnl0aGluZyBpcyBjbGVhci4NCj4gPiANCj4gPj4+IGRpZmYgLS1n aXQgYS9nZGIvQ2hhbmdlTG9nIGIvZ2RiL0NoYW5nZUxvZw0KPiA+Pj4gaW5kZXggMWZmNDdjMzM1 NS4uMWQ4MGU4Y2ZjOCAxMDA2NDQNCj4gPj4+IC0tLSBhL2dkYi9DaGFuZ2VMb2cNCj4gPj4+ICsr KyBiL2dkYi9DaGFuZ2VMb2cNCj4gPj4+IEBAIC0xLDMgKzEsOSBAQA0KPiA+Pj4gKzIwMjAtMDgt MjkgIEZyZWRyaWsgSGVkZXJzdGllcm5hICA8ZnJlZHJpay5oZWRlcnN0aWVybmFAdmVyaXN1cmUu Y29tPg0KPiA+Pj4gKyAgICAgICAgIEFkYW0gUmVucXVpbmhhIDxhcmVucXVpbmhhQGNpbWVxLnFj LmNhPg0KPiA+Pj4gKw0KPiA+Pj4gKyAgICAgKiBhcm0tdGRlcC5jIChhcm1fbV9leGNlcHRpb25f Y2FjaGUpOiBUcnkgdXNlIGNvcnJlY3Qgc3RhY2sNCj4gPj4+ICsgICAgIHBvaW50ZXIgYW5kIHN0 YWNrIGZyYW1lIG9mZnNldCB3aGVuIHVud2luZGluZy4NCj4gPj4+ICsNCj4gPj4gDQo+ID4+IElk ZWFsbHkgdGhpcyBwYXJ0IHNob3VsZCBiZSBsZWZ0IHNlcGFyYXRlIGZyb20gdGhlIHBhdGNoIGFz IHRvIHByZXZlbnQNCj4gPj4gbWVyZ2UgaXNzdWVzLg0KPiA+IA0KPiA+IE9rLCByZW1vdmVkIGZy b20gcGF0Y2guDQo+ID4gDQo+ID4+PiArICAvKiBDaGVjayBpZiBtYWluIHN0YWNrIHdhcyB1c2Vk LiAgKi8NCj4gPj4+ICsgIG1haW5fc3RhY2tfdXNlZCA9ICgobHIgJiAweGYpICE9IDB4ZCk7DQo+ ID4+IA0KPiA+PiBUaGlzIHRvb2sgbWUgYSB3aGlsZSB0byBjb25maXJtLiBDb3VsZCB5b3UgbWVu dGlvbiB0aGF0IHlvdSBhcmUgY2hlY2tpbmcgZm9yDQo+ID4+IFNQU0VMIGluIHRoZSBjb21tZW50 LiBBbHNvLCBJIHdvbmRlciBpZiBpdOKAmXMgd29ydGggY2hlY2tpbmcgdGhlIG90aGVyIGJpdHMg aW4gbHIuDQo+ID4+IFllcyB0aGV5IHNob3VsZCBiZSBhbGwgb25lcyBpbiBlaXRoZXIgY2FzZS4g QnV0IEnigJlkIHJhdGhlciBiZSBhIGxpdHRsZSBjYXV0aW91cy4NCj4gPj4gT25seSBnbyBpbnRv IHRoZSBlbHNlIGNhc2UgaWYgYWxsIHRoZSBiaXRzIGFyZSBjb3JyZWN0Lg0KPiA+IA0KPiA+IE9r LCBhZGRlZCBtb3JlIGNsZWFyIGNvbW1lbnRzIGFuZCBtb3JlIHN0cmljdCBiaXQgY2hlY2tpbmcu DQo+ID4gDQo+ID4+PiArICAgICAgICAgIC8qIFRocmVhZCAocHJvY2Vzcykgc3RhY2sgY291bGQg bm90IGJlIGZldGNoZWQsDQo+ID4+PiArICAgICAgICAgICAgIGdpdmUgd2FybmluZyBhbmQgZXhp dC4gICovDQo+ID4+PiArDQo+ID4+PiArICAgICAgICAgIHdhcm5pbmcgKF8oIm5vIFBTUCB0aHJl YWQgc3RhY2sgdW53aW5kaW5nIHN1cHBvcnRlZCwgZXhpdGluZy4iKSk7DQo+ID4+IA0KPiA+PiBJ IGRvbuKAmXQgdGhpbmsgeW91IG1lYW4gZXhpdC4gTWF5YmUganVzdCByZW1vdmUg4oCcZXhpdGlu Z+KAnSBmcm9tIHRoZSBzdHJpbmcuDQo+ID4gDQo+ID4gT2ssIHJlbW92ZWQgJ2V4aXRpbmcnDQo+ ID4gDQo+ID4+PiArICAgICAgLyogVGhpcyBjb2RlIGRvZXMgbm90IHRha2UgaW50byBhY2NvdW50 IHRoZSBsYXp5IHN0YWNraW5nLCBzZWUgIkxhenkNCj4gPj4+ICsgICAgICAgICBjb250ZXh0IHNh dmUgb2YgRlAgc3RhdGUiLCBpbiBCMS41LjcsIGFsc28gQVJNIEFOMjk4LCBzdXBwb3J0ZWQNCj4g Pj4+ICsgICAgICAgICBieSBDb3J0ZXgtTTRGIGFyY2hpdGVjdHVyZS4gR2l2ZSBhIHdhcm5pbmcg YW5kIHRyeSBkbyBiZXN0IGVmZm9ydC4NCj4gPj4+ICsgICAgICAgICBUbyBmdWxseSBoYW5kbGUg dGhpcyB0aGUgRlBDQ1IgcmVnaXN0ZXIgKEZsb2F0aW5nLXBvaW50IENvbnRleHQNCj4gPj4+ICsg ICAgICAgICBDb250cm9sIFJlZ2lzdGVyKSBuZWVkcyB0byBiZSByZWFkIG91dCBhbmQgdGhlIGJp dHMgQVNQRU4gYW5kIExTUEVODQo+ID4+PiArICAgICAgICAgY291bGQgYmUgY2hlY2tlZCB0byBz ZXR1cCBjb3JyZWN0IGxhenkgc3RhY2tlZCBGUCByZWdpc3RlcnMuICAqLw0KPiA+Pj4gKw0KPiA+ Pj4gKyAgICAgIHdhcm5pbmcgKF8oIm5vIEZQVSBsYXp5IHN0YWNrIHVud2luZGluZyBzdXBwb3J0 ZWQsIGNoZWNrIEZQQ0NSLiIpKTsNCj4gPj4gDQo+ID4+IFRoaXMgbWVhbnMgdGhhdCB3ZSB3aWxs IGFsd2F5cyBnZXQgYSB3YXJuaW5nIGlmIHRoZSBleHRlbmRlZCBmcmFtZSBpcyB1c2VkLg0KPiA+ PiBJ4oCZZCByYXRoZXIgdGhhdCBkaWRu4oCZdCBoYXBwZW4uDQo+ID4+IEhvdyBlYXN5IHdvdWxk IGJlIGJlIHRvIGNoZWNrIHRoZSBGUENDUiByZWdpc3RlciBhbmQgdGhlbiBnaXZlIGEgd2Fybmlu ZyBvbmx5IGlmDQo+ID4+IGxhenkgc3RhY2tpbmcgaXMgYmVpbmcgdXNlZD8NCj4gPiANCj4gPiBN YXliZSBpdHMgcG9zc2libGUsIGJ1dCBoYXZlIHRvIHRpbWUgdG8gc29sdmUgdGhpcyBjdXJyZW50 bHksIGFkZGVkIG1lbW9yeSBhZGRyZXNzIG9mIEZQQ0NSLA0KPiA+IGl0cyBub3QgYSByZWdpc3Rl ciwgYnV0IHByb2JhYmx5IHBvc3NpYmxlIHRvIGRvIG1lbW9yeSByZWFkaW5nIHRvIGRpZyBkZWVw ZXIgaW50byB0aGlzLg0KPiA+IFJlbW92ZWQgd2FybmluZy4NCj4gPiANCj4gPj4+ICsgICAgICAv KiBCYXNpYyBmcmFtZSB0eXBlIHVzZWQuICAqLw0KPiA+Pj4gKyAgICAgIGNhY2hlLT5wcmV2X3Nw ID0gdW53b3VuZF9zcCArIDMyOw0KPiA+PiANCj4gPj4gVGhlIG1peCBvZiBoZXggYW5kIGRlY2lt YWwgaW4gdGhlIGZ1bmN0aW9uIGlzIGEgbGl0dGxlIGdsYXJpbmcuDQo+ID4+IENvdWxkIHlvdSBz d2l0Y2ggdGhpcyBvbmUgdG8gMHgyMC4NCj4gPiANCj4gPiBPaywgZml4ZWQuDQo+ID4gDQo+ID4g DQo+ID4gSGVyZSBpcyBDaGFuZ2VMb2csIHNlcGFyYXRlZCwgbmV3IHBhdGNoIHZhcmlhbnQgYXR0 YWNoZWQuDQo+ID4gDQo+ID4gMjAyMC0wOS0wNiAgRnJlZHJpayBIZWRlcnN0aWVybmEgIDxmcmVk cmlrLmhlZGVyc3RpZXJuYUB2ZXJpc3VyZS5jb20+DQo+ID4gICAgICAgICAgICBBZGFtIFJlbnF1 aW5oYSA8YXJlbnF1aW5oYUBjaW1lcS5xYy5jYT4NCj4gPiANCj4gPiAgICAgICAgKiBhcm0tdGRl cC5jIChhcm1fbV9leGNlcHRpb25fY2FjaGUpOiBUcnkgdXNlIGNvcnJlY3Qgc3RhY2sNCj4gPiAg ICAgICAgcG9pbnRlciBhbmQgc3RhY2sgZnJhbWUgb2Zmc2V0IHdoZW4gdW53aW5kaW5nLg0KPiA+ IA0KPiA+IA0KPiA+IEJSIEZyZWRyaWsNCj4gPiA8Z2RiLWNvcnRleC1tLWV4Y2VwdGlvbi11bndp bmQtZml4Mi5wYXRjaD4NCg0K