From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 77455 invoked by alias); 20 Jan 2020 09:17:28 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 77446 invoked by uid 89); 20 Jan 2020 09:17:28 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-11.4 required=5.0 tests=AWL,BAYES_00,FORGED_SPF_HELO,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS autolearn=no version=3.3.1 spammy=Achra, nitika, Nitika, achra X-HELO: NAM10-DM6-obe.outbound.protection.outlook.com Received: from mail-dm6nam10on2084.outbound.protection.outlook.com (HELO NAM10-DM6-obe.outbound.protection.outlook.com) (40.107.93.84) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 20 Jan 2020 09:17:18 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=URQAGl8MJ9p9sc5ntc6yV6+AjtDY/CRoWtTEKb9JkNw4Mo/WVrYS/x94VMFS9++j+lsSfWdC91V+J5j5qBvDN3cHqOJA5EKtbyoqzu20OCPcQhyF8Q2QdOt00D1qPimnH48ZXoOEf05BcHr1H/RWWNGHgXqK9IeCBUbCZbblxzgezV3J+MCRZaXZaJiCMMZOSRlHG8DzeVq39Z5d00FlnPGY5eAD5TQj3hqS5iRGyzvyO+CAG1Qj3p6tGKv5+OkCSDLNwtWqfaz/0StQ17VI1XzApDoUFAFO2SKMZ1dROMcaH+RaE2Qq7849cXZvXy9P+dyhHzHzwoUPUVPxCJUT4w== 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=QRk9lvf98G+skLySDIDG2RDWhLe8x/igy07UVibWS1A=; b=DryDs077Swjjac/neRbD6CyaQdHxrbHfUlw/CbZAX1LWCLkDNk0oWjLM+4wO9vzxQzuOK4+7y0HTCJjmjYiLSAn0SVnUTmkv9anhfoVyzbxouUSehBAUZTKfH8FYq4V++oZB4Np1EUdu3tSfrbECRaC9GISibJ70G3/UOzxVnIhcULYYmEilQ8zfEI/ABB2+CoACaP3wDHJCZvXNm/rcQ3EIy9PNnxDV/wqc201kQW3FzrJDcGMMIEijpZG20ag6pHpD9It9onaq0lRCzU2ehEtnTUXmGr4eBBmYkkQ/s18VEdF4m/BVqYfb36LYUZOX+Zvq2GWqg275vVGKlWl5fQ== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector2-amdcloud-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QRk9lvf98G+skLySDIDG2RDWhLe8x/igy07UVibWS1A=; b=NTFpTYtoeqHnFyJUavD4GbD8KCbgpySVutWqNpswNi6uRS+udnLZluFLyXpvjHYEC49uj5koAvpX8963qnDZDneLf0DLwPpRpiyOgJuI6MbOIi/81muFZSNJtAbj1WQTMldkktbU/rZhq+CkKyhZ5caEz8G3bW3r1krhLP2hr5E= Received: from MN2PR12MB3744.namprd12.prod.outlook.com (10.255.237.80) by MN2PR12MB3039.namprd12.prod.outlook.com (20.178.242.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2644.24; Mon, 20 Jan 2020 09:17:15 +0000 Received: from MN2PR12MB3744.namprd12.prod.outlook.com ([fe80::c1cb:697d:c30d:718c]) by MN2PR12MB3744.namprd12.prod.outlook.com ([fe80::c1cb:697d:c30d:718c%5]) with mapi id 15.20.2644.024; Mon, 20 Jan 2020 09:17:15 +0000 From: "Achra, Nitika" To: "gdb-patches@sourceware.org" CC: "George, Jini Susan" , Ali Tamur Subject: [PATCH] Support for DW_AT_loclists_base and DW_FORM_loclistx. Date: Mon, 20 Jan 2020 10:36:00 -0000 Message-ID: msip_label_76546daa-41b6-470c-bb85-f6f40f044d7f_enabled: true msip_label_76546daa-41b6-470c-bb85-f6f40f044d7f_setdate: 2020-01-20T09:17:12Z msip_label_76546daa-41b6-470c-bb85-f6f40f044d7f_method: Standard msip_label_76546daa-41b6-470c-bb85-f6f40f044d7f_name: Internal Use Only - Unrestricted msip_label_76546daa-41b6-470c-bb85-f6f40f044d7f_siteid: 3dd8961f-e488-4e60-8e11-a82d994e183d msip_label_76546daa-41b6-470c-bb85-f6f40f044d7f_actionid: 0bfcf728-196d-4312-90fa-0000bca1e35f msip_label_76546daa-41b6-470c-bb85-f6f40f044d7f_contentbits: 0 authentication-results: spf=none (sender IP is ) smtp.mailfrom=Nitika.Achra@amd.com; x-ms-exchange-transport-forked: True x-ms-oob-tlc-oobclassifiers: OLM:3631; received-spf: None (protection.outlook.com: amd.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 Content-Type: multipart/mixed; boundary="_002_MN2PR12MB3744F6BA6B3F4E6986B9A28A9A320MN2PR12MB3744namp_" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 0C6Ps49gjEAoAhqFs3AzXtLlo0vO//8M1nmLs2rAvbgXcZSx9oLw1phunocHw2PgZXE98OGSW5qPeeh44eer5w== X-SW-Source: 2020-01/txt/msg00602.txt.bz2 --_002_MN2PR12MB3744F6BA6B3F4E6986B9A28A9A320MN2PR12MB3744namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Content-length: 1843 [AMD Official Use Only - Internal Distribution Only] Hello, GDB is throwing the error 'Dwarf Error: Cannot handle DW_FORM_loclistx in = DWARF reader' while loading the executable with -gdwarf-5 flag. This patch= fixes that. Please find the attached patch file. Requesting the review. *Support for DW_AT_loclists_base and DW_FORM_loclistx. This patch handles DW_AT_loclists_base and DW_FORM_loclistx. DW_AT_loclists_base is a new attribute added in DWARFv5 which=20 points to the beginning of the offset table of .debug_loclist section. Reference to the location list (DW_FORM_loclistx) is=20 interpreted relative to this base. DW_FORM_loclistx is a new form added in DWARFv5 which is used to access location list. Tested by running the testsuite before and after the patch and there=20 is no increase in the number of test cases that fails. Tested with both=20 -gdwarf-4 and -gdwarf-5 flags. Also tested -gslit-dwarf along with=20 -gdwarf-4 as well as -gdwarf5 flags. gdb/ChangeLog: *dwarf2read.c (cu_debug_loc_section): Added the declaration for the func= tion. (read_loclist_index): New function declaration. (lookup_loclist_base): New function declaration. (read_loclist_header): New function declaration (dwarf2_cu): Added loclist_base and loclist_header field. (dwarf2_locate_dwo_sections): Handle .debug_loclist.dwo section. (read_full_die_1): Read the value of DW_AT_loclists_base. (read_attribute_reprocess): Handle DW_FORM_loclistx. (read_attribute_value): Handle DW_FORM_loclistx. (skip_one_die): Handle DW_FORM_loclistx. (attr_form_is_section_offset): Handle DW_FORM_loclistx. (read_loclist_index): Function definition. (lookup_loclist_base): Function definition. (read_loclist_header): Function definition. (loclist_header): New structure declaration. Regards, Nitika Achra --_002_MN2PR12MB3744F6BA6B3F4E6986B9A28A9A320MN2PR12MB3744namp_ Content-Type: application/octet-stream; name="0001-Support-for-DW_AT_loclists_base-and-DW_FORM_loclistx.patch" Content-Description: 0001-Support-for-DW_AT_loclists_base-and-DW_FORM_loclistx.patch Content-Disposition: attachment; filename="0001-Support-for-DW_AT_loclists_base-and-DW_FORM_loclistx.patch"; size=10698; creation-date="Mon, 20 Jan 2020 08:50:49 GMT"; modification-date="Mon, 20 Jan 2020 08:50:49 GMT" Content-Transfer-Encoding: base64 Content-length: 14502 RnJvbSA0ODUwNjdiMmY5YjVmM2UwNjFmZWY4OWFhZDYyYTI2NGEzYmYzMjgw IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBuaXRhY2hyYSA8Tml0 aWthLkFjaHJhQGFtZC5jb20+CkRhdGU6IE1vbiwgMjAgSmFuIDIwMjAgMTQ6 MDc6MjkgKzA1MzAKU3ViamVjdDogW1BBVENIXSBTdXBwb3J0IGZvciBEV19B VF9sb2NsaXN0c19iYXNlIGFuZCBEV19GT1JNX2xvY2xpc3R4LgoKVGhpcyBw YXRjaCBoYW5kbGVzIERXX0FUX2xvY2xpc3RzX2Jhc2UgYW5kIERXX0ZPUk1f bG9jbGlzdHguCkRXX0FUX2xvY2xpc3RzX2Jhc2UgaXMgYSBuZXcgYXR0cmli dXRlIGFkZGVkIGluIERXQVJGdjUgd2hpY2gKcG9pbnRzIHRvIHRoZSBiZWdp bm5pbmcgb2YgdGhlIG9mZnNldCB0YWJsZSBvZiAuZGVidWdfbG9jbGlzdApz ZWN0aW9uLiBSZWZlcmVuY2UgdG8gdGhlIGxvY2F0aW9uIGxpc3QgKERXX0ZP Uk1fbG9jbGlzdHgpIGlzCmludGVycHJldGVkIHJlbGF0aXZlIHRvIHRoaXMg YmFzZS4gRFdfRk9STV9sb2NsaXN0eCBpcyBhIG5ldwpmb3JtIGFkZGVkIGlu IERXQVJGdjUgd2hpY2ggaXMgdXNlZCB0byBhY2Nlc3MgbG9jYXRpb24gbGlz dC4KClRlc3RlZCBieSBydW5uaW5nIHRoZSB0ZXN0c3VpdGUgYmVmb3JlIGFu ZCBhZnRlciB0aGUgcGF0Y2ggYW5kIHRoZXJlCmlzIG5vIGluY3JlYXNlIGlu IHRoZSBudW1iZXIgb2YgdGVzdCBjYXNlcyB0aGF0IGZhaWxzLiBUZXN0ZWQg d2l0aCBib3RoCi1nZHdhcmYtNCBhbmQgLWdkd2FyZi01IGZsYWdzLiBBbHNv IHRlc3RlZCAtZ3NsaXQtZHdhcmYgYWxvbmcgd2l0aAotZ2R3YXJmLTQgYXMg d2VsbCBhcyAtZ2R3YXJmNSBmbGFncy4KCmdkYi9DaGFuZ2VMb2c6CgogICAq ZHdhcmYycmVhZC5jIChjdV9kZWJ1Z19sb2Nfc2VjdGlvbik6IEFkZGVkIHRo ZSBkZWNsYXJhdGlvbiBmb3IgdGhlIGZ1bmN0aW9uLgogICAocmVhZF9sb2Ns aXN0X2luZGV4KTogTmV3IGZ1bmN0aW9uIGRlY2xhcmF0aW9uLgogICAobG9v a3VwX2xvY2xpc3RfYmFzZSk6IE5ldyBmdW5jdGlvbiBkZWNsYXJhdGlvbi4K ICAgKHJlYWRfbG9jbGlzdF9oZWFkZXIpOiBOZXcgZnVuY3Rpb24gZGVjbGFy YXRpb24KICAgKGR3YXJmMl9jdSk6IEFkZGVkIGxvY2xpc3RfYmFzZSBhbmQg bG9jbGlzdF9oZWFkZXIgZmllbGQuCiAgIChkd2FyZjJfbG9jYXRlX2R3b19z ZWN0aW9ucyk6IEhhbmRsZSAuZGVidWdfbG9jbGlzdC5kd28gc2VjdGlvbi4K ICAgKHJlYWRfZnVsbF9kaWVfMSk6IFJlYWQgdGhlIHZhbHVlIG9mIERXX0FU X2xvY2xpc3RzX2Jhc2UuCiAgIChyZWFkX2F0dHJpYnV0ZV9yZXByb2Nlc3Mp OiBIYW5kbGUgRFdfRk9STV9sb2NsaXN0eC4KICAgKHJlYWRfYXR0cmlidXRl X3ZhbHVlKTogSGFuZGxlIERXX0ZPUk1fbG9jbGlzdHguCiAgIChza2lwX29u ZV9kaWUpOiBIYW5kbGUgRFdfRk9STV9sb2NsaXN0eC4KICAgKGF0dHJfZm9y bV9pc19zZWN0aW9uX29mZnNldCk6IEhhbmRsZSBEV19GT1JNX2xvY2xpc3R4 LgogICAocmVhZF9sb2NsaXN0X2luZGV4KTogRnVuY3Rpb24gZGVmaW5pdGlv bi4KICAgKGxvb2t1cF9sb2NsaXN0X2Jhc2UpOiBGdW5jdGlvbiBkZWZpbml0 aW9uLgogICAocmVhZF9sb2NsaXN0X2hlYWRlcik6IEZ1bmN0aW9uIGRlZmlu aXRpb24uCiAgIChsb2NsaXN0X2hlYWRlcik6IE5ldyBzdHJ1Y3R1cmUgZGVj bGFyYXRpb24uCi0tLQogZ2RiL2R3YXJmMnJlYWQuYyB8IDE0MSArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogMSBm aWxlIGNoYW5nZWQsIDE0MCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0p CgpkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMnJlYWQuYyBiL2dkYi9kd2FyZjJy ZWFkLmMKaW5kZXggZGZhMmY5MWQ0NS4uOWJkMjQ5YmE3MiAxMDA2NDQKLS0t IGEvZ2RiL2R3YXJmMnJlYWQuYworKysgYi9nZGIvZHdhcmYycmVhZC5jCkBA IC0xMDQsNiArMTA0LDEyIEBAIHN0YXRpYyBpbnQgZHdhcmYyX2xvY2xpc3Rf aW5kZXg7CiBzdGF0aWMgaW50IGR3YXJmMl9sb2NleHByX2Jsb2NrX2luZGV4 Owogc3RhdGljIGludCBkd2FyZjJfbG9jbGlzdF9ibG9ja19pbmRleDsKIAor LyogU2l6ZSBvZiAuZGVidWdfbG9jbGlzdCBzZWN0aW9uIGhlYWRlciBmb3Ig MzItYml0IERXQVJGIGZvcm1hdC4gKi8KKyNkZWZpbmUgTE9DTElTVF9IRUFE RVJfU0laRTMyIDEyOworCisvKiBTaXplIG9mIC5kZWJ1Z19sb2NsaXN0IHNl Y3Rpb24gaGVhZGVyIGZvciA2NC1iaXQgRFdBUkYgZm9ybWF0LiAqLworI2Rl ZmluZSBMT0NMSVNUX0hFQURFUl9TSVpFNjQgMjA7CisKIC8qIEFuIGluZGV4 IGludG8gYSAoQysrKSBzeW1ib2wgbmFtZSBjb21wb25lbnQgaW4gYSBzeW1i b2wgbmFtZSBhcwogICAgcmVjb3JkZWQgaW4gdGhlIG1hcHBlZF9pbmRleCdz IHN5bWJvbCB0YWJsZS4gIEZvciBlYWNoIEMrKyBzeW1ib2wKICAgIGluIHRo ZSBzeW1ib2wgdGFibGUsIHdlIHJlY29yZCBvbmUgZW50cnkgZm9yIHRoZSBz dGFydCBvZiBlYWNoCkBAIC0zNzMsNiArMzc5LDMwIEBAIHN0cnVjdCBjb21w X3VuaXRfaGVhZAogICBjdV9vZmZzZXQgdHlwZV9jdV9vZmZzZXRfaW5fdHU7 CiB9OwogCisvKiBUaGUgbG9jYXRpb24gbGlzdCBzZWN0aW9uICguZGVidWdf bG9jbGlzdCkgYmVnaW5zIHdpdGggYSBoZWFkZXIsCisgICB3aGljaCBjb250 YWlucyB0aGUgZm9sbG93aW5nIGluZm9ybWF0aW9uLiAqLworc3RydWN0IGxv Y2xpc3RfaGVhZGVyCit7CisgIC8qIEEgNC1ieXRlIG9yIDEyLWJ5dGUgbGVu Z3RoIGNvbnRhaW5pbmcgdGhlIGxlbmd0aCBvZiB0aGUKKyAgc2V0IG9mIGVu dHJpZXMgZm9yIHRoaXMgY29tcGlsYXRpb24gdW5pdCwgbm90IGluY2x1ZGlu ZyB0aGUKKyAgbGVuZ3RoIGZpZWxkIGl0c2VsZi4gKi8KKyAgdW5zaWduZWQg aW50IGxlbmd0aDsKKworICAvKiBBIDItYnl0ZSB2ZXJzaW9uIGlkZW50aWZp ZXIuICovCisgIHNob3J0IHZlcnNpb247CisKKyAgLyogQSAxLWJ5dGUgdW5z aWduZWQgaW50ZWdlciBjb250YWluaW5nIHRoZSBzaXplIGluIGJ5dGVzIG9m IGFuIGFkZHJlc3Mgb24KKyAgICAgdGhlIHRhcmdldCBzeXN0ZW0uICovCisg IHVuc2lnbmVkIGNoYXIgYWRkcl9zaXplOworCisgIC8qIEEgMS1ieXRlIHVu c2lnbmVkIGludGVnZXIgY29udGFpbmluZyB0aGUgc2l6ZSBpbiBieXRlcyBv ZiBhIHNlZ21lbnQgc2VsZWN0b3IKKyAgICAgb24gdGhlIHRhcmdldCBzeXN0 ZW0uICovCisgIHVuc2lnbmVkIGNoYXIgc2VnbWVudF9jb2xsZWN0b3Jfc2l6 ZTsKKworICAvKiBBIDQtYnl0ZSBjb3VudCBvZiB0aGUgbnVtYmVyIG9mIG9m ZnNldHMgdGhhdCBmb2xsb3cgdGhlIGhlYWRlci4gKi8KKyAgdW5zaWduZWQg aW50IG9mZnNldF9lbnRyeV9jb3VudDsKK307CisKIC8qIFR5cGUgdXNlZCBm b3IgZGVsYXlpbmcgY29tcHV0YXRpb24gb2YgbWV0aG9kIHBoeXNuYW1lcy4K ICAgIFNlZSBjb21tZW50cyBmb3IgY29tcHV0ZV9kZWxheWVkX3BoeXNuYW1l cy4gICovCiBzdHJ1Y3QgZGVsYXllZF9tZXRob2RfaW5mbwpAQCAtNDczLDYg KzUwMyw5IEBAIHB1YmxpYzoKICAgICAgZGllX2luZm8tPm9mZnNldC5zZWN0 X29mZiBhcyBoYXNoLiAgKi8KICAgaHRhYl90IGRpZV9oYXNoID0gbnVsbHB0 cjsKIAorICAvKiBIZWFkZXIgZGF0YSBmcm9tIHRoZSBsb2NhdGlvbiBsaXN0 IHNlY3Rpb24uICovCisgIHN0cnVjdCBsb2NsaXN0X2hlYWRlciogbG9jbGlz dF9oZWFkZXI7CisKICAgLyogRnVsbCBESUVzIGlmIHJlYWQgaW4uICAqLwog ICBzdHJ1Y3QgZGllX2luZm8gKmRpZXMgPSBudWxscHRyOwogCkBAIC01MjMs NiArNTU2LDkgQEAgcHVibGljOgogICAgICB3aGV0aGVyIHRoZSBEV19BVF9y YW5nZXMgYXR0cmlidXRlIGNhbWUgZnJvbSB0aGUgc2tlbGV0b24gb3IgRFdP LiAgKi8KICAgVUxPTkdFU1QgcmFuZ2VzX2Jhc2UgPSAwOwogCisgIC8qIFRo ZSBEV19BVF9sb2NsaXN0c19iYXNlIGF0dHJpYnV0ZSBpZiBwcmVzZW50LiAq LworICBnZGI6Om9wdGlvbmFsPFVMT05HRVNUPiBsb2NsaXN0X2Jhc2U7CisK ICAgLyogV2hlbiByZWFkaW5nIGRlYnVnIGluZm8gZ2VuZXJhdGVkIGJ5IG9s ZGVyIHZlcnNpb25zIG9mIHJ1c3RjLCB3ZQogICAgICBoYXZlIHRvIHJld3Jp dGUgc29tZSB1bmlvbiB0eXBlcyB0byBiZSBzdHJ1Y3QgdHlwZXMgd2l0aCBh CiAgICAgIHZhcmlhbnQgcGFydC4gIFRoaXMgcmV3cml0aW5nIG11c3QgYmUg ZG9uZSBhZnRlciB0aGUgQ1UgaXMgZnVsbHkKQEAgLTE3MDUsNiArMTc0MSwx NCBAQCBzdGF0aWMgdm9pZCByZWFkX3ZhcmlhYmxlIChzdHJ1Y3QgZGllX2lu Zm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpOwogc3RhdGljIGludCBk d2FyZjJfcmFuZ2VzX3JlYWQgKHVuc2lnbmVkLCBDT1JFX0FERFIgKiwgQ09S RV9BRERSICosCiAJCQkgICAgICAgc3RydWN0IGR3YXJmMl9jdSAqLCBzdHJ1 Y3QgcGFydGlhbF9zeW10YWIgKik7CiAKK3N0YXRpYyBzdHJ1Y3QgZHdhcmYy X3NlY3Rpb25faW5mbyogY3VfZGVidWdfbG9jX3NlY3Rpb24gKHN0cnVjdCBk d2FyZjJfY3UqIGN1KTsKKworc3RhdGljIENPUkVfQUREUiByZWFkX2xvY2xp c3RfaW5kZXggKHN0cnVjdCBkd2FyZjJfY3UqIGN1LCBVTE9OR0VTVCBsb2Ns aXN0X2luZGV4KTsKKworc3RhdGljIFVMT05HRVNUIGxvb2t1cF9sb2NsaXN0 X2Jhc2UgKHN0cnVjdCBkd2FyZjJfY3UqIGN1KTsKKworc3RhdGljIHZvaWQg cmVhZF9sb2NsaXN0X2hlYWRlciAoc3RydWN0IGR3YXJmMl9jdSogY3UsIHN0 cnVjdCBkd2FyZjJfc2VjdGlvbl9pbmZvKiBzZWN0aW9uKTsKKwogLyogSG93 IGR3YXJmMl9nZXRfcGNfYm91bmRzIGNvbnN0cnVjdGVkIGl0cyAqTE9XUEMg YW5kICpISUdIUEMgcmV0dXJuCiAgICB2YWx1ZXMuICBLZWVwIHRoZSBpdGVt cyBvcmRlcmVkIHdpdGggaW5jcmVhc2luZyBjb25zdHJhaW50cyBjb21wbGlh bmNlLiAgKi8KIGVudW0gcGNfYm91bmRzX2tpbmQKQEAgLTk0NDUsNiArOTQ4 OSw3IEBAIHNraXBfb25lX2RpZSAoY29uc3Qgc3RydWN0IGRpZV9yZWFkZXJf c3BlY3MgKnJlYWRlciwgY29uc3QgZ2RiX2J5dGUgKmluZm9fcHRyLAogCWNh c2UgRFdfRk9STV9HTlVfYWRkcl9pbmRleDoKIAljYXNlIERXX0ZPUk1fR05V X3N0cl9pbmRleDoKIAljYXNlIERXX0ZPUk1fcm5nbGlzdHg6CisJY2FzZSBE V19GT1JNX2xvY2xpc3R4OgogCSAgaW5mb19wdHIgPSBzYWZlX3NraXBfbGVi MTI4IChpbmZvX3B0ciwgYnVmZmVyX2VuZCk7CiAJICBicmVhazsKIAljYXNl IERXX0ZPUk1faW5kaXJlY3Q6CkBAIC0xMjk3OSw2ICsxMzAyNCwxMSBAQCBk d2FyZjJfbG9jYXRlX2R3b19zZWN0aW9ucyAoYmZkICphYmZkLCBhc2VjdGlv biAqc2VjdHAsIHZvaWQgKmR3b19zZWN0aW9uc19wdHIpCiAgICAgICBkd29f c2VjdGlvbnMtPmxvYy5zLnNlY3Rpb24gPSBzZWN0cDsKICAgICAgIGR3b19z ZWN0aW9ucy0+bG9jLnNpemUgPSBiZmRfc2VjdGlvbl9zaXplIChzZWN0cCk7 CiAgICAgfQorICBlbHNlIGlmIChzZWN0aW9uX2lzX3AgKHNlY3RwLT5uYW1l LCAmbmFtZXMtPmxvY2xpc3RzX2R3bykpCisgICAgeworICAgICAgZHdvX3Nl Y3Rpb25zLT5sb2NsaXN0cy5zLnNlY3Rpb24gPSBzZWN0cDsKKyAgICAgIGR3 b19zZWN0aW9ucy0+bG9jbGlzdHMuc2l6ZSA9IGJmZF9zZWN0aW9uX3NpemUg KHNlY3RwKTsKKyAgICB9CiAgIGVsc2UgaWYgKHNlY3Rpb25faXNfcCAoc2Vj dHAtPm5hbWUsICZuYW1lcy0+bWFjaW5mb19kd28pKQogICAgIHsKICAgICAg IGR3b19zZWN0aW9ucy0+bWFjaW5mby5zLnNlY3Rpb24gPSBzZWN0cDsKQEAg LTE4NDUzLDYgKzE4NTAzLDkgQEAgcmVhZF9mdWxsX2RpZV8xIChjb25zdCBz dHJ1Y3QgZGllX3JlYWRlcl9zcGVjcyAqcmVhZGVyLAogICBzdHJ1Y3QgYXR0 cmlidXRlICphdHRyID0gZHdhcmYyX2F0dHJfbm9fZm9sbG93IChkaWUsIERX X0FUX3N0cl9vZmZzZXRzX2Jhc2UpOwogICBpZiAoYXR0ciAhPSBudWxscHRy KQogICAgIGN1LT5zdHJfb2Zmc2V0c19iYXNlID0gRFdfVU5TTkQgKGF0dHIp OworICBhdHRyID0gZHdhcmYyX2F0dHJfbm9fZm9sbG93IChkaWUsIERXX0FU X2xvY2xpc3RzX2Jhc2UpOworICBpZiAoYXR0cikKKyAgICBjdS0+bG9jbGlz dF9iYXNlID0gRFdfVU5TTkQgKGF0dHIpOwogCiAgIGF1dG8gbWF5YmVfYWRk cl9iYXNlID0gbG9va3VwX2FkZHJfYmFzZShkaWUpOwogICBpZiAobWF5YmVf YWRkcl9iYXNlLmhhc192YWx1ZSAoKSkKQEAgLTE5NDA5LDYgKzE5NDYyLDgx IEBAIHBhcnRpYWxfZGllX2luZm86OmZpeHVwIChzdHJ1Y3QgZHdhcmYyX2N1 ICpjdSkKICAgZml4dXBfY2FsbGVkID0gMTsKIH0KIAordm9pZAorcmVhZF9s b2NsaXN0X2hlYWRlciAoc3RydWN0IGR3YXJmMl9jdSogY3UsIHN0cnVjdCBk d2FyZjJfc2VjdGlvbl9pbmZvKiBzZWN0aW9uKQoreworICB1bnNpZ25lZCBp bnQgYnl0ZXNfcmVhZDsKKyAgYmZkKiBhYmZkID0gZ2V0X3NlY3Rpb25fYmZk X293bmVyIChzZWN0aW9uKTsKKyAgY29uc3QgZ2RiX2J5dGUqIGluZm9fcHRy ID0gc2VjdGlvbi0+YnVmZmVyOworICBjdS0+bG9jbGlzdF9oZWFkZXIgPSBu ZXcgbG9jbGlzdF9oZWFkZXIoKTsKKyAgY3UtPmxvY2xpc3RfaGVhZGVyLT5s ZW5ndGggPSByZWFkX2luaXRpYWxfbGVuZ3RoIChhYmZkLCBpbmZvX3B0ciwg JmJ5dGVzX3JlYWQpOworICBpbmZvX3B0ciArPSBieXRlc19yZWFkOworICBj dS0+bG9jbGlzdF9oZWFkZXItPnZlcnNpb24gPSByZWFkXzJfYnl0ZXMgKGFi ZmQsIGluZm9fcHRyKTsKKyAgaW5mb19wdHIgKz0gMjsKKyAgY3UtPmxvY2xp c3RfaGVhZGVyLT5hZGRyX3NpemUgPSByZWFkXzFfYnl0ZSAoYWJmZCwgaW5m b19wdHIpOworICBpbmZvX3B0ciArPSAxOworICBjdS0+bG9jbGlzdF9oZWFk ZXItPnNlZ21lbnRfY29sbGVjdG9yX3NpemUgPSByZWFkXzFfYnl0ZSAoYWJm ZCwgaW5mb19wdHIpOworICBpbmZvX3B0ciArPSAxOworICBjdS0+bG9jbGlz dF9oZWFkZXItPm9mZnNldF9lbnRyeV9jb3VudCA9IHJlYWRfNF9ieXRlcyAo YWJmZCwgaW5mb19wdHIpOworfQorCisKK1VMT05HRVNUCitsb29rdXBfbG9j bGlzdF9iYXNlIChzdHJ1Y3QgZHdhcmYyX2N1KiBjdSkKK3sKKyAgLyogRm9y IHRoZSAuZHdvIHVuaXQsIHRoZSBsb2NsaXN0X2Jhc2UgcG9pbnRzIHRvIHRo ZSBmaXJzdCBvZmZzZXQgZm9sbG93aW5nCisgICAgIHRoZSBoZWFkZXIuIFRo ZSBoZWFkZXIgY29uc2lzdHMgb2YgdGhlIGZvbGxvd2luZyBlbnRpdGllcy0K KyAgICAgMS4gVW5pdCBMZW5ndGggKDQgYnl0ZXMgZm9yIDMyIGJpdCBEV0FS RiBmb3JtYXQsIGFuZCAxMiBieXRlcyBmb3IgdGhlIDY0IGJpdCBmb3JtYXQp CisgICAgIDIuIHZlcnNpb24gKDIgYnl0ZXMpCisgICAgIDMuIGFkZHJlc3Mg c2l6ZSAoMSBieXRlKQorICAgICA0LiBzZWdtZW50IHNlbGVjdG9yIHNpemUg KDEgYnl0ZSkKKyAgICAgNS4gb2Zmc2V0IGVudHJ5IGNvdW50ICg0IGJ5dGVz KQorICAgICBUaGVzZSBzaXplcyBhcmUgZGVyaXZlZCBhcyBwZXIgdGhlIERX QVJGdjUgc3RhbmRhcmQuICovCisgIGlmIChjdS0+ZHdvX3VuaXQpCisgIHsK KyAgICBpZiAoY3UtPmhlYWRlci5pbml0aWFsX2xlbmd0aF9zaXplID09IDQp CisgICAgICByZXR1cm4gTE9DTElTVF9IRUFERVJfU0laRTMyOworICAgIHJl dHVybiBMT0NMSVNUX0hFQURFUl9TSVpFNjQ7CisgIH0KKyAgcmV0dXJuICpj dS0+bG9jbGlzdF9iYXNlOworfQorCisvKiBHaXZlbiBhIERXX0ZPUk1fbG9j bGlzdHggdmFsdWUgbG9jbGlzdF9pbmRleCwgZmV0Y2ggdGhlIG9mZnNldCBm cm9tIHRoZSBhcnJheQorICAgb2Ygb2Zmc2V0cyBpbiB0aGUgLmRlYnVnX2xv Y2xpc3RzIHNlY3Rpb24uICovCitDT1JFX0FERFIKK3JlYWRfbG9jbGlzdF9p bmRleCAoc3RydWN0IGR3YXJmMl9jdSogY3UsIFVMT05HRVNUIGxvY2xpc3Rf aW5kZXgpCit7CisgIHN0cnVjdCBkd2FyZjJfcGVyX29iamZpbGUqIGR3YXJm Ml9wZXJfb2JqZmlsZQorCT0gY3UtPnBlcl9jdS0+ZHdhcmYyX3Blcl9vYmpm aWxlOworICBzdHJ1Y3Qgb2JqZmlsZSogb2JqZmlsZSA9IGR3YXJmMl9wZXJf b2JqZmlsZS0+b2JqZmlsZTsKKyAgYmZkKiBhYmZkID0gb2JqZmlsZS0+b2Jm ZDsKKyAgVUxPTkdFU1QgbG9jbGlzdF9iYXNlID0gbG9va3VwX2xvY2xpc3Rf YmFzZSAoY3UpOworICBjb25zdCBnZGJfYnl0ZSogaW5mb19wdHI7CisgIHN0 cnVjdCBkd2FyZjJfc2VjdGlvbl9pbmZvKiBzZWN0aW9uID0gY3VfZGVidWdf bG9jX3NlY3Rpb24gKGN1KTsKKyAgZHdhcmYyX3JlYWRfc2VjdGlvbiAob2Jq ZmlsZSwgc2VjdGlvbik7CisgIGlmIChzZWN0aW9uLT5idWZmZXIgPT0gTlVM TCkKKyAgICBlcnJvcihfKCJEV19GT1JNX2xvY2xpc3R4IHVzZWQgd2l0aG91 dCAuZGVidWdfbG9jbGlzdCBzZWN0aW9uIFtpbiBtb2R1bGUgJXNdIiksCisJ b2JqZmlsZV9uYW1lIChvYmpmaWxlKSk7CisgIHJlYWRfbG9jbGlzdF9oZWFk ZXIgKGN1LCBzZWN0aW9uKTsKKyAgaWYgKGxvY2xpc3RfaW5kZXggPj0gY3Ut PmxvY2xpc3RfaGVhZGVyLT5vZmZzZXRfZW50cnlfY291bnQpCisgICAgZXJy b3IoXygiRFdfRk9STV9sb2NsaXN0eCBwb2ludGluZyBvdXRzaWRlIG9mICIK KwkiLmRlYnVnX2xvY2xpc3Qgb2Zmc2V0IGFycmF5IFtpbiBtb2R1bGUgJXNd IiksCisJb2JqZmlsZV9uYW1lIChvYmpmaWxlKSk7CisgIGlmIChsb2NsaXN0 X2Jhc2UgKyBsb2NsaXN0X2luZGV4ICogY3UtPmhlYWRlci5vZmZzZXRfc2l6 ZQorCT49IHNlY3Rpb24tPnNpemUpCisgICAgZXJyb3IoXygiRFdfRk9STV9s b2NsaXN0eCBwb2ludGluZyBvdXRzaWRlIG9mICIKKwkiLmRlYnVnX2xvY2xp c3Qgc2VjdGlvbiBbaW4gbW9kdWxlICVzXSIpLAorCW9iamZpbGVfbmFtZSAo b2JqZmlsZSkpOworICBpbmZvX3B0ciA9IChzZWN0aW9uLT5idWZmZXIgKyBs b2NsaXN0X2Jhc2UgKworCWxvY2xpc3RfaW5kZXggKiBjdS0+aGVhZGVyLm9m ZnNldF9zaXplKTsKKyAgZGVsZXRlIGN1LT5sb2NsaXN0X2hlYWRlcjsKKyAg Y3UtPmxvY2xpc3RfaGVhZGVyID0gTlVMTDsKKyAgaWYgKGN1LT5oZWFkZXIu b2Zmc2V0X3NpemUgPT0gNCkKKyAgICByZXR1cm4gYmZkX2dldF8zMiAoYWJm ZCwgaW5mb19wdHIpICsgbG9jbGlzdF9iYXNlOworICBlbHNlCisgICAgcmV0 dXJuIGJmZF9nZXRfNjQgKGFiZmQsIGluZm9fcHRyKSArIGxvY2xpc3RfYmFz ZTsKK30KKwogLyogUHJvY2VzcyB0aGUgYXR0cmlidXRlcyB0aGF0IGhhZCB0 byBiZSBza2lwcGVkIGluIHRoZSBmaXJzdCByb3VuZC4gVGhlc2UKICAgIGF0 dHJpYnV0ZXMgYXJlIHRoZSBvbmVzIHRoYXQgbmVlZCBzdHJfb2Zmc2V0c19i YXNlIG9yIGFkZHJfYmFzZSBhdHRyaWJ1dGVzLgogICAgVGhleSBjb3VsZCBu b3QgaGF2ZSBiZWVuIHByb2Nlc3NlZCBpbiB0aGUgZmlyc3Qgcm91bmQsIGJl Y2F1c2UgYXQgdGhlIHRpbWUKQEAgLTE5NDIzLDYgKzE5NTUxLDkgQEAgdm9p ZCByZWFkX2F0dHJpYnV0ZV9yZXByb2Nlc3MgKGNvbnN0IHN0cnVjdCBkaWVf cmVhZGVyX3NwZWNzICpyZWFkZXIsCiAgICAgICBjYXNlIERXX0ZPUk1fR05V X2FkZHJfaW5kZXg6CiAgICAgICAgIERXX0FERFIgKGF0dHIpID0gcmVhZF9h ZGRyX2luZGV4IChjdSwgRFdfVU5TTkQgKGF0dHIpKTsKICAgICAgICAgYnJl YWs7CisgICAgICBjYXNlIERXX0ZPUk1fbG9jbGlzdHg6CisJIERXX1VOU05E IChhdHRyKSA9IHJlYWRfbG9jbGlzdF9pbmRleCAoY3UsIERXX1VOU05EIChh dHRyKSk7CisJIGJyZWFrOwogICAgICAgY2FzZSBEV19GT1JNX3N0cng6CiAg ICAgICBjYXNlIERXX0ZPUk1fc3RyeDE6CiAgICAgICBjYXNlIERXX0ZPUk1f c3RyeDI6CkBAIC0xOTUyNiw2ICsxOTY1NywxMyBAQCByZWFkX2F0dHJpYnV0 ZV92YWx1ZSAoY29uc3Qgc3RydWN0IGRpZV9yZWFkZXJfc3BlY3MgKnJlYWRl ciwKICAgICAgIERXX1VOU05EIChhdHRyKSA9IHJlYWRfb2Zmc2V0IChhYmZk LCBpbmZvX3B0ciwgJmN1LT5oZWFkZXIsICZieXRlc19yZWFkKTsKICAgICAg IGluZm9fcHRyICs9IGJ5dGVzX3JlYWQ7CiAgICAgICBicmVhazsKKyAgICBj YXNlIERXX0ZPUk1fbG9jbGlzdHg6CisgICAgeworICAgICAgKm5lZWRfcmVw cm9jZXNzID0gdHJ1ZTsKKyAgICAgIERXX1VOU05EKGF0dHIpID0gcmVhZF91 bnNpZ25lZF9sZWIxMjggKGFiZmQsIGluZm9fcHRyLCAmYnl0ZXNfcmVhZCk7 CisgICAgICBpbmZvX3B0ciArPSBieXRlc19yZWFkOworICAgIH0KKyAgICAg IGJyZWFrOwogICAgIGNhc2UgRFdfRk9STV9zdHJpbmc6CiAgICAgICBEV19T VFJJTkcgKGF0dHIpID0gcmVhZF9kaXJlY3Rfc3RyaW5nIChhYmZkLCBpbmZv X3B0ciwgJmJ5dGVzX3JlYWQpOwogICAgICAgRFdfU1RSSU5HX0lTX0NBTk9O SUNBTCAoYXR0cikgPSAwOwpAQCAtMjU0MDcsNyArMjU1NDUsOCBAQCBhdHRy X2Zvcm1faXNfc2VjdGlvbl9vZmZzZXQgKGNvbnN0IHN0cnVjdCBhdHRyaWJ1 dGUgKmF0dHIpCiB7CiAgIHJldHVybiAoYXR0ci0+Zm9ybSA9PSBEV19GT1JN X2RhdGE0CiAgICAgICAgICAgfHwgYXR0ci0+Zm9ybSA9PSBEV19GT1JNX2Rh dGE4Ci0JICB8fCBhdHRyLT5mb3JtID09IERXX0ZPUk1fc2VjX29mZnNldCk7 CisJICB8fCBhdHRyLT5mb3JtID09IERXX0ZPUk1fc2VjX29mZnNldAorCSAg fHwgYXR0ci0+Zm9ybSA9PSBEV19GT1JNX2xvY2xpc3R4KTsKIH0KIAogLyog UmV0dXJuIG5vbi16ZXJvIGlmIEFUVFIncyB2YWx1ZSBmYWxscyBpbiB0aGUg J2NvbnN0YW50JyBjbGFzcywgb3IKLS0gCjIuMTcuMQoK --_002_MN2PR12MB3744F6BA6B3F4E6986B9A28A9A320MN2PR12MB3744namp_--