From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx08-00271601.pphosted.com (mx07-00271601.pphosted.com [91.207.212.217]) by sourceware.org (Postfix) with ESMTPS id 4F105386102B for ; Sat, 29 Aug 2020 08:35:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 4F105386102B Received: from pps.filterd (m0107397.ppops.net [127.0.0.1]) by mx08-00271601.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 07T8Tbgf023111; Sat, 29 Aug 2020 10:35:07 +0200 Received: from eur03-db5-obe.outbound.protection.outlook.com (mail-db5eur03lp2055.outbound.protection.outlook.com [104.47.10.55]) by mx08-00271601.pphosted.com with ESMTP id 337bt01j1y-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sat, 29 Aug 2020 10:35:07 +0200 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SGso0a7K6itq0STPxodV8f7YHQr1h8HZNcs7rWjhLKTyDUIS7rijiFprIy9kzIw0tqayHppLVrodjUXUoQXmYndQXoZIJmiT5Pw9QFztEeoNEgzodM0gMav48tOXmIU4ace4/OdjS4XFl3DQ5vFiAZxelHMIeart6rr3aV5CQlu9/jC7sbcKssl8vNgKCxuE2HaEAhe7sX6km9r5rUWCL4hx8KgS6UO/ASu5pK5kCM6thfYeZ0ku2noogIRGrreCzNfrVOjkyd394uZKVWWNScXjIrqipw1nqVLE47gQtiNITQCSMPpaehD8raqk9Kr+Z817OvfV++WYwg9tXKFaGQ== 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=vG6zHsZscqmfMAh0gKZt03yiTH6JFJnIAFM1mjYZHcU=; b=UUFIDReeUv21A8cr1211tDnFTh5sVGsf7na5N0TNoOb2naIuMX+9QRY+vO6lmqaRisHzCK8EjzsUi7auOCp+91Um092rg+zxGAbtN9K2Jx3goyjTRQHQEYIWDMyY44yLrCgVN2z55rXwd3ePnW6gu1ynCvy8Ll1dMG6AZ2q3G0TGWoUj+HypN/LSUaOQgQxHkYxyazXc1YRcN3Du3JhQaVNFLq9/XbV0x1o6yYU6TDSJORKHCxwmNsZkBitckN4ISXdFC3zUqyzEqClZxcrewhmJdFZHoPVxB0PRtMfmcgrUq1mQCFBW0vUGkoMtiAHH7xFV+Lwm7wziyk5/F0sy9w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=verisure.com; dmarc=pass action=none header.from=verisure.com; dkim=pass header.d=verisure.com; arc=none Received: from AM6PR10MB2150.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:4a::16) by AM7PR10MB3512.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:13b::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3326.23; Sat, 29 Aug 2020 08:35:04 +0000 Received: from AM6PR10MB2150.EURPRD10.PROD.OUTLOOK.COM ([fe80::2cee:1e9e:cb5e:57db]) by AM6PR10MB2150.EURPRD10.PROD.OUTLOOK.COM ([fe80::2cee:1e9e:cb5e:57db%7]) with mapi id 15.20.3305.032; Sat, 29 Aug 2020 08:35:04 +0000 From: Fredrik Hederstierna To: "gdb-patches\\@sourceware.org" CC: nd , James-Adam Renquinha Henri , Alan Hayward Subject: [PATCH] Fix exception stack unwinding for ARM Cortex-M Thread-Topic: [PATCH] Fix exception stack unwinding for ARM Cortex-M Thread-Index: AQHWfd9KZNChspL/gEKRcBh3+cqQUA== Date: Sat, 29 Aug 2020 08:35:04 +0000 Message-ID: References: , <790E863F-88F4-47D7-A70A-FA22779ACC2A@arm.com> In-Reply-To: <790E863F-88F4-47D7-A70A-FA22779ACC2A@arm.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-originating-ip: [81.236.17.7] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 59d45037-6b82-4719-437f-08d84bf66d89 x-ms-traffictypediagnostic: AM7PR10MB3512: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: LU5hDnDkc5Gts5DTQbxnbBQDxxut+tLaHIysV+fcCJjX0CQyV6VdhYLD3nSBVVTARCgOTxr0iU6cXMBvbK49Wv1rSsLHUJQYXlRnuIwUAvHHAS+jpPrfiU4kTSpyPGaoWGbuTHasVeHhaaxVQrTOXDvv21F2h1IHIPAbGKpIz+dliB3YMoO16Wc5lJCudzAHdo5Aj28brwofj6bPqL3cj0voAVJKOFSW1IpGaoCmM7VwlzUInKpE6wCGO3Ol2dHCOvmj1U3Qtr/fLZqToQcvmPjiMeEkZ7fSIBWgjiO+xrMSn4IislQyO8n4uCeWKtmdOr2cbMWLcwnkI0hXe92V0ou+TQgTAun2yvLfLv6Gr1bA2dDjAPVbXzXaWCc/qDBO x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM6PR10MB2150.EURPRD10.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(4636009)(396003)(366004)(376002)(136003)(39860400002)(346002)(4326008)(478600001)(54906003)(52536014)(44832011)(86362001)(316002)(4744005)(5660300002)(6916009)(2906002)(7696005)(8676002)(26005)(66556008)(64756008)(66446008)(9686003)(19627405001)(71200400001)(66476007)(55016002)(8936002)(6506007)(66946007)(66616009)(186003)(99936003)(76116006)(33656002)(491001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: GqBvqoM6adQts+lY5aBecCaQOvJ5Qqaj9pBAab89w3uenXrTcJwXzSjoovANBpH789VquKxLzrncW6dvmvCoLpDe/ALXwSgq5vxL1I5bV+e5PJxEeeqaypZT6jfoLMNSwd/8dkaOrAGyCu/Bwnyl4XUYQfe6u/ChTVrslbjpM+j+6PdBBSI4O32Mb4zrazH0OTGIi7hDo8eLd9uxOFgQwW10lCut2GxPUheEQFZSKmsuB9iLYZAk3FjEp0U5X+/Iv8t6ipYw+n8B/tekem9ecEuaRfMbchrtmGwdJmtV9Bl4OUiS49J+Xvm1uch4xa6qNrtej/lVv1AKnM+4Pcdsi5COsrSm6uSmZCYiEcs59S2+8caJLKA4fjFr2wGLJfo4cF1fBD0WcuAI0a+ANoqeX1uxyf97MLU5UPXbzWGpfBQrrDlKzEb01TVH6oKGooQNxgbv2c3v4lFmRrknhcJ5v4u28geF91ttHPbyEIrjpMavZJfMC5wscEOrLXsBkBBycIcA8bq6+csGydMkmlfwVIya+BbGnAeFY1bB9v7+miTnAjBRbqVAF44avA3tEoxetks541Afu6IqrtsOfI+q1J4B+2Z+on60/jdBko/l+APzFKUwy8A7mx3WtmGlqlzu49zS0POiQndHinffnm9Abg== x-ms-exchange-transport-forked: True Content-Type: multipart/mixed; boundary="_004_AM6PR10MB21507E7084C758828FC11B1BEF530AM6PR10MB2150EURP_" MIME-Version: 1.0 X-OriginatorOrg: verisure.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: AM6PR10MB2150.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 59d45037-6b82-4719-437f-08d84bf66d89 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Aug 2020 08:35:04.3036 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3055fa7f-a944-4927-801e-a62b63119e43 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: A32Je9qxfFfc4FsUds41iVV3qpDn47A9cveepbWgojGhsYdeuZt4CRZwJueDnWfrQC1ULQJo0Mo7QQOIVWvAOkrsYXkqBq5zRSnLzu/KDU+Vo2BtS2PyCZmbv/g1SwYE X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR10MB3512 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.235, 18.0.687 definitions=2020-08-29_04:2020-08-28, 2020-08-29 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 phishscore=0 suspectscore=0 impostorscore=0 malwarescore=0 priorityscore=1501 lowpriorityscore=0 clxscore=1011 mlxlogscore=868 adultscore=0 spamscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2006250000 definitions=main-2008290067 X-Spam-Status: No, score=-10.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, HTML_MESSAGE, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_PASS, TXREP 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-Content-Filtered-By: Mailman/MimeDel 2.1.29 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: Sat, 29 Aug 2020 08:35:14 -0000 --_004_AM6PR10MB21507E7084C758828FC11B1BEF530AM6PR10MB2150EURP_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable For Cortex-M targets using floating-point, eg the Cortex-M4F, its not possi= ble to get any call-stack backtrace if setting a breakpoint in ISR. The exception stack unwinder for Cortex-M does not consider if floating-poi= nt registers was stacked or not, further the Cortex-M has two stack pointers: MSP (Main Stack Pointer) and P= SP (Process Stack Pointer). This is not handled when GDB tries to backtrace in the exception stack unwi= nder. This patch fixes this, and gives a correct call-stack backtrace from breakp= oints set in a handler or ISR. Best Regards, Fredrik Hederstierna Senior Software Developer Verisure Innovation Centre Malmoe Sweden --_004_AM6PR10MB21507E7084C758828FC11B1BEF530AM6PR10MB2150EURP_ Content-Type: text/x-patch; name="gdb-cortex-m-exception-unwind-fix.patch" Content-Description: gdb-cortex-m-exception-unwind-fix.patch Content-Disposition: attachment; filename="gdb-cortex-m-exception-unwind-fix.patch"; size=5233; creation-date="Sat, 29 Aug 2020 08:31:49 GMT"; modification-date="Sat, 29 Aug 2020 08:32:16 GMT" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2dkYi9DaGFuZ2VMb2cgYi9nZGIvQ2hhbmdlTG9nCmluZGV4IDFmZjQ3YzMz NTUuLjFkODBlOGNmYzggMTAwNjQ0Ci0tLSBhL2dkYi9DaGFuZ2VMb2cKKysrIGIvZ2RiL0NoYW5n ZUxvZwpAQCAtMSwzICsxLDkgQEAKKzIwMjAtMDgtMjkgIEZyZWRyaWsgSGVkZXJzdGllcm5hICA8 ZnJlZHJpay5oZWRlcnN0aWVybmFAdmVyaXN1cmUuY29tPgorCSAgICBBZGFtIFJlbnF1aW5oYSA8 YXJlbnF1aW5oYUBjaW1lcS5xYy5jYT4KKworCSogYXJtLXRkZXAuYyAoYXJtX21fZXhjZXB0aW9u X2NhY2hlKTogVHJ5IHVzZSBjb3JyZWN0IHN0YWNrCisJcG9pbnRlciBhbmQgc3RhY2sgZnJhbWUg b2Zmc2V0IHdoZW4gdW53aW5kaW5nLgorCiAyMDIwLTA4LTI5ICBQZWRybyBBbHZlcyAgPHBlZHJv QHBhbHZlcy5uZXQ+CiAKIAkqIHByb2dzcGFjZS5jIChwcmludF9wcm9ncmFtX3NwYWNlKTogVXNl IGFsbF9pbmZlcmlvcnMuICBTd2l0Y2ggdG8KZGlmZiAtLWdpdCBhL2dkYi9hcm0tdGRlcC5jIGIv Z2RiL2FybS10ZGVwLmMKaW5kZXggMDc0ZWVkYjQ4MC4uZWQ3ZDRiMWQzNyAxMDA2NDQKLS0tIGEv Z2RiL2FybS10ZGVwLmMKKysrIGIvZ2RiL2FybS10ZGVwLmMKQEAgLTI5MjMsMTQgKzI5MjMsNTkg QEAgYXJtX21fZXhjZXB0aW9uX2NhY2hlIChzdHJ1Y3QgZnJhbWVfaW5mbyAqdGhpc19mcmFtZSkK ICAgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2ggPSBnZXRfZnJhbWVfYXJjaCAodGhpc19mcmFtZSk7 CiAgIGVudW0gYmZkX2VuZGlhbiBieXRlX29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJh cmNoKTsKICAgc3RydWN0IGFybV9wcm9sb2d1ZV9jYWNoZSAqY2FjaGU7CisgIENPUkVfQUREUiBs cjsKKyAgQ09SRV9BRERSIHNwOwogICBDT1JFX0FERFIgdW53b3VuZF9zcDsKICAgTE9OR0VTVCB4 cHNyOworICB1aW50MzJfdCBtYWluX3N0YWNrX3VzZWQ7CisgIHVpbnQzMl90IGV4dGVuZGVkX2Zy YW1lX3VzZWQ7CiAKICAgY2FjaGUgPSBGUkFNRV9PQlNUQUNLX1pBTExPQyAoc3RydWN0IGFybV9w cm9sb2d1ZV9jYWNoZSk7CiAgIGNhY2hlLT5zYXZlZF9yZWdzID0gdHJhZF9mcmFtZV9hbGxvY19z YXZlZF9yZWdzICh0aGlzX2ZyYW1lKTsKIAotICB1bndvdW5kX3NwID0gZ2V0X2ZyYW1lX3JlZ2lz dGVyX3Vuc2lnbmVkICh0aGlzX2ZyYW1lLAotCQkJCQkgICAgQVJNX1NQX1JFR05VTSk7CisgIC8q IEFSTXY3LU0gQXJjaGl0ZWN0dXJlIFJlZmVyZW5jZSAiQjEuNS42IEV4Y2VwdGlvbiBlbnRyeSBi ZWhhdmlvciIKKyAgICAgZGVzY3JpYmVzIHdoaWNoIGJpdHMgaW4gTFIgdGhhdCBkZWZpbmUgd2hp Y2ggc3RhY2sgd2FzIHVzZWQgcHJpb3IKKyAgICAgdG8gdGhlIGV4Y2VwdGlvbiBhbmQgaWYgRlBV IGlzIHVzZWQgKGNhdXNpbmcgZXh0ZW5kZWQgc3RhY2sgZnJhbWUpLiAgKi8KKworICBsciA9IGdl dF9mcmFtZV9yZWdpc3Rlcl91bnNpZ25lZCAodGhpc19mcmFtZSwgQVJNX0xSX1JFR05VTSk7Cisg IHNwID0gZ2V0X2ZyYW1lX3JlZ2lzdGVyX3Vuc2lnbmVkICh0aGlzX2ZyYW1lLCBBUk1fU1BfUkVH TlVNKTsKKworICAvKiBDaGVjayBpZiBtYWluIHN0YWNrIHdhcyB1c2VkLiAgKi8KKyAgbWFpbl9z dGFja191c2VkID0gKChsciAmIDB4ZikgIT0gMHhkKTsKKyAgaWYgKG1haW5fc3RhY2tfdXNlZCkK KyAgICB7CisgICAgICAvKiBNYWluIHN0YWNrIHVzZWQsIHVzZSBNU1AgYXMgU1AuICAqLworICAg ICAgdW53b3VuZF9zcCA9IHNwOworICAgIH0KKyAgZWxzZQorICAgIHsKKyAgICAgIC8qIFRocmVh ZCAocHJvY2Vzcykgc3RhY2sgdXNlZC4KKyAgICAgICAgIFBvdGVudGlhbGx5IHRoaXMgY291bGQg YmUgb3RoZXIgcmVnaXN0ZXIgZGVmaW5lZCBieSB0YXJnZXQsIGJ1dCBQU1AKKyAgICAgICAgIGNh biBiZSBjb25zaWRlcmVkIGEgc3RhbmRhcmQgbmFtZSBmb3IgdGhlICJQcm9jZXNzIFN0YWNrIFBv aW50ZXIiLgorICAgICAgICAgVG8gYmUgZnVsbHkgYXdhcmUgb2Ygc3lzdGVtIHJlZ2lzdGVycyBs aWtlIE1TUCBhbmQgUFNQLCB0aGVzZSBjb3VsZAorICAgICAgICAgYmUgYWRkZWQgdG8gYSBzZXBh cmF0ZSBYTUwgYXJtLW0tc3lzdGVtLXByb2ZpbGUgdGhhdCBpcyB2YWxpZCBmb3IKKyAgICAgICAg IEFSTXY2LU0gYW5kIEFSTXY3LU0gYXJjaGl0ZWN0dXJlcy4gQWxzbyB0byBiZSBhYmxlIHRvIGRl YnVnIGVnIGEKKyAgICAgICAgIGNvcmVmaWxlIG9mZi1saW5lLCB0aGVuIHRoZXNlIHJlZ2lzdGVy cyBtdXN0IGJlIGRlZmluZWQgYnkgR0RCLAorICAgICAgICAgYW5kIGFsc28gYmUgaW5jbHVkZWQg aW4gdGhlIGNvcmVmaWxlIHJlZ3NldHMuICAqLworCisgICAgICBpbnQgcHNwX3JlZ251bSA9IHVz ZXJfcmVnX21hcF9uYW1lX3RvX3JlZ251bSAoZ2RiYXJjaCwgInBzcCIsIC0xKTsKKyAgICAgIGlm IChwc3BfcmVnbnVtID09IC0xKQorICAgICAgICB7CisgICAgICAgICAgLyogVGhyZWFkIChwcm9j ZXNzKSBzdGFjayBjb3VsZCBub3QgYmUgZmV0Y2hlZCwKKyAgICAgICAgICAgICBnaXZlIHdhcm5p bmcgYW5kIGV4aXQuICAqLworCisgICAgICAgICAgd2FybmluZyAoXygibm8gUFNQIHRocmVhZCBz dGFjayB1bndpbmRpbmcgc3VwcG9ydGVkLCBleGl0aW5nLiIpKTsKKworICAgICAgICAgIC8qIFRl cm1pbmF0ZSBhbnkgZnVydGhlciBzdGFjayB1bndpbmRpbmcgYnkgcmVmZXIgdG8gc2VsZi4gICov CisgICAgICAgICAgY2FjaGUtPnByZXZfc3AgPSBzcDsKKyAgICAgICAgICByZXR1cm4gY2FjaGU7 CisgICAgICAgIH0KKyAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgIC8qIFRocmVhZCAo cHJvY2Vzcykgc3RhY2sgdXNlZCwgdXNlIFBTUCBhcyBTUC4gICovCisgICAgICAgICAgdW53b3Vu ZF9zcCA9IGdldF9mcmFtZV9yZWdpc3Rlcl91bnNpZ25lZCAodGhpc19mcmFtZSwgcHNwX3JlZ251 bSk7CisgICAgICAgIH0KKyAgICB9CiAKICAgLyogVGhlIGhhcmR3YXJlIHNhdmVzIGVpZ2h0IDMy LWJpdCB3b3JkcywgY29tcHJpc2luZyB4UFNSLAogICAgICBSZXR1cm5BZGRyZXNzLCBMUiAoUjE0 KSwgUjEyLCBSMywgUjIsIFIxLCBSMC4gIFNlZSBkZXRhaWxzIGluCkBAIC0yOTQwLDE1ICsyOTg1 LDQ3IEBAIGFybV9tX2V4Y2VwdGlvbl9jYWNoZSAoc3RydWN0IGZyYW1lX2luZm8gKnRoaXNfZnJh bWUpCiAgIGNhY2hlLT5zYXZlZF9yZWdzWzFdLmFkZHIgPSB1bndvdW5kX3NwICsgNDsKICAgY2Fj aGUtPnNhdmVkX3JlZ3NbMl0uYWRkciA9IHVud291bmRfc3AgKyA4OwogICBjYWNoZS0+c2F2ZWRf cmVnc1szXS5hZGRyID0gdW53b3VuZF9zcCArIDEyOwotICBjYWNoZS0+c2F2ZWRfcmVnc1sxMl0u YWRkciA9IHVud291bmRfc3AgKyAxNjsKLSAgY2FjaGUtPnNhdmVkX3JlZ3NbMTRdLmFkZHIgPSB1 bndvdW5kX3NwICsgMjA7Ci0gIGNhY2hlLT5zYXZlZF9yZWdzWzE1XS5hZGRyID0gdW53b3VuZF9z cCArIDI0OworICBjYWNoZS0+c2F2ZWRfcmVnc1tBUk1fSVBfUkVHTlVNXS5hZGRyID0gdW53b3Vu ZF9zcCArIDE2OworICBjYWNoZS0+c2F2ZWRfcmVnc1tBUk1fTFJfUkVHTlVNXS5hZGRyID0gdW53 b3VuZF9zcCArIDIwOworICBjYWNoZS0+c2F2ZWRfcmVnc1tBUk1fUENfUkVHTlVNXS5hZGRyID0g dW53b3VuZF9zcCArIDI0OwogICBjYWNoZS0+c2F2ZWRfcmVnc1tBUk1fUFNfUkVHTlVNXS5hZGRy ID0gdW53b3VuZF9zcCArIDI4OwogCisgIC8qIENoZWNrIGlmIGV4dGVuZGVkIHN0YWNrIGZyYW1l IChGUFUgcmVncyBzdG9yZWQpIHdhcyB1c2VkLiAgKi8KKyAgZXh0ZW5kZWRfZnJhbWVfdXNlZCA9 ICgobHIgJiAoMSA8PCA0KSkgPT0gMCk7CisgIGlmIChleHRlbmRlZF9mcmFtZV91c2VkKQorICAg IHsKKyAgICAgIGludCBpOworICAgICAgaW50IGZwdV9yZWdzX3N0YWNrX29mZnNldDsKKworICAg ICAgLyogVGhpcyBjb2RlIGRvZXMgbm90IHRha2UgaW50byBhY2NvdW50IHRoZSBsYXp5IHN0YWNr aW5nLCBzZWUgIkxhenkKKyAgICAgICAgIGNvbnRleHQgc2F2ZSBvZiBGUCBzdGF0ZSIsIGluIEIx LjUuNywgYWxzbyBBUk0gQU4yOTgsIHN1cHBvcnRlZAorICAgICAgICAgYnkgQ29ydGV4LU00RiBh cmNoaXRlY3R1cmUuIEdpdmUgYSB3YXJuaW5nIGFuZCB0cnkgZG8gYmVzdCBlZmZvcnQuCisgICAg ICAgICBUbyBmdWxseSBoYW5kbGUgdGhpcyB0aGUgRlBDQ1IgcmVnaXN0ZXIgKEZsb2F0aW5nLXBv aW50IENvbnRleHQKKyAgICAgICAgIENvbnRyb2wgUmVnaXN0ZXIpIG5lZWRzIHRvIGJlIHJlYWQg b3V0IGFuZCB0aGUgYml0cyBBU1BFTiBhbmQgTFNQRU4KKyAgICAgICAgIGNvdWxkIGJlIGNoZWNr ZWQgdG8gc2V0dXAgY29ycmVjdCBsYXp5IHN0YWNrZWQgRlAgcmVnaXN0ZXJzLiAgKi8KKworICAg ICAgd2FybmluZyAoXygibm8gRlBVIGxhenkgc3RhY2sgdW53aW5kaW5nIHN1cHBvcnRlZCwgY2hl Y2sgRlBDQ1IuIikpOworCisgICAgICBmcHVfcmVnc19zdGFja19vZmZzZXQgPSB1bndvdW5kX3Nw ICsgMHgyMDsKKyAgICAgIGZvciAoaSA9IDA7IGkgPCAxNjsgaSsrKQorICAgICAgICB7CisgICAg ICAgICAgY2FjaGUtPnNhdmVkX3JlZ3NbQVJNX0QwX1JFR05VTSArIGldLmFkZHIgPSBmcHVfcmVn c19zdGFja19vZmZzZXQ7CisgICAgICAgICAgZnB1X3JlZ3Nfc3RhY2tfb2Zmc2V0ICs9IDQ7Cisg ICAgICAgIH0KKyAgICAgIGNhY2hlLT5zYXZlZF9yZWdzW0FSTV9GUFNDUl9SRUdOVU1dLmFkZHIg PSB1bndvdW5kX3NwICsgMHg2MDsKKworICAgICAgLyogT2Zmc2V0IDB4NjQgaXMgcmVzZXJ2ZWQu ICAqLworICAgICAgY2FjaGUtPnByZXZfc3AgPSB1bndvdW5kX3NwICsgMHg2ODsKKyAgICB9Cisg IGVsc2UKKyAgICB7CisgICAgICAvKiBCYXNpYyBmcmFtZSB0eXBlIHVzZWQuICAqLworICAgICAg Y2FjaGUtPnByZXZfc3AgPSB1bndvdW5kX3NwICsgMzI7CisgICAgfQorCiAgIC8qIElmIGJpdCA5 IG9mIHRoZSBzYXZlZCB4UFNSIGlzIHNldCwgdGhlbiB0aGVyZSBpcyBhIGZvdXItYnl0ZQogICAg ICBhbGlnbmVyIGJldHdlZW4gdGhlIHRvcCBvZiB0aGUgMzItYnl0ZSBzdGFjayBmcmFtZSBhbmQg dGhlCiAgICAgIHByZXZpb3VzIGNvbnRleHQncyBzdGFjayBwb2ludGVyLiAgKi8KLSAgY2FjaGUt PnByZXZfc3AgPSB1bndvdW5kX3NwICsgMzI7CiAgIGlmIChzYWZlX3JlYWRfbWVtb3J5X2ludGVn ZXIgKHVud291bmRfc3AgKyAyOCwgNCwgYnl0ZV9vcmRlciwgJnhwc3IpCiAgICAgICAmJiAoeHBz ciAmICgxIDw8IDkpKSAhPSAwKQogICAgIGNhY2hlLT5wcmV2X3NwICs9IDQ7Cg== --_004_AM6PR10MB21507E7084C758828FC11B1BEF530AM6PR10MB2150EURP_--