From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by sourceware.org (Postfix) with ESMTPS id 0401A3858D35 for ; Mon, 3 Aug 2020 14:55:52 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 0401A3858D35 IronPort-SDR: edkF47R0GL3Dz310Gi1NIr4qU4D3x+6ltGdYIn6vsvOClJ0g9p4LaKm1+XW/gn4SjSTGqWqV5P njTDBd7o3KoA== X-IronPort-AV: E=McAfee;i="6000,8403,9702"; a="132171752" X-IronPort-AV: E=Sophos;i="5.75,430,1589266800"; d="scan'208";a="132171752" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Aug 2020 07:55:51 -0700 IronPort-SDR: 9eLpleUc06sRm7qkAF2GkGVpSO8st+Gj2kLJUJoZEZLkeoaB/z8H2dm/j02is7JwFeD51C/9Nz zogT7R8YPpFg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,430,1589266800"; d="scan'208";a="292091454" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by orsmga006.jf.intel.com with ESMTP; 03 Aug 2020 07:55:51 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 3 Aug 2020 07:55:50 -0700 Received: from fmsmsx158.amr.corp.intel.com (10.18.116.75) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Mon, 3 Aug 2020 07:55:50 -0700 Received: from FMSEDG002.ED.cps.intel.com (10.1.192.134) by fmsmsx158.amr.corp.intel.com (10.18.116.75) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 3 Aug 2020 07:55:45 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.171) by edgegateway.intel.com (192.55.55.69) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 3 Aug 2020 07:55:45 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KuvxaWtSlkBahfDr30yXU3v/r/h5r461/gF/SI9sOVGPnMQ1F6NQT+ID2XIXUhiQKRc5ngBSiLI7DetjJYN3jENiB7wu+l89gTrOjbmE450ym79RzaszDf3vJzJRMWG/sls5yJy3wMzmDIEoZ2J3tPP1T88bKhtBYli888FBkA6bbE9KmixiCV2aNTyNce2e2rjvFwv/HRRrV1UCYJb0jaXBbvSD6roUrrJ0FAiXTe9zcMu3EKfwuIS7UXdAMbVkZR8L7YfqT+SwHYyENEcuHVriLgsBD8mA2G5AfOfaeTNv8NrgokbSQiMfHJ5XnW1VRKRrWtQl+3qLJ2HJFELadQ== 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=Hb5khP2pyCE3/YMveq/hawwE6JwCYlPQzFXyoJNoW1A=; b=NmxiAEj2dMsSIEJ8iamIJ5xstzrFFYbKxWCKd8M9ke5TtDqwrblEo6grSD/OJa+y7bXT0DZECN8NEHsnpf/h9TyVSeyeq3xcqhKeHEtbCRNIrbvwGviYoSzG4+h3ysY1jjjJUN4qOpr0rVeSpqVomGLO4GBEeS29uZd8Gk+y8t/uzHSIyuwaMKNS3zNJHejDWC2H5ZD3Lsl7zfLf38wSFt9r3te5r9tv8Keff7kEDhrwEIXYwa6o7x/Cg0io2HP2LJl6FhHOO8U9Eh+1ECZw0ShzsT15fwXXOzxQLHKt6YS34dzNLmBvFESa5LFbAqIrplWco5AFOYXkfOhy43fcQQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from SN6PR11MB2893.namprd11.prod.outlook.com (2603:10b6:805:dc::23) by SN6PR11MB3085.namprd11.prod.outlook.com (2603:10b6:805:da::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3239.17; Mon, 3 Aug 2020 14:55:43 +0000 Received: from SN6PR11MB2893.namprd11.prod.outlook.com ([fe80::31d8:5232:d194:3233]) by SN6PR11MB2893.namprd11.prod.outlook.com ([fe80::31d8:5232:d194:3233%5]) with mapi id 15.20.3239.021; Mon, 3 Aug 2020 14:55:43 +0000 From: "Aktemur, Tankut Baris" To: "Jose E. Marchesi" CC: "gdb-patches@sourceware.org" Subject: RE: [PATCH V6 1/3] gdb: support for eBPF Thread-Topic: [PATCH V6 1/3] gdb: support for eBPF Thread-Index: AQHWaZ7egM+C8EYoRk2uRO/+/ymoPKkmdiNA Date: Mon, 3 Aug 2020 14:55:43 +0000 Message-ID: References: <20200803140237.14476-1-jose.marchesi@oracle.com> <20200803140237.14476-2-jose.marchesi@oracle.com> In-Reply-To: <20200803140237.14476-2-jose.marchesi@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.5.1.3 dlp-product: dlpe-windows dlp-reaction: no-action x-originating-ip: [84.61.174.26] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 880c1b2d-9150-4f89-1825-08d837bd4c2b x-ms-traffictypediagnostic: SN6PR11MB3085: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 8CyA1sOKoUHTQaYD1MwEJwdhFJ7+tNEIY1x1qOQyLMT16AOD+oWOGew54TwenPEZm6g+o7TRMYWkX0ODk3O16G7Bqam2afCnsG4UWlOAqbo1itfl2SI1Qqyp3Qr3KiyhT5I6Y+PWRjRUSM6gWoe6gV0votr0uzY0qBDeu82tTgnBKE4HHA5Qt8soNifEnrYANFVxfngEF8i8FXfq99X67uKO2mrFUeiRU+Cwn52e73AE+zrLTIG1Cgk/Zmysorx7Lg7AzJsNrxadig6oUv0N21jT0tzuJvANvWy/d+v6lK4Ag5SvO/fkfgz+0sQ0o4EJVUvwBE0QmLPVEGGeuZtcZNu1BzcDPQTBHwzqcexlVQ1AVHZjNywbF0flChfl4YDp x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN6PR11MB2893.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(396003)(376002)(366004)(346002)(136003)(39860400002)(76116006)(71200400001)(64756008)(66446008)(8936002)(4326008)(66946007)(66476007)(186003)(8676002)(316002)(5660300002)(66556008)(6916009)(83380400001)(9686003)(55016002)(478600001)(52536014)(33656002)(86362001)(2906002)(6506007)(7696005)(26005)(53546011)(21314003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: cmjvBMpcmL/7GTeMgxq0T4A4OuMhu2tbKm8XDhI7rCXWPxDNeeKhQCnzvAwZJnponaIYuAmUmXo5jYLOVmEn7hknkkgto+M21DjWcTLc0H8IjKFr0gBaDyZ9iVGUPdUCbqxQZLQ8I0/1MfVmYefppX15A4YIkHRJ4eq8uZ+9URi0ie2YwqgmboQm1PtTIdOCBbjZlYRDxn4TXcVg5MSUICbbzgZO3qsy80NSnSfTBu/Y+DMFDDd0/kZ6G4Tn7oyJFJ0uBe2z5LEVh6tewqP02q0qsvOCdnZhMQDYqNYmqQKcvZicW9P5prIHtgwebVjijaYBPDO7xTuHb24ItfM3RA4KkL/AqqjiaCzpbPCnr9SAhScDgARFFXZZ8xv1JN7dfYZIrND0aN42H14SVrzBdgy15Fvy/NbdBdi1Fmxh5lDijHD418C1U+CdLHj7lwi9KocYM3Kp/IJJag5AXH+q+OVrrH6dOpfqRyF5Yqdq8X2xi5ImntoG2M6ZBXhC6njAPuVHIX6tsYbhbBn/DvZxtnzOBCvHs3wKDz2v0WzYJtQDSu2hw+EjKFJg3OrkqQ0B4+Rb2DAOYzscdkFJy1p2CSD7Bz4Fdr7yo3iaqooZ4yfrnjI8hdXKvBSMSrsUOXCaYtpwksBAxhtR1UnElkHwHg== x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR11MB2893.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 880c1b2d-9150-4f89-1825-08d837bd4c2b X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Aug 2020 14:55:43.8125 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: la7ea7Iq6UENurw/bIg2TSdjJ0fkEvWIY+WlV4VYJ8Lr1mQjQf7UD9gxPYQcWKq4286dh+FHhwSBWRSY4gh668dN5ySpb2nfCi8YusZMfCw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR11MB3085 X-OriginatorOrg: intel.com Content-Transfer-Encoding: base64 X-Spam-Status: No, score=-1.2 required=5.0 tests=BAYES_00, DKIM_INVALID, DKIM_SIGNED, KAM_DMARC_STATUS, RCVD_IN_BARRACUDACENTRAL, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=no 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, 03 Aug 2020 14:55:56 -0000 T24gTW9uZGF5LCBBdWd1c3QgMywgMjAyMCA0OjAzIFBNLCBKb3NlIEUuIE1hcmNoZXNpIHdyb3Rl Og0KPiBUaGlzIHBhdGNoIGFkZHMgYmFzaWMgc3VwcG9ydCBmb3IgdGhlIGVCUEYgdGFyZ2V0OiB0 ZGVwIGFuZCBidWlsZA0KPiBtYWNoaW5lcnkuICBUaGUgYWNjb21wYW55aW5nIHNpbXVsYXRvciBp cyBpbnRyb2R1Y2VkIGluIHN1YnNlcXVlbnQNCj4gcGF0Y2hlcy4NCj4NCj4gKy8qIEludGVybmFs IGRlYnVnZ2luZyBmYWNpbGl0aWVzLiAgKi8NCj4gKw0KPiArLyogV2hlbiB0aGlzIGlzIHNldCB0 byBub24temVybyBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24gd2lsbCBiZQ0KPiArICAgcHJpbnRlZC4g ICovDQo+ICsNCj4gK3N0YXRpYyB1bnNpZ25lZCBpbnQgYnBmX2RlYnVnX2ZsYWcgPSAwOw0KPiAr DQo+ICsvKiBUaGUgc2hvdyBjYWxsYmFjayBmb3IgJ3Nob3cgZGVidWcgYnBmJy4gICovDQo+ICsN Cj4gK3N0YXRpYyB2b2lkDQo+ICtzaG93X2JwZl9kZWJ1ZyAoc3RydWN0IHVpX2ZpbGUgKmZpbGUs IGludCBmcm9tX3R0eSwNCj4gKwkgICAgICAgIHN0cnVjdCBjbWRfbGlzdF9lbGVtZW50ICpjLCBj b25zdCBjaGFyICp2YWx1ZSkNCg0KSnVzdCBteSB0d28gY2VudHMuICBUaGUgJ3N0cnVjdCcga2V5 d29yZCBjYW4gYmUgcmVtb3ZlZCBpbiBudW1lcm91cyBwbGFjZXMNCnRocm91Z2hvdXQgdGhlIGZp bGUuICBBbHNvLCBOVUxMIGNhbiBiZSByZXBsYWNlZCB3aXRoIG51bGxwdHIuDQoNCj4gK3sNCj4g KyAgZnByaW50Zl9maWx0ZXJlZCAoZmlsZSwgXygiRGVidWdnaW5nIG9mIEJQRiBpcyAlcy5cbiIp LCB2YWx1ZSk7DQo+ICt9DQo+ICsNCj4gKw0KPiANCj4gDQo+ICsvKiBCUEYgcmVnaXN0ZXJzICov DQoNCk1pZ2h0IGxvb2sgYmV0dGVyIHdpdGggZG90LXNwYWNlLXNwYWNlIGF0IHRoZSBlbmQuDQoN Cj4gKw0KPiArc3RhdGljIGNvbnN0IGNoYXIgKmJwZl9yZWdpc3Rlcl9uYW1lc1tdID0NCj4gK3sN Cj4gKyAgInIwIiwgICAicjEiLCAgInIyIiwgICAgInIzIiwgICAicjQiLCAgICJyNSIsICAgInI2 IiwgICAicjciLA0KPiArICAicjgiLCAgICJyOSIsICAicjEwIiwgICAicGMiDQo+ICt9Ow0KPiAr DQo+ICsvKiBSZXR1cm4gdGhlIG5hbWUgb2YgcmVnaXN0ZXIgUkVHTlVNLiAgKi8NCj4gKw0KPiAr c3RhdGljIGNvbnN0IGNoYXIgKg0KPiArYnBmX3JlZ2lzdGVyX25hbWUgKHN0cnVjdCBnZGJhcmNo ICpnZGJhcmNoLCBpbnQgcmVnKQ0KPiArew0KPiArICBpZiAocmVnID49IDAgJiYgcmVnIDwgQlBG X05VTV9SRUdTKQ0KPiArICAgIHJldHVybiBicGZfcmVnaXN0ZXJfbmFtZXNbcmVnXTsNCj4gKyAg cmV0dXJuIE5VTEw7DQo+ICt9DQo+ICsNCj4gKy8qIFJldHVybiB0aGUgR0RCIHR5cGUgb2YgcmVn aXN0ZXIgUkVHTlVNLiAgKi8NCj4gKw0KPiArc3RhdGljIHN0cnVjdCB0eXBlICoNCj4gK2JwZl9y ZWdpc3Rlcl90eXBlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgaW50IHJlZykNCj4gK3sNCj4g KyAgaWYgKHJlZyA9PSBCUEZfUjEwX1JFR05VTSkNCj4gKyAgICByZXR1cm4gYnVpbHRpbl90eXBl IChnZGJhcmNoKS0+YnVpbHRpbl9kYXRhX3B0cjsNCj4gKyAgZWxzZSBpZiAocmVnID09IEJQRl9Q Q19SRUdOVU0pDQo+ICsgICAgcmV0dXJuIGJ1aWx0aW5fdHlwZSAoZ2RiYXJjaCktPmJ1aWx0aW5f ZnVuY19wdHI7DQo+ICsgIHJldHVybiBidWlsdGluX3R5cGUgKGdkYmFyY2gpLT5idWlsdGluX2lu dDY0Ow0KPiArfQ0KPiArDQo+ICsvKiBSZXR1cm4gdGhlIEdEQiByZWdpc3RlciBudW1iZXIgY29y cmVzcG9uZGluZyB0byBEV0FSRidzIFJFRy4gICovDQo+ICsNCj4gK3N0YXRpYyBpbnQNCj4gK2Jw Zl9kd2FyZjJfcmVnX3RvX3JlZ251bSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIGludCByZWcp DQo+ICt7DQo+ICsgIGlmIChyZWcgPj0gMCAmJiByZWcgPCBCUEZfTlVNX1JFR1MpDQo+ICsgICAg cmV0dXJuIHJlZzsNCj4gKyAgcmV0dXJuIC0xOw0KPiArfQ0KPiArDQo+ICsvKiBJbXBsZW1lbnQg dGhlICJwcmludF9pbnNuIiBnZGJhcmNoIG1ldGhvZC4gICovDQo+ICsNCj4gK3N0YXRpYyBpbnQN Cj4gK2JwZl9nZGJfcHJpbnRfaW5zbiAoYmZkX3ZtYSBtZW1hZGRyLCBkaXNhc3NlbWJsZV9pbmZv ICppbmZvKQ0KPiArew0KPiArICBpbmZvLT5zeW1ib2xzID0gTlVMTDsNCj4gKyAgcmV0dXJuIGRl ZmF1bHRfcHJpbnRfaW5zbiAobWVtYWRkciwgaW5mbyk7DQo+ICt9DQo+ICsNCj4gKw0KPiANCj4g DQo+ICsvKiBSZXR1cm4gUEMgb2YgZmlyc3QgcmVhbCBpbnN0cnVjdGlvbiBvZiB0aGUgZnVuY3Rp b24gc3RhcnRpbmcgYXQNCj4gKyAgIFNUQVJUX1BDLiAgKi8NCj4gKw0KPiArc3RhdGljIENPUkVf QUREUg0KPiArYnBmX3NraXBfcHJvbG9ndWUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBDT1JF X0FERFIgc3RhcnRfcGMpDQo+ICt7DQo+ICsgIGZwcmludGZfdW5maWx0ZXJlZCAoZ2RiX3N0ZGxv ZywNCj4gKwkJICAgICAgIlNraXBwaW5nIHByb2xvZ3VlOiBzdGFydF9wYz0lc1xuIiwNCj4gKwkJ ICAgICAgcGFkZHJlc3MgKGdkYmFyY2gsIHN0YXJ0X3BjKSk7DQo+ICsgIC8qIFhYWDogdG8gYmUg Y29tcGxldGVkLiAgKi8NCj4gKyAgcmV0dXJuIHN0YXJ0X3BjICsgMDsNCj4gK30NCj4gKw0KPiAr DQo+IA0KPiANCj4gKy8qIEZyYW1lIHVud2luZGVyLg0KPiArDQo+ICsgICBYWFggaXQgaXMgbm90 IGNsZWFyIGhvdyB0byB1bndpbmQgaW4gZUJQRiwgc2luY2UgdGhlIHN0YWNrIGlzIG5vdA0KPiAr ICAgZ3VhcmFudGVlZCB0byBiZSBjb250aWd1b3VzLCBhbmQgdGhlcmVmb3JlIG5vIHJlbGF0aXZl IHN0YWNrDQo+ICsgICBhZGRyZXNzaW5nIGNhbiBiZSBkb25lIGluIHRoZSBjYWxsZWUgaW4gb3Jk ZXIgdG8gYWNjZXNzIHRoZQ0KPiArICAgY2FsbGVyJ3Mgc3RhY2sgZnJhbWUuICBUbyBleHBsb3Jl IHdpdGggeEJQRiwgd2hpY2ggd2lsbCByZWxheCB0aGlzDQo+ICsgICByZXN0cmljdGlvbi4gICov DQo+ICsNCj4gKy8qIEdpdmVuIFRISVNfRlJBTUUsIHJldHVybiBpdHMgSUQuICAqLw0KPiArDQo+ ICtzdGF0aWMgdm9pZA0KPiArYnBmX2ZyYW1lX3RoaXNfaWQgKHN0cnVjdCBmcmFtZV9pbmZvICp0 aGlzX2ZyYW1lLA0KPiArCQkgICB2b2lkICoqdGhpc19wcm9sb2d1ZV9jYWNoZSwNCj4gKwkJICAg c3RydWN0IGZyYW1lX2lkICp0aGlzX2lkKQ0KPiArew0KPiArICAvKiBOb3RlIHRoYXQgVEhJU19J RCBkZWZhdWx0cyB0byB0aGUgb3V0ZXJtb3N0IGZyYW1lIGlmIHdlIGRvbid0IHNldA0KPiArICAg ICBhbnl0aGluZyBoZXJlLiAgU2VlIGZyYW1lLmM6Y29tcHV0ZV9mcmFtZV9pZC4gICovDQo+ICt9 DQo+ICsNCj4gKy8qIFJldHVybiB0aGUgcmVhc29uIHdoeSB3ZSBjYW4ndCB1bndpbmQgcGFzdCBU SElTX0ZSQU1FLiAgKi8NCj4gKw0KPiArc3RhdGljIGVudW0gdW53aW5kX3N0b3BfcmVhc29uDQo+ ICticGZfZnJhbWVfdW53aW5kX3N0b3BfcmVhc29uIChzdHJ1Y3QgZnJhbWVfaW5mbyAqdGhpc19m cmFtZSwNCj4gKwkJCSAgICAgIHZvaWQgKip0aGlzX2NhY2hlKQ0KPiArew0KPiArICByZXR1cm4g VU5XSU5EX09VVEVSTU9TVDsNCj4gK30NCj4gKw0KPiArLyogQXNrIFRISVNfRlJBTUUgdG8gdW53 aW5kIGl0cyByZWdpc3Rlci4gICovDQo+ICsNCj4gK3N0YXRpYyBzdHJ1Y3QgdmFsdWUgKg0KPiAr YnBmX2ZyYW1lX3ByZXZfcmVnaXN0ZXIgKHN0cnVjdCBmcmFtZV9pbmZvICp0aGlzX2ZyYW1lLA0K PiArCQkJIHZvaWQgKip0aGlzX3Byb2xvZ3VlX2NhY2hlLCBpbnQgcmVnbnVtKQ0KPiArew0KPiAr ICByZXR1cm4gZnJhbWVfdW53aW5kX2dvdF9yZWdpc3RlciAodGhpc19mcmFtZSwgcmVnbnVtLCBy ZWdudW0pOw0KPiArfQ0KPiArDQo+ICsvKiBGcmFtZSB1bndpbmRlciBtYWNoaW5lcnkgZm9yIEJQ Ri4gICovDQo+ICsNCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZnJhbWVfdW53aW5kIGJwZl9mcmFt ZV91bndpbmQgPQ0KPiArew0KPiArICBOT1JNQUxfRlJBTUUsDQo+ICsgIGJwZl9mcmFtZV91bndp bmRfc3RvcF9yZWFzb24sDQo+ICsgIGJwZl9mcmFtZV90aGlzX2lkLA0KPiArICBicGZfZnJhbWVf cHJldl9yZWdpc3RlciwNCj4gKyAgTlVMTCwNCj4gKyAgZGVmYXVsdF9mcmFtZV9zbmlmZmVyDQo+ ICt9Ow0KPiArDQo+ICsNCj4gDQo+IA0KPiArLyogQnJlYWtwb2ludHMuICAqLw0KPiArDQo+ICsv KiBFbnVtIGRlc2NyaWJpbmcgdGhlIGRpZmZlcmVudCBraW5kcyBvZiBicmVha3BvaW50cy4gIFdl IGN1cnJlbnRseQ0KPiArICAganVzdCBzdXBwb3J0IG9uZSwgaW1wbGVtZW50ZWQgYnkgdGhlIGJy a3B0IHhicGYgaW5zdHJ1Y3Rpb24uICAgKi8NCj4gKw0KPiArZW51bSBicGZfYnJlYWtwb2ludF9r aW5kcw0KPiArew0KPiArICBCUEZfQlBfS0lORF9CUktQVCA9IDAsDQo+ICt9Ow0KPiArDQo+ICsv KiBJbXBsZW1lbnQgdGhlIGJyZWFrcG9pbnRfa2luZF9mcm9tX3BjIGdkYmFyY2ggbWV0aG9kLiAg Ki8NCj4gKw0KPiArc3RhdGljIGludA0KPiArYnBmX2JyZWFrcG9pbnRfa2luZF9mcm9tX3BjIChz dHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgQ09SRV9BRERSICpzdGFydF9wYykNCj4gK3sNCj4gKyAg LyogV2Ugc3VwcG9ydCBqdXN0IG9uZSBraW5kIG9mIGJyZWFrcG9pbnQuICAqLw0KPiArICByZXR1 cm4gQlBGX0JQX0tJTkRfQlJLUFQ7DQo+ICt9DQo+ICsNCj4gKy8qIEltcGxlbWVudCB0aGUgc3df YnJlYWtwb2ludF9mcm9tX2tpbmQgZ2RiYXJjaCBtZXRob2QuICAqLw0KPiArDQo+ICtzdGF0aWMg Y29uc3QgZ2RiX2J5dGUgKg0KPiArYnBmX3N3X2JyZWFrcG9pbnRfZnJvbV9raW5kIChzdHJ1Y3Qg Z2RiYXJjaCAqZ2RiYXJjaCwgaW50IGtpbmQsIGludCAqc2l6ZSkNCj4gK3sNCj4gKyAgc3RhdGlj IHVuc2lnbmVkIGNoYXIgYnJrcHRfaW5zbltdDQo+ICsgICAgPSB7MHg4YywgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH07DQo+ICsNCj4gKyAgc3dpdGNoIChraW5kKQ0K PiArICAgIHsNCj4gKyAgICBjYXNlIEJQRl9CUF9LSU5EX0JSS1BUOg0KPiArICAgICAgKnNpemUg PSA4Ow0KPiArICAgICAgcmV0dXJuIGJya3B0X2luc247DQo+ICsgICAgZGVmYXVsdDoNCj4gKyAg ICAgIGdkYl9hc3NlcnRfbm90X3JlYWNoZWQgKCJ1bmV4cGVjdGVkIEJQRiBicmVha3BvaW50IGtp bmQiKTsNCj4gKyAgICB9DQo+ICt9DQo+ICsNCj4gKw0KPiANCj4gDQo+ICsvKiBBc3N1bWluZyBU SElTX0ZSQU1FIGlzIGEgZHVtbXkgZnJhbWUsIHJldHVybiBpdHMgZnJhbWUgSUQuICAqLw0KPiAr DQo+ICtzdGF0aWMgc3RydWN0IGZyYW1lX2lkDQo+ICticGZfZHVtbXlfaWQgKHN0cnVjdCBnZGJh cmNoICpnZGJhcmNoLCBzdHJ1Y3QgZnJhbWVfaW5mbyAqdGhpc19mcmFtZSkNCj4gK3sNCj4gKyAg Q09SRV9BRERSIHNwID0gZ2V0X2ZyYW1lX3JlZ2lzdGVyX3Vuc2lnbmVkICh0aGlzX2ZyYW1lLA0K PiArCQkJCQkgICAgICBnZGJhcmNoX3NwX3JlZ251bSAoZ2RiYXJjaCkpOw0KPiArICByZXR1cm4g ZnJhbWVfaWRfYnVpbGQgKHNwLCBnZXRfZnJhbWVfcGMgKHRoaXNfZnJhbWUpKTsNCj4gK30NCj4g Kw0KPiArLyogSW1wbGVtZW50IHRoZSBwdXNoIGR1bW15IGNhbGwgZ2RiYXJjaCBjYWxsYmFjay4g ICovDQo+ICsNCj4gK3N0YXRpYyBDT1JFX0FERFINCj4gK2JwZl9wdXNoX2R1bW15X2NhbGwgKHN0 cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLA0KPiArCQkgICAg IHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIENPUkVfQUREUiBicF9hZGRyLA0KPiArCQkgICAg IGludCBuYXJncywgc3RydWN0IHZhbHVlICoqYXJncywgQ09SRV9BRERSIHNwLA0KPiArCQkgICAg IGZ1bmN0aW9uX2NhbGxfcmV0dXJuX21ldGhvZCByZXR1cm5fbWV0aG9kLA0KPiArCQkgICAgIENP UkVfQUREUiBzdHJ1Y3RfYWRkcikNCj4gK3sNCj4gKyAgZnByaW50Zl91bmZpbHRlcmVkIChnZGJf c3RkbG9nLA0KPiArCQkgICAgICAiUHVzaGluZyBkdW1teSBjYWxsOiBzcD0lc1xuIiwNCg0KSXMg aXQgbmVjZXNzYXJ5IHRvIGJyZWFrIHRoZSBsaW5lPw0KDQo+ICsJCSAgICAgIHBhZGRyZXNzIChn ZGJhcmNoLCBzcCkpOw0KPiArICAvKiBYWFggd3JpdGVtZSAgKi8NCj4gKyAgcmV0dXJuIHNwOw0K PiArfQ0KPiArDQo+ICsvKiBFeHRyYWN0IGEgZnVuY3Rpb24gcmV0dXJuIHZhbHVlIG9mIFRZUEUg ZnJvbSBSRUdDQUNIRSwNCj4gKyAgIGFuZCBjb3B5IGl0IGludG8gVkFMQlVGLiAgKi8NCj4gKw0K PiArc3RhdGljIHZvaWQNCj4gK2JwZl9leHRyYWN0X3JldHVybl92YWx1ZSAoc3RydWN0IHR5cGUg KnR5cGUsIHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsDQo+ICsJCQkgIGdkYl9ieXRlICp2YWxi dWYpDQo+ICt7DQo+ICsgIGludCBsZW4gPSBUWVBFX0xFTkdUSCAodHlwZSk7DQo+ICsgIGdkYl9i eXRlIHZidWZbOF07DQo+ICsNCj4gKyAgZ2RiX2Fzc2VydCAobGVuIDw9IDgpOw0KPiArICByZWdj YWNoZS0+Y29va2VkX3JlYWQgKEJQRl9SMF9SRUdOVU0sIHZidWYpOw0KPiArICBtZW1jcHkgKHZh bGJ1ZiwgdmJ1ZiArIDggLSBsZW4sIGxlbik7DQo+ICt9DQo+ICsNCj4gKy8qIFN0b3JlIHRoZSBm dW5jdGlvbiByZXR1cm4gdmFsdWUgb2YgdHlwZSBUWVBFIGZyb20gVkFMQlVGIGludG8gUkVHTkFN RS4gICovDQo+ICsNCj4gK3N0YXRpYyB2b2lkDQo+ICticGZfc3RvcmVfcmV0dXJuX3ZhbHVlIChz dHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwNCj4gKwkJCWNvbnN0 IGdkYl9ieXRlICp2YWxidWYpDQo+ICt7DQo+ICsgIGludCBsZW4gPSBUWVBFX0xFTkdUSCAodHlw ZSk7DQo+ICsgIGdkYl9ieXRlIHZidWZbOF07DQo+ICsNCj4gKyAgZ2RiX2Fzc2VydCAobGVuIDw9 IDgpOw0KPiArICBtZW1zZXQgKHZidWYsIDAsIHNpemVvZiAodmJ1ZikpOw0KPiArICBtZW1jcHkg KHZidWYgKyA4IC0gbGVuLCB2YWxidWYsIGxlbik7DQo+ICsgIHJlZ2NhY2hlLT5jb29rZWRfd3Jp dGUgKEJQRl9SMF9SRUdOVU0sIHZidWYpOw0KPiArfQ0KPiArDQo+ICsvKiBIYW5kbGUgZnVuY3Rp b24ncyByZXR1cm4gdmFsdWUuICAqLw0KPiArDQo+ICtzdGF0aWMgZW51bSByZXR1cm5fdmFsdWVf Y29udmVudGlvbg0KPiArYnBmX3JldHVybl92YWx1ZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gs IHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sDQo+ICsJCSAgc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVj dCByZWdjYWNoZSAqcmVnY2FjaGUsDQo+ICsJCSAgZ2RiX2J5dGUgKnJlYWRidWYsIGNvbnN0IGdk Yl9ieXRlICp3cml0ZWJ1ZikNCj4gK3sNCj4gKyAgaW50IGxlbiA9IFRZUEVfTEVOR1RIICh0eXBl KTsNCj4gKw0KPiArICBpZiAobGVuID4gOCkNCj4gKyAgICByZXR1cm4gUkVUVVJOX1ZBTFVFX1NU UlVDVF9DT05WRU5USU9OOw0KPiArDQo+ICsgIGlmIChyZWFkYnVmICE9IE5VTEwpDQo+ICsgICAg YnBmX2V4dHJhY3RfcmV0dXJuX3ZhbHVlICh0eXBlLCByZWdjYWNoZSwgcmVhZGJ1Zik7DQo+ICsg IGlmICh3cml0ZWJ1ZiAhPSBOVUxMKQ0KPiArICAgIGJwZl9zdG9yZV9yZXR1cm5fdmFsdWUgKHR5 cGUsIHJlZ2NhY2hlLCB3cml0ZWJ1Zik7DQo+ICsNCj4gKyAgcmV0dXJuIFJFVFVSTl9WQUxVRV9S RUdJU1RFUl9DT05WRU5USU9OOw0KPiArfQ0KPiArDQo+ICsNCj4gDQo+IA0KPiArLyogSW5pdGlh bGl6ZSB0aGUgY3VycmVudCBhcmNoaXRlY3R1cmUgYmFzZWQgb24gSU5GTy4gIElmIHBvc3NpYmxl LCByZS11c2UgYW4NCj4gKyAgIGFyY2hpdGVjdHVyZSBmcm9tIEFSQ0hFUywgd2hpY2ggaXMgYSBs aXN0IG9mIGFyY2hpdGVjdHVyZXMgYWxyZWFkeSBjcmVhdGVkDQo+ICsgICBkdXJpbmcgdGhpcyBk ZWJ1Z2dpbmcgc2Vzc2lvbi4gICovDQo+ICsNCj4gK3N0YXRpYyBzdHJ1Y3QgZ2RiYXJjaCAqDQo+ ICticGZfZ2RiYXJjaF9pbml0IChzdHJ1Y3QgZ2RiYXJjaF9pbmZvIGluZm8sIHN0cnVjdCBnZGJh cmNoX2xpc3QgKmFyY2hlcykNCj4gK3sNCj4gKyAgLyogSWYgdGhlcmUgaXMgYWxyZWFkeSBhIGNh bmRpZGF0ZSwgdXNlIGl0LiAgKi8NCj4gKyAgYXJjaGVzID0gZ2RiYXJjaF9saXN0X2xvb2t1cF9i eV9pbmZvIChhcmNoZXMsICZpbmZvKTsNCj4gKyAgaWYgKGFyY2hlcyAhPSBOVUxMKQ0KPiArICAg IHJldHVybiBhcmNoZXMtPmdkYmFyY2g7DQo+ICsNCj4gKyAgLyogQWxsb2NhdGUgc3BhY2UgZm9y IHRoZSBuZXcgYXJjaGl0ZWN0dXJlLiAgKi8NCj4gKyAgc3RydWN0IGdkYmFyY2hfdGRlcCAqdGRl cCA9IFhDTkVXIChzdHJ1Y3QgZ2RiYXJjaF90ZGVwKTsNCj4gKyAgc3RydWN0IGdkYmFyY2ggKmdk YmFyY2ggPSBnZGJhcmNoX2FsbG9jICgmaW5mbywgdGRlcCk7DQo+ICsNCj4gKyAgLyogSW5mb3Jt YXRpb24gYWJvdXQgcmVnaXN0ZXJzLCBldGMuICAqLw0KPiArICBzZXRfZ2RiYXJjaF9udW1fcmVn cyAoZ2RiYXJjaCwgQlBGX05VTV9SRUdTKTsNCj4gKyAgc2V0X2dkYmFyY2hfcmVnaXN0ZXJfbmFt ZSAoZ2RiYXJjaCwgYnBmX3JlZ2lzdGVyX25hbWUpOw0KPiArICBzZXRfZ2RiYXJjaF9yZWdpc3Rl cl90eXBlIChnZGJhcmNoLCBicGZfcmVnaXN0ZXJfdHlwZSk7DQo+ICsNCj4gKyAgLyogUmVnaXN0 ZXIgbnVtYmVycyBvZiB2YXJpb3VzIGltcG9ydGFudCByZWdpc3RlcnMuICAqLw0KPiArICBzZXRf Z2RiYXJjaF9zcF9yZWdudW0gKGdkYmFyY2gsIEJQRl9SMTBfUkVHTlVNKTsNCj4gKyAgc2V0X2dk YmFyY2hfcGNfcmVnbnVtIChnZGJhcmNoLCBCUEZfUENfUkVHTlVNKTsNCj4gKw0KPiArICAvKiBN YXAgRFdBUkYyIHJlZ2lzdGVycyB0byBHREIgcmVnaXN0ZXJzLiAgKi8NCj4gKyAgc2V0X2dkYmFy Y2hfZHdhcmYyX3JlZ190b19yZWdudW0gKGdkYmFyY2gsIGJwZl9kd2FyZjJfcmVnX3RvX3JlZ251 bSk7DQo+ICsNCj4gKyAgLyogQ2FsbCBkdW1teSBjb2RlLiAgKi8NCj4gKyAgc2V0X2dkYmFyY2hf Y2FsbF9kdW1teV9sb2NhdGlvbiAoZ2RiYXJjaCwgT05fU1RBQ0spOw0KPiArICBzZXRfZ2RiYXJj aF9kdW1teV9pZCAoZ2RiYXJjaCwgYnBmX2R1bW15X2lkKTsNCj4gKyAgc2V0X2dkYmFyY2hfcHVz aF9kdW1teV9jYWxsIChnZGJhcmNoLCBicGZfcHVzaF9kdW1teV9jYWxsKTsNCj4gKw0KPiArICAv KiBSZXR1cm5pbmcgcmVzdWx0cy4gICovDQo+ICsgIHNldF9nZGJhcmNoX3JldHVybl92YWx1ZSAo Z2RiYXJjaCwgYnBmX3JldHVybl92YWx1ZSk7DQo+ICsNCj4gKyAgLyogQWR2YW5jZSBQQyBhY3Jv c3MgZnVuY3Rpb24gZW50cnkgY29kZS4gICovDQo+ICsgIHNldF9nZGJhcmNoX3NraXBfcHJvbG9n dWUgKGdkYmFyY2gsIGJwZl9za2lwX3Byb2xvZ3VlKTsNCj4gKw0KPiArICAvKiBTdGFjayBncm93 cyBkb3dud2FyZC4gICovDQo+ICsgIHNldF9nZGJhcmNoX2lubmVyX3RoYW4gKGdkYmFyY2gsIGNv cmVfYWRkcl9sZXNzdGhhbik7DQo+ICsNCj4gKyAgLyogQnJlYWtwb2ludCBtYW5pcHVsYXRpb24u ICAqLw0KPiArICBzZXRfZ2RiYXJjaF9icmVha3BvaW50X2tpbmRfZnJvbV9wYyAoZ2RiYXJjaCwg YnBmX2JyZWFrcG9pbnRfa2luZF9mcm9tX3BjKTsNCj4gKyAgc2V0X2dkYmFyY2hfc3dfYnJlYWtw b2ludF9mcm9tX2tpbmQgKGdkYmFyY2gsIGJwZl9zd19icmVha3BvaW50X2Zyb21fa2luZCk7DQo+ ICsNCj4gKyAgLyogRnJhbWUgaGFuZGxpbmcuICAqLw0KPiArICBzZXRfZ2RiYXJjaF9mcmFtZV9h cmdzX3NraXAgKGdkYmFyY2gsIDgpOw0KPiArDQo+ICsgIC8qIERpc2Fzc2VtYmx5LiAgKi8NCj4g KyAgc2V0X2dkYmFyY2hfcHJpbnRfaW5zbiAoZ2RiYXJjaCwgYnBmX2dkYl9wcmludF9pbnNuKTsN Cj4gKw0KPiArICAvKiBIb29rIGluIEFCSS1zcGVjaWZpYyBvdmVycmlkZXMsIGlmIHRoZXkgaGF2 ZSBiZWVuIHJlZ2lzdGVyZWQuICAqLw0KPiArICBnZGJhcmNoX2luaXRfb3NhYmkgKGluZm8sIGdk YmFyY2gpOw0KPiArDQo+ICsgIC8qIEluc3RhbGwgdW53aW5kZXJzLiAgKi8NCj4gKyAgZnJhbWVf dW53aW5kX2FwcGVuZF91bndpbmRlciAoZ2RiYXJjaCwgJmJwZl9mcmFtZV91bndpbmQpOw0KPiAr DQo+ICsgIHJldHVybiBnZGJhcmNoOw0KPiArfQ0KPiArDQo+ICt2b2lkIF9pbml0aWFsaXplX2Jw Zl90ZGVwICgpOw0KPiArdm9pZA0KPiArX2luaXRpYWxpemVfYnBmX3RkZXAgKHZvaWQpDQo+ICt7 DQo+ICsgIHJlZ2lzdGVyX2dkYmFyY2hfaW5pdCAoYmZkX2FyY2hfYnBmLCBicGZfZ2RiYXJjaF9p bml0KTsNCj4gKw0KPiArICAvKiBBZGQgY29tbWFuZHMgJ3NldC9zaG93IGRlYnVnIGJwZicgICov DQoNCkRvdC1zcGFjZS1zcGFjZSBhdCB0aGUgZW5kIG9mIHRoZSBjb21tZW50Lg0KDQpUaGFua3Mu DQotQmFyaXMNCg0KDQpJbnRlbCBEZXV0c2NobGFuZCBHbWJIClJlZ2lzdGVyZWQgQWRkcmVzczog QW0gQ2FtcGVvbiAxMC0xMiwgODU1NzkgTmV1YmliZXJnLCBHZXJtYW55ClRlbDogKzQ5IDg5IDk5 IDg4NTMtMCwgd3d3LmludGVsLmRlCk1hbmFnaW5nIERpcmVjdG9yczogQ2hyaXN0aW4gRWlzZW5z Y2htaWQsIEdhcnkgS2Vyc2hhdwpDaGFpcnBlcnNvbiBvZiB0aGUgU3VwZXJ2aXNvcnkgQm9hcmQ6 IE5pY29sZSBMYXUKUmVnaXN0ZXJlZCBPZmZpY2U6IE11bmljaApDb21tZXJjaWFsIFJlZ2lzdGVy OiBBbXRzZ2VyaWNodCBNdWVuY2hlbiBIUkIgMTg2OTI4Cg==