From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2051.outbound.protection.outlook.com [40.107.93.51]) by sourceware.org (Postfix) with ESMTPS id A1B2A385B801 for ; Thu, 23 Jun 2022 12:23:20 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org A1B2A385B801 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LH1lwii4vJqEqPCxh1ecfI/FbAWB9gGgMK7BjzBfzqATF2SmE2m3+Y8uPldF6DZC/mW1uUI3CZKDSpaYzZuBXbOmVeIl7zFlycoObBNjd89h1rWmO8jxZvzipwaRaO5G7eZ2v4MRh1mvuzSRLoGZ9wVjbjRa/gyA4/DaGORbWRqA2B3SSzVmZXGOz9jIpQs7WBICNpZbumzZ4maX3drbqEg+iw/ic5Bs4S499mpxG3nZiqjwCu+rZ9yDNUN1dW7D0zXF0pBgL5tA90UMHHsAzOlGbKmAaTs++4gO37VKCArtJ0e5fGeW3nmA9npKNbNnZ7TZZK6SovzyyWfEHknmNQ== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=EAh7Epl0G57Nldfkl/+I3Q+sXyEvr6wCwWLcEMrUgnU=; b=CBikpxFIwM8cNQQP7b/GCcx9mi1RyVNxyYM+4olCtVNwFQSfGW0nOYMfsiYZkbHRYdZntFcEoio/6fP3BbH2JEz1eAZRuFBX9d7N2qEYfp4INHikAp8aB8Ci6KmtutPiVcfDJa7INsb72nESIqNY6elYhf+jj+olhF6TpsAbKWWtW+qVdzFHLJhJpIz/s7HjTyrRwAQ/24R1+8aRPjOAQIiI0ZGHHY/Ztp8hXOtcnyLaW4iVWWrgnuhdK/nrT3pROsfA3URvhzRW/KnpaHXkABi5bjQgbXdM0pJTP6yffQfFAuLiiEVQE3WpUmyAyMn0x351viGXyh3NzDBPEmp8yg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none Received: from MW2PR12MB4684.namprd12.prod.outlook.com (2603:10b6:302:13::29) by BY5PR12MB3716.namprd12.prod.outlook.com (2603:10b6:a03:1a1::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5373.15; Thu, 23 Jun 2022 12:23:16 +0000 Received: from MW2PR12MB4684.namprd12.prod.outlook.com ([fe80::55e9:d9fc:f8f8:b022]) by MW2PR12MB4684.namprd12.prod.outlook.com ([fe80::55e9:d9fc:f8f8:b022%7]) with mapi id 15.20.5353.022; Thu, 23 Jun 2022 12:23:15 +0000 From: "Kumar N, Bhuvanendra" To: "binutils@sourceware.org" CC: "George, Jini Susan" , "Natarajan, Kavitha" Subject: [PATCH] fix location list offset address dump under DW_AT_location (dwarf-5) Thread-Topic: [PATCH] fix location list offset address dump under DW_AT_location (dwarf-5) Thread-Index: AdiG+07w3ZP+JAPJToSffml8X5ilwQ== Date: Thu, 23 Jun 2022 12:23:15 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: MSIP_Label_d4243a53-6221-4f75-8154-e4b33a5707a1_Enabled=true; MSIP_Label_d4243a53-6221-4f75-8154-e4b33a5707a1_SetDate=2022-06-23T11:51:44Z; MSIP_Label_d4243a53-6221-4f75-8154-e4b33a5707a1_Method=Privileged; MSIP_Label_d4243a53-6221-4f75-8154-e4b33a5707a1_Name=Public-AIP 2.0; MSIP_Label_d4243a53-6221-4f75-8154-e4b33a5707a1_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; MSIP_Label_d4243a53-6221-4f75-8154-e4b33a5707a1_ActionId=a172776e-c4d3-408f-9508-fa88125a1c78; MSIP_Label_d4243a53-6221-4f75-8154-e4b33a5707a1_ContentBits=1 msip_label_d4243a53-6221-4f75-8154-e4b33a5707a1_enabled: true msip_label_d4243a53-6221-4f75-8154-e4b33a5707a1_setdate: 2022-06-23T12:23:12Z msip_label_d4243a53-6221-4f75-8154-e4b33a5707a1_method: Privileged msip_label_d4243a53-6221-4f75-8154-e4b33a5707a1_name: Public-AIP 2.0 msip_label_d4243a53-6221-4f75-8154-e4b33a5707a1_siteid: 3dd8961f-e488-4e60-8e11-a82d994e183d msip_label_d4243a53-6221-4f75-8154-e4b33a5707a1_actionid: ca873ee1-d4fa-4826-996d-3d8cc008bb48 msip_label_d4243a53-6221-4f75-8154-e4b33a5707a1_contentbits: 0 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 7bbbe7ca-2693-4c0b-873e-08da55132627 x-ms-traffictypediagnostic: BY5PR12MB3716:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: rpOvuPRhJlaZtNrMTi+koobZ8GeIxyNBaQW7NH32xiYk8QSwfm9zTK3ZmJ59U68bSzuvTaBwAvNhC0sMLGF6a0fLxHL3kjStCUGq2VwvXnsNV7DGm7gkYFDi3SzsmkxA4EXk8vOdA5s/ob5udRCGtLZUQEw++jpxzUoowe5OyFFcecRPXgOaUO/+RO4FsEiprsadyS/QBuCuC7niBElbPzuCVaXvYEKXB4kgz9ET+F3P9QWlMy0YtggJi17HK5rc/h6dWZDF/V16tQdwAgOOc17jAdRxeynme6FOOW9x6itVmA0YLOBFMNdcIOE0h0gY1QxSgo+GhYJHqs8GoKo9g5u8BR06OERGQLFkTmjLWfXC+qpsbxIyG6qQGQAMqNcvrXYtG+JQKbR+Yf9gS8T+mVdCCe7fOliJId8pLqskhoDopzuhCe0aAOrS3p68ZOJpc4BYFV3Uy4wP6qXps6jGuiTWa0yAcOTkwSlr2/dscuf7dnfMEpzKv4uPXVa4gPxrhQ+nI3NrXvAIbECtNsyw9DapuZxZp+5jBFTdnZ1svrqkm1ObQVa8ZFXW3wwwaidk9t8NnzU4P6kK6V0vGPLS4RKk4SwJkWmZlrYZpsvVnTY5W3v2Pe4FSBqaM4OoJzqQWffWBySLFKzYOXzjSQIDKGt+JthzXN9A/DNDfDAdaStzVhT5P4A9xO52meRhx8/dYrpdZvuRlRzaax73oozAHTTi/Qc2sJ8mSQeuqzZkCIQf0qOaU2G+bZE/AdHSaMCpzpeb0KrgW1wnkSXGWX04MQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MW2PR12MB4684.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(4636009)(376002)(346002)(39860400002)(366004)(396003)(136003)(7696005)(6506007)(38070700005)(76116006)(4326008)(41300700001)(26005)(316002)(186003)(83380400001)(9686003)(122000001)(54906003)(478600001)(52536014)(6916009)(71200400001)(8936002)(2906002)(99936003)(5660300002)(86362001)(64756008)(38100700002)(33656002)(66446008)(66556008)(8676002)(55016003)(66476007)(55236004)(66946007)(53546011); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?ioHxyvpKb1C5mJEdpjG21sVbkMd2apKsrZAVNmm9KjJAxKEeTx8vqpP0F7vj?= =?us-ascii?Q?7I9ufGVg1knjCDTtK0gVgjHaSRlECGC8xjSsil+gW2g4o0jVxHDxwcloVbNb?= =?us-ascii?Q?FluW8T9qLqCtW+vzPTW31rRPpo6+Bit8lnbzQrb4gTjsmCaDPRnj0SwwdeZN?= =?us-ascii?Q?meZ556qpWvI7Z4R99t8hBFEtdVNpHX/XNF9o/hN5sNM41Ijwj2iONHJlkIEw?= =?us-ascii?Q?zhHjQ1Bs4dHXdNuEwDrKEMOGCrFK/UhzYlwB1+tuBZKL/Vb29xc4lD20Ub7j?= =?us-ascii?Q?QkDBS3l93xHPBcWdBFiZL04IE3KE/AxBMmZlNHIa+c8v3dOWnPfTF5vrrm1+?= =?us-ascii?Q?ckQqWCCOrNruXCJY1jKzuZ+JsTuAzKU/eKnj/Psf2Y+PdZVtRDXJYHmNEYcX?= =?us-ascii?Q?OpSsaWfvjsfhYh1D6Q1m6jLrGz5BLdvlQOEsnSo9bdjM3dCq7bnIiyyYVUo/?= =?us-ascii?Q?zY1weMxYwSW5jml0AQE2ximOZnHKD0BHsvqDZc0jEal1+ggB/dpovXuuVbjh?= =?us-ascii?Q?Hr1V2cZmKnDOTs7vnQra66lph4FB8Sk4ggGKNAzDW3SBoNulSJSMKBvR8qsA?= =?us-ascii?Q?+86p+iFxUflCPJUeTILB0le37p60fHgt6Lt4DAO2jVyRef+4XuoQbwNHoCDK?= =?us-ascii?Q?ZpY9F2BwecE3l2B+QhiYp3Mw9N/JX3Th648ljyJt3DogRqTwY6A1yPG0We81?= =?us-ascii?Q?ptm6J/Wr85dPIsW8K2KfpyUt9GoQYeCJaotU2EahtAE6f41SPTdUFu3YqLlp?= =?us-ascii?Q?DphmRoelA8mx3tmSm1lS+h/9rSvJjBcpAw5yS7Q1H83CJSqqyvVS6J78CLQI?= =?us-ascii?Q?8GnCoBE6N9UsfW1CQid+JIqHEdm2FUi/NcqA/s28oia/DLylLaslZnIcoaRu?= =?us-ascii?Q?XI7Kd8iWR7AdpH0ZQniCH47vDIiaUysHy1PWLNyQQRlfCJTtB2o4sx/ZoBQm?= =?us-ascii?Q?3scImXu5ujfqkxKXmTZ7MlBUf+YWibWSKKR5pZ5pkvzh6twYD9BDSih5+S6g?= =?us-ascii?Q?S4zH+Z4n6Pxnf1NVfYXBHoEFV+slpzb3af/aMZ3q0maprA36MSbsoi7+U5Dp?= =?us-ascii?Q?I5q96PftsFiFqPSQVU9Z9SeU+ilFQurXn870d4MZZYLeXkWK4cCu2HYAlUlI?= =?us-ascii?Q?FYZb8YDIE/9OcXryRjBLnSfvvRVjl9cvNHf4fGf9oR/WzuJjkhTBg8iXngK8?= =?us-ascii?Q?K/Mat9XpCfLb/n6XECNlkU0J0iZKAbTtxURLnO9DUOrHxEJikfZM+hMc2Nh5?= =?us-ascii?Q?dNALSKVmG8Qh8CH9EhdK2NT6xlnmSpU4U/gXqZeF5iYfg7Xs/GC/142kug45?= =?us-ascii?Q?5hUZVxwL5WX95JD4zbwZzwtYxQAY5jK1L6q90UYp+e+kSHAKBiU65Nn6Pwqz?= =?us-ascii?Q?V517GoqQjL7fRqSlbGkzcuSjlpGFVJv/ehnbrfT+uUB5RzYu2VgZ52hla5BB?= =?us-ascii?Q?PKnQovK4egwAeRqkEpJH+R/orgsqf6ErDqWVPw5rHMJKSCZbKnDVNGgv+h/E?= =?us-ascii?Q?F4z9oziV1WK82X3l9spqkAzNGqDrhX09GchtqOFKu8E64hkm/pJGJZTNo2o+?= =?us-ascii?Q?rlztoiCrXWUjT/Sd6DU5NuU1Ii/TewZ1+REksqfreKlIJMhnnkB6odtpY9uC?= =?us-ascii?Q?Jjomq3fAVz6psYNQ9OA2LJWkbokbf3nDiVGcx9y1QNnVkO95oa9NuA8tmf4r?= =?us-ascii?Q?1OphT8fj3oRB8Ml7dYLX0O6V5oywZ1Cvaa+zBKvsAeARVaEDbWh1rXBw3SpU?= =?us-ascii?Q?Roo9jwYEHQ=3D=3D?= Content-Type: multipart/mixed; boundary="_004_MW2PR12MB46849B83F5F925E3E64D01D487B59MW2PR12MB4684namp_" MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW2PR12MB4684.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7bbbe7ca-2693-4c0b-873e-08da55132627 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Jun 2022 12:23:15.8898 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Hwc3Ugdj5Ae7AOxKxQZ7CN+HZkbdRh70YwJDoE15TmLxHw1v7cgCOh5SnkAsKLl5a84PPYreD1qIbTqVqgGw3w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB3716 X-Spam-Status: No, score=-12.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_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Jun 2022 12:23:24 -0000 --_004_MW2PR12MB46849B83F5F925E3E64D01D487B59MW2PR12MB4684namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable [Public] Hi, As part of dwarf-5 many new things are added. As part of multiple fixes pla= nned to be sent one by one, I am requesting review for the next patch in th= is series. Patch is inlined below, also attached here. For clang compiled objects with dwarf-5, location list offset address dump = under DW_AT_location is corrected, where DW_FORM_loclistx is used. While du= mping the location list offset, either the address dumped is wrong(refers t= o .debug_addr instead of .debug_loclists) or the below warning was emitted = by readelf/objdump. <49> DW_AT_location :readelf: Warning: Offset into section .debug_addr= too big: 0x18 Test Scenario 1: Before fix: <37> DW_AT_location : (addr_index: 0x0): 2016c0 (locatio= n list) After fix: <37> DW_AT_location : (addr_index: 0x0): 18 (location l= ist) Contents of the .debug_loclists section: . . . Offset Entry 0 00000018 0000000000000000 0000000000000007 DW_OP_piece: 8; DW_OP_reg4 = (rsi); DW_OP_piece: 4 00000021 Scenario 2: Before fix: <49> DW_AT_location :readelf: Warning: Offset into sec= tion .debug_addr too big: 0x18 (addr_index: 0x2): 0 (location list) After fix: <49> DW_AT_location : (addr_index: 0x2): 2a (location= list) Contents of the .debug_loclists section: . . . Offset Entry 2 0000002a 0000000000000000 0000000000000007 DW_OP_reg8 (r8); DW_OP_piec= e: 8 00000031 NOTE: uvalue =3D fetch_indexed_value (uvalue, rnglists, 0); Here in this patch you will find the above line where zero is passed in cas= e of rnglists for base_address parameter. In the future upcoming patches we= need to fix the range list offset dump under DW_AT_ranges with DW_FORM_rng= listx form similarly. During that time instead of zero, we need to pass the= range list section base address. This is exactly similar to the fix added = for location list offset support in this patch. Hence zero in the above lin= e might look odd now, but it will be some proper base address value for ran= ge list in the upcoming patches. Regards, Bhuvan Patch inlined : >From 77c255a705a4cb444146a47fcd1b53d0bb000feb Mon Sep 17 00:00:00 2001 From: =3D?UTF-8?q?=3DE2=3D80=3D9Cbhkumarn=3DE2=3D80=3D9D?=3D Bhuvanendra.Ku= marN@amd.com Date: Thu, 23 Jun 2022 16:56:24 +0530 Subject: [PATCH] [PATCH] fix location list offset address dump under DW_AT_location (dwarf-5) For clang compiled objects with dwarf-5, location list offset address dump under DW_AT_location is corrected, where DW_FORM_loclistx is used. While dumping the location list offset, the address dumped is wrong where it was refering to .debug_addr instead of .debug_loclists * dwarf.c (fetch_indexed_value): Add base_address as parameter and use it to access the section offset. (read_and_display_attr_value): Handle DW_FORM_loclistx form separatel= y. Pass loclists_base to fetch_indexed_value. --- binutils/dwarf.c | 38 ++++++++++++++++++++++++++------------ 1 file changed, 26 insertions(+), 12 deletions(-) diff --git a/binutils/dwarf.c b/binutils/dwarf.c index 4daa0be0179..594cd6b87d2 100644 --- a/binutils/dwarf.c +++ b/binutils/dwarf.c @@ -827,7 +827,8 @@ fetch_indexed_addr (dwarf_vma offset, uint32_t num_byte= s) static dwarf_vma fetch_indexed_value (dwarf_vma idx, - enum dwarf_section_display_enum sec_enum) + enum dwarf_section_display_enum sec_enum, + dwarf_vma base_address) { struct dwarf_section *section =3D &debug_displays [sec_enum].section; @@ -852,8 +853,12 @@ fetch_indexed_value (dwarf_vma idx, dwarf_vma offset =3D idx * pointer_size; - /* Offsets are biased by the size of the section header. */ - offset +=3D bias; + /* Offsets are biased by the size of the section header + or base address. */ + if (sec_enum =3D=3D loclists) + offset +=3D base_address; + else + offset +=3D bias; if (offset + pointer_size > section->size) { @@ -2795,13 +2800,23 @@ read_and_display_attr_value (unsigned long = attribute, if (do_wide) /* We have already displayed the form name. */ - printf (_("%c(index: 0x%s): %s"), delimiter, - dwarf_vmatoa ("x", uvalue), - dwarf_vmatoa ("x", fetch_indexed_addr (offset, pointer_size)= )); + if (form =3D=3D DW_FORM_loclistx) + printf (_("%c(index: 0x%s): %s"), delimiter, + dwarf_vmatoa ("x", uvalue), + dwarf_vmatoa ("x", debug_info_p->loc_offsets [uvalue]))= ; + else + printf (_("%c(index: 0x%s): %s"), delimiter, + dwarf_vmatoa ("x", uvalue), + dwarf_vmatoa ("x", fetch_indexed_addr (offset, pointer_= size))); else - printf (_("%c(addr_index: 0x%s): %s"), delimiter, - dwarf_vmatoa ("x", uvalue), - dwarf_vmatoa ("x", fetch_indexed_addr (offset, pointer_size)= )); + if (form =3D=3D DW_FORM_loclistx) + printf (_("%c(addr_index: 0x%s): %s"), delimiter, + dwarf_vmatoa ("x", uvalue), + dwarf_vmatoa ("x", debug_info_p->loc_offsets [uvalue])); + else + printf (_("%c(addr_index: 0x%s): %s"), delimiter, + dwarf_vmatoa ("x", uvalue), + dwarf_vmatoa ("x", fetch_indexed_addr (offset, pointer_= size))); } break; @@ -2878,9 +2893,8 @@ read_and_display_attr_value (unsigned long = attribute, lmax, sizeof (*debug_info_p->have_frame_base)); debug_info_p->max_loc_offsets =3D lmax; } - if (form =3D=3D DW_FORM_loclistx) - uvalue =3D fetch_indexed_value (uvalue, loclists); + uvalue =3D fetch_indexed_value (num, loclists, debug_info_p->loc= lists_base); else if (this_set !=3D NULL) uvalue +=3D this_set->section_offsets [DW_SECT_LOC]; @@ -2949,7 +2963,7 @@ read_and_display_attr_value (unsigned long = attribute, } if (form =3D=3D DW_FORM_rnglistx) - uvalue =3D fetch_indexed_value (uvalue, rnglists); + uvalue =3D fetch_indexed_value (uvalue, rnglists, 0); debug_info_p->range_lists [num] =3D uvalue; debug_info_p->num_range_lists++; -- 2.17.1 --_004_MW2PR12MB46849B83F5F925E3E64D01D487B59MW2PR12MB4684namp_ Content-Type: application/octet-stream; name="0001-PATCH-fix-location-list-offset-address-dump-under-DW.patch" Content-Description: 0001-PATCH-fix-location-list-offset-address-dump-under-DW.patch Content-Disposition: attachment; filename="0001-PATCH-fix-location-list-offset-address-dump-under-DW.patch"; size=3890; creation-date="Thu, 23 Jun 2022 12:17:00 GMT"; modification-date="Thu, 23 Jun 2022 12:23:15 GMT" Content-Transfer-Encoding: base64 RnJvbSA3N2MyNTVhNzA1YTRjYjQ0NDE0NmE0N2ZjZDFiNTNkMGJiMDAwZmViIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUUyPTgwPTlDYmhrdW1hcm49RTI9ODA9OUQ/ PSA8Qmh1dmFuZW5kcmEuS3VtYXJOQGFtZC5jb20+CkRhdGU6IFRodSwgMjMgSnVuIDIwMjIgMTY6 NTY6MjQgKzA1MzAKU3ViamVjdDogW1BBVENIXSBbUEFUQ0hdIGZpeCBsb2NhdGlvbiBsaXN0IG9m ZnNldCBhZGRyZXNzIGR1bXAgdW5kZXIKIERXX0FUX2xvY2F0aW9uIChkd2FyZi01KQoKRm9yIGNs YW5nIGNvbXBpbGVkIG9iamVjdHMgd2l0aCBkd2FyZi01LCBsb2NhdGlvbiBsaXN0IG9mZnNldCBh ZGRyZXNzIGR1bXAKdW5kZXIgRFdfQVRfbG9jYXRpb24gaXMgY29ycmVjdGVkLCB3aGVyZSBEV19G T1JNX2xvY2xpc3R4IGlzIHVzZWQuIFdoaWxlCmR1bXBpbmcgdGhlIGxvY2F0aW9uIGxpc3Qgb2Zm c2V0LCB0aGUgYWRkcmVzcyBkdW1wZWQgaXMgd3Jvbmcgd2hlcmUgaXQgd2FzCnJlZmVyaW5nIHRv IC5kZWJ1Z19hZGRyIGluc3RlYWQgb2YgLmRlYnVnX2xvY2xpc3RzCgoJKiBkd2FyZi5jIChmZXRj aF9pbmRleGVkX3ZhbHVlKTogQWRkIGJhc2VfYWRkcmVzcyBhcyBwYXJhbWV0ZXIgYW5kCgl1c2Ug aXQgdG8gYWNjZXNzIHRoZSBzZWN0aW9uIG9mZnNldC4KCShyZWFkX2FuZF9kaXNwbGF5X2F0dHJf dmFsdWUpOiBIYW5kbGUgRFdfRk9STV9sb2NsaXN0eCBmb3JtIHNlcGFyYXRlbHkuCglQYXNzIGxv Y2xpc3RzX2Jhc2UgdG8gZmV0Y2hfaW5kZXhlZF92YWx1ZS4KLS0tCiBiaW51dGlscy9kd2FyZi5j IHwgMzggKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFu Z2VkLCAyNiBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9iaW51 dGlscy9kd2FyZi5jIGIvYmludXRpbHMvZHdhcmYuYwppbmRleCA0ZGFhMGJlMDE3OS4uNTk0Y2Q2 Yjg3ZDIgMTAwNjQ0Ci0tLSBhL2JpbnV0aWxzL2R3YXJmLmMKKysrIGIvYmludXRpbHMvZHdhcmYu YwpAQCAtODI3LDcgKzgyNyw4IEBAIGZldGNoX2luZGV4ZWRfYWRkciAoZHdhcmZfdm1hIG9mZnNl dCwgdWludDMyX3QgbnVtX2J5dGVzKQogCiBzdGF0aWMgZHdhcmZfdm1hCiBmZXRjaF9pbmRleGVk X3ZhbHVlIChkd2FyZl92bWEgaWR4LAotCQkgICAgIGVudW0gZHdhcmZfc2VjdGlvbl9kaXNwbGF5 X2VudW0gc2VjX2VudW0pCisJCSAgICAgZW51bSBkd2FyZl9zZWN0aW9uX2Rpc3BsYXlfZW51bSBz ZWNfZW51bSwKKwkJICAgICBkd2FyZl92bWEgYmFzZV9hZGRyZXNzKQogewogICBzdHJ1Y3QgZHdh cmZfc2VjdGlvbiAqc2VjdGlvbiA9ICZkZWJ1Z19kaXNwbGF5cyBbc2VjX2VudW1dLnNlY3Rpb247 CiAKQEAgLTg1Miw4ICs4NTMsMTIgQEAgZmV0Y2hfaW5kZXhlZF92YWx1ZSAoZHdhcmZfdm1hIGlk eCwKICAKICAgZHdhcmZfdm1hIG9mZnNldCA9IGlkeCAqIHBvaW50ZXJfc2l6ZTsKIAotICAvKiBP ZmZzZXRzIGFyZSBiaWFzZWQgYnkgdGhlIHNpemUgb2YgdGhlIHNlY3Rpb24gaGVhZGVyLiAgKi8K LSAgb2Zmc2V0ICs9IGJpYXM7CisgIC8qIE9mZnNldHMgYXJlIGJpYXNlZCBieSB0aGUgc2l6ZSBv ZiB0aGUgc2VjdGlvbiBoZWFkZXIKKyAgICAgb3IgYmFzZSBhZGRyZXNzLiAgKi8KKyAgaWYgKHNl Y19lbnVtID09IGxvY2xpc3RzKQorICAgIG9mZnNldCArPSBiYXNlX2FkZHJlc3M7CisgIGVsc2UK KyAgICBvZmZzZXQgKz0gYmlhczsKIAogICBpZiAob2Zmc2V0ICsgcG9pbnRlcl9zaXplID4gc2Vj dGlvbi0+c2l6ZSkKICAgICB7CkBAIC0yNzk1LDEzICsyODAwLDIzIEBAIHJlYWRfYW5kX2Rpc3Bs YXlfYXR0cl92YWx1ZSAodW5zaWduZWQgbG9uZyAgICAgICAgICAgYXR0cmlidXRlLAogCiAJICBp ZiAoZG9fd2lkZSkKIAkgICAgLyogV2UgaGF2ZSBhbHJlYWR5IGRpc3BsYXllZCB0aGUgZm9ybSBu YW1lLiAgKi8KLQkgICAgcHJpbnRmIChfKCIlYyhpbmRleDogMHglcyk6ICVzIiksIGRlbGltaXRl ciwKLQkJICAgIGR3YXJmX3ZtYXRvYSAoIngiLCB1dmFsdWUpLAotCQkgICAgZHdhcmZfdm1hdG9h ICgieCIsIGZldGNoX2luZGV4ZWRfYWRkciAob2Zmc2V0LCBwb2ludGVyX3NpemUpKSk7CisJICAg IGlmIChmb3JtID09IERXX0ZPUk1fbG9jbGlzdHgpCisJICAgICAgcHJpbnRmIChfKCIlYyhpbmRl eDogMHglcyk6ICVzIiksIGRlbGltaXRlciwKKwkgICAgICAgICAgICAgIGR3YXJmX3ZtYXRvYSAo IngiLCB1dmFsdWUpLAorCSAgICAgICAgICAgICAgZHdhcmZfdm1hdG9hICgieCIsIGRlYnVnX2lu Zm9fcC0+bG9jX29mZnNldHMgW3V2YWx1ZV0pKTsKKwkgICAgZWxzZQorCSAgICAgIHByaW50ZiAo XygiJWMoaW5kZXg6IDB4JXMpOiAlcyIpLCBkZWxpbWl0ZXIsCisJICAgICAgICAgICAgICBkd2Fy Zl92bWF0b2EgKCJ4IiwgdXZhbHVlKSwKKwkgICAgICAgICAgICAgIGR3YXJmX3ZtYXRvYSAoIngi LCBmZXRjaF9pbmRleGVkX2FkZHIgKG9mZnNldCwgcG9pbnRlcl9zaXplKSkpOwogCSAgZWxzZQot CSAgICBwcmludGYgKF8oIiVjKGFkZHJfaW5kZXg6IDB4JXMpOiAlcyIpLCBkZWxpbWl0ZXIsCi0J CSAgICBkd2FyZl92bWF0b2EgKCJ4IiwgdXZhbHVlKSwKLQkJICAgIGR3YXJmX3ZtYXRvYSAoIngi LCBmZXRjaF9pbmRleGVkX2FkZHIgKG9mZnNldCwgcG9pbnRlcl9zaXplKSkpOworCSAgICBpZiAo Zm9ybSA9PSBEV19GT1JNX2xvY2xpc3R4KQorCSAgICAgIHByaW50ZiAoXygiJWMoYWRkcl9pbmRl eDogMHglcyk6ICVzIiksIGRlbGltaXRlciwKKwkgICAgICAgICAgICAgIGR3YXJmX3ZtYXRvYSAo IngiLCB1dmFsdWUpLAorCSAgICAgICAgICAgICAgZHdhcmZfdm1hdG9hICgieCIsIGRlYnVnX2lu Zm9fcC0+bG9jX29mZnNldHMgW3V2YWx1ZV0pKTsKKwkgICAgZWxzZQorCSAgICAgIHByaW50ZiAo XygiJWMoYWRkcl9pbmRleDogMHglcyk6ICVzIiksIGRlbGltaXRlciwKKwkgICAgICAgICAgICAg IGR3YXJmX3ZtYXRvYSAoIngiLCB1dmFsdWUpLAorCSAgICAgICAgICAgICAgZHdhcmZfdm1hdG9h ICgieCIsIGZldGNoX2luZGV4ZWRfYWRkciAob2Zmc2V0LCBwb2ludGVyX3NpemUpKSk7CiAJfQog ICAgICAgYnJlYWs7CiAKQEAgLTI4NzgsOSArMjg5Myw4IEBAIHJlYWRfYW5kX2Rpc3BsYXlfYXR0 cl92YWx1ZSAodW5zaWduZWQgbG9uZyAgICAgICAgICAgYXR0cmlidXRlLAogCQkJICAgICAgIGxt YXgsIHNpemVvZiAoKmRlYnVnX2luZm9fcC0+aGF2ZV9mcmFtZV9iYXNlKSk7CiAJCSAgZGVidWdf aW5mb19wLT5tYXhfbG9jX29mZnNldHMgPSBsbWF4OwogCQl9Ci0KIAkgICAgICBpZiAoZm9ybSA9 PSBEV19GT1JNX2xvY2xpc3R4KQotCQl1dmFsdWUgPSBmZXRjaF9pbmRleGVkX3ZhbHVlICh1dmFs dWUsIGxvY2xpc3RzKTsKKwkJdXZhbHVlID0gZmV0Y2hfaW5kZXhlZF92YWx1ZSAobnVtLCBsb2Ns aXN0cywgZGVidWdfaW5mb19wLT5sb2NsaXN0c19iYXNlKTsKIAkgICAgICBlbHNlIGlmICh0aGlz X3NldCAhPSBOVUxMKQogCQl1dmFsdWUgKz0gdGhpc19zZXQtPnNlY3Rpb25fb2Zmc2V0cyBbRFdf U0VDVF9MT0NdOwogCkBAIC0yOTQ5LDcgKzI5NjMsNyBAQCByZWFkX2FuZF9kaXNwbGF5X2F0dHJf dmFsdWUgKHVuc2lnbmVkIGxvbmcgICAgICAgICAgIGF0dHJpYnV0ZSwKIAkJfQogCiAJICAgICAg aWYgKGZvcm0gPT0gRFdfRk9STV9ybmdsaXN0eCkKLQkJdXZhbHVlID0gZmV0Y2hfaW5kZXhlZF92 YWx1ZSAodXZhbHVlLCBybmdsaXN0cyk7CisJCXV2YWx1ZSA9IGZldGNoX2luZGV4ZWRfdmFsdWUg KHV2YWx1ZSwgcm5nbGlzdHMsIDApOwogCiAJICAgICAgZGVidWdfaW5mb19wLT5yYW5nZV9saXN0 cyBbbnVtXSA9IHV2YWx1ZTsKIAkgICAgICBkZWJ1Z19pbmZvX3AtPm51bV9yYW5nZV9saXN0cysr OwotLSAKMi4xNy4xCgo= --_004_MW2PR12MB46849B83F5F925E3E64D01D487B59MW2PR12MB4684namp_--