From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by sourceware.org (Postfix) with ESMTPS id 5D3FC3858D39 for ; Thu, 29 Sep 2022 12:39:37 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 5D3FC3858D39 X-IronPort-AV: E=McAfee;i="6500,9779,10485"; a="388162172" X-IronPort-AV: E=Sophos;i="5.93,355,1654585200"; d="scan'208";a="388162172" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Sep 2022 05:39:36 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10485"; a="951115322" X-IronPort-AV: E=Sophos;i="5.93,355,1654585200"; d="scan'208";a="951115322" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by fmsmga005.fm.intel.com with ESMTP; 29 Sep 2022 05:39:33 -0700 Received: from fmsmsx608.amr.corp.intel.com (10.18.126.88) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Thu, 29 Sep 2022 05:39:32 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx608.amr.corp.intel.com (10.18.126.88) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Thu, 29 Sep 2022 05:39:32 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.106) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Thu, 29 Sep 2022 05:39:32 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Vy6mjRm/NX7JhYk3r5UW2efwoMwq30w2HqRY8YXApH2s0sI8/2cEZQe9gdJRvpUgzPhek3Yl2hDKaYL6UAh48mGQyHxuEidyCYog9ysULBU1VRl40XQMPnRtESTYUS0/Wx4fQzXEuH371iieaTe4zG0pdqZ7mjP22YZ2M+E2dquCIpepkbYZLyFUUHc/ejpiEWBmlSehDegsTt8faF85piycDnp4YF/vpMs6yvzbzNMl9SwtCzL4+ZWJXZkTYiQVnJttCSX6fW6LE33e8UzsKSC63NGVFMOfEYyfs2VfyE0GB0GnljwBprw3/xgqqhDY6F393SHcH/IrynGRfUos5w== 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=/h2H7yVvIxFl/ccqSbIwHCAhtRm10CSoerL2OnHFVHA=; b=kj4PubBihUuUCA6AenUz9YC+9zbk/xtbTKkVlTrSRbXuc7cFf9IYU/wirO+oWMLC7eVE4WJlVq+BJPVYjW5L1M7Dod0DLtriMwaRC38JtiqtwUQ1faqZUxbis1QFmY+tWPeJvtQejwyrqVAV1ZqFSqFzGHtB5w/7ZX8Sy4Xm0ZdZ1aDNl7eKs+XJ3IXZ/+XLB1yF+CLviyDJXp4Z5SSKCtg0k2RMdU2wEEkmrT72JIVKBimJHMke6ah/flfxYfABX4/rOxNfk50jOXoehkvb59y4TWgUdLhpViwE3hr9s8MYk270KZthmvUtmw0PEtMv5bjNRYIW00h8UbCpAhPzMA== 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 CY4PR1101MB2071.namprd11.prod.outlook.com (2603:10b6:910:1a::10) by SA1PR11MB7086.namprd11.prod.outlook.com (2603:10b6:806:2b3::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5654.26; Thu, 29 Sep 2022 12:39:29 +0000 Received: from CY4PR1101MB2071.namprd11.prod.outlook.com ([fe80::2110:16da:7cdf:10d5]) by CY4PR1101MB2071.namprd11.prod.outlook.com ([fe80::2110:16da:7cdf:10d5%4]) with mapi id 15.20.5676.020; Thu, 29 Sep 2022 12:39:29 +0000 From: "Kempke, Nils-Christian" To: Simon Marchi , "gdb-patches@sourceware.org" CC: "tom@tromey.com" , Bernhard Heckel Subject: RE: [PATCH 2/4] gdb/types: Resolve pointer types dynamically Thread-Topic: [PATCH 2/4] gdb/types: Resolve pointer types dynamically Thread-Index: AQHYzMKOcthsJxzkik6e0K3ykX6jQq3x4Q+AgASBN2A= Date: Thu, 29 Sep 2022 12:39:29 +0000 Message-ID: References: <20220920072629.2736207-1-nils-christian.kempke@intel.com> <20220920072629.2736207-3-nils-christian.kempke@intel.com> <33ee2a4d-0d7b-4183-c94c-2d9107e1b6ca@simark.ca> In-Reply-To: <33ee2a4d-0d7b-4183-c94c-2d9107e1b6ca@simark.ca> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CY4PR1101MB2071:EE_|SA1PR11MB7086:EE_ x-ms-office365-filtering-correlation-id: e471f658-715e-41d3-1415-08daa217a722 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: DLdnyYd9/cHe3X5XXcO3z9SlGmkVzXFarBfymt/IZEph9XWEA9Veh/Kot+lI7HF+r39Fdu7CmJHx/KFnVspvcZc1Wi5rSd0h8UdSTaHfRYinTLWh36lP635nat8AQLn13F9je0jcLXRBts41PNn5DLl0vZCsVnGFT8fZpmhtyMW7Snm0VsfwGc4HiS0n5BlbeR8d+OmoNFSQlySnOM5Lf8+R9ag3MwPlja3UR1o9eJm65ldlVDlDrund0uBDNi1XngUWn1Ne0TJEOqpbD0RMw8OjNC42RmH+GlLJRLCy7mL4LhmvsP5HJhwnLQ0Mzc11bKdXWUgRQ1McdKKs7rF3ROxjDkyNbLO5OISw5nexGFnBFL0CzgR6X0cL2+Eenu0+CPhuC60XGpTt73QKfw8VibJHxDbwEI31fk03fMtyk4UUnjVYcjcau73SGhrXXrFlXwr68J9CAQp5sABaCEPRtpvkHSrg5qXMHNszJEKsP8JY5Myffygia/M9a1dR5W2dw7lYiyFa9qrokQRJyuaepFc3XR+44jY+v+olyDFqEVfh8OI3NAjls+0PWagH4cDTQUX2T3Nx7FpjPwXh0IRkadUQeSrSwTj1n7YBSYDDO+SQRHWLt7z1qhRL5+iiybgQAqzhRk/rwpQXfB0gMP6MefqWUeclc1wo62A58jIMYL6cx5IL6WGpgLJYKr/uSCevdl35UmX4Sx4tRuzk9V8poO9CVhp/4SZteOwxmRUh4KkKCeyzH3+prUAbx9hA5AHp7jp+ULdhq1QLHu49dcmbww== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CY4PR1101MB2071.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(396003)(366004)(346002)(376002)(39860400002)(136003)(451199015)(52536014)(478600001)(71200400001)(8936002)(9686003)(55016003)(54906003)(83380400001)(6506007)(86362001)(107886003)(186003)(5660300002)(41300700001)(33656002)(2906002)(38100700002)(26005)(7696005)(316002)(4326008)(8676002)(110136005)(122000001)(64756008)(82960400001)(66476007)(38070700005)(66556008)(66446008)(66946007)(76116006); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?aE05R2tOdzZsWHlGakJhdWVJTE5uZVFzYncrR1ZuYkE5a2NSL0lnRlg3eVJS?= =?utf-8?B?S1NuMU53L1hBaU1Ob3JNWmsxVEl2MU1yTG05dnkxQTRPREhSampSVHRHSnJi?= =?utf-8?B?S2x2NDNCdEFoUXRjZUQrOTJqR3BnTUQ5N2NDeVY3Z0Q0dDFwdlVWREEvTFhH?= =?utf-8?B?SXFweWxVdnordW83VytLQ0xxTDhtYnNtVi9GbE15VVVLc2RzaXlEdFFFRko4?= =?utf-8?B?YlVNV3Z1MWJ0NXVoWGF5RGFHSGQzbGFRMkdnZ2svazdUbTg3eXAwUlZPYStS?= =?utf-8?B?TkxMaFFONXdJbFduSkxBRityNGpjbXZ5WUdudnoyaXJ3YXg0QkM0YTUvdWVp?= =?utf-8?B?VGhKSll5S3ovMjdMSXBTMmpaQWp5cnhxOWVBK0R6UHFaeXJTTkZlZkVvd0No?= =?utf-8?B?dFNDWm5oQlp0QXkvTEd3eFpxRHp4dVgvWStWbm95MThQVTlTU3h2clo0eHh3?= =?utf-8?B?QzViVE05ZFd6S0Q4MTVxMGNlMUFpeUk2emIzcHkyVlFoVlJxV1Z6Yy95Q0Jv?= =?utf-8?B?ZlBpU2N3bDJhYzRvcW0yd3FIY3IzQ2E4c1FLQVI5WEluVThHRmgyOWhsUnFr?= =?utf-8?B?eHNrcURqb2lqWmFudkhRTVorTTB4b3hyQ3FITFNXcVRidFpac0NQNE9VaXFi?= =?utf-8?B?M2dPU2Y5K09kREZFUm55UEpKSU8wL3l1S0tRVmJXTjBaSUdLeXRnNmkzTnRT?= =?utf-8?B?ai91WjVpYmVpSk9rWll5bVlhYkpUdCtBUExKYm43SFJKNWdnTnh3WUJjbUJm?= =?utf-8?B?V1NhNm1pbEJmUzY3V3VNeVRRRHF6UFNVNDRzQXIvYkdiQjcvYTdRZWVNV0s3?= =?utf-8?B?cndkdHdmM3plMHFqaDJVMmtpYk9VaFZZaXVuczRqZm5ha2hrNytmMGZqSUZx?= =?utf-8?B?eTlEZUVXQ3QzTllRdW5vRU9OMzlTMGx6NEpzbDlvSjhZUks4K3FSdW56Y20y?= =?utf-8?B?SUxaZE5WQVRuY01UeWVmM0dKNFZxd3dGYUpLc3FneGZNVG0wZ3VacHdMWE1w?= =?utf-8?B?OFlONWNsbHNjYk9IWTQ0Q2hET3B1WHdOTlBtcmJZcWJBMEpMSXBkWXRKSzhR?= =?utf-8?B?a2g3b29FN1o3a3Z6NXoxQjB4SHpZSkcySElyRzVldmY0SHE0c2Q0Vi91SSsr?= =?utf-8?B?SU8wYWlXdlpNbjE1RmdmTy9mU08rTGlwV2xVWmU0NDBRaU1oNG5Md25qQk1B?= =?utf-8?B?TVUwSWc0RjFZUnVFU0l5bC9UdDR3TVArQmRhQVpNeS9DUUhzTURZVm82TXF2?= =?utf-8?B?STZzemw0LzhwengwVGRQQ0VXU0tTSTNOdThXbC9ZRDlDK2ZBWGg2eGF1ZDV3?= =?utf-8?B?ZlVkSEhLS1pvYTA3VzhQN1NKNURzNmpEYnl3cmxHMDBmb21tdStHbnhxRGN1?= =?utf-8?B?YTFlSTUvdFBIZmloOU9ub0lPUGlHeFNYNjh4YjRLY1BzQjFnUUZEZzExdThN?= =?utf-8?B?dDRMalZITW1zTzgzQTlJelg4QU1mM1NySHVVcVNCSk04eUo3cEMvTG1zM3lD?= =?utf-8?B?NGhNM2RhbFViaFZGV1VTc21hVjJuNjk1dFY0cmJXTm5GWUlZNFhzVmR0MHE1?= =?utf-8?B?Wi9xUUdRNnc3b3I2U1llRUR3bDdIZHJvNncxOE9lZzczQkJ0ZEVKazlTUzAv?= =?utf-8?B?SHdVRTVwQ2FtNUNWdXJwUTZ5a0FabVNiNEZKdnZnQjlCVHd3VnN1MHRlZXNN?= =?utf-8?B?dVpDb0xjZXZTek92OWtEcUFOdUQyMmJ2cGNHZk51cjNFWU0wZ0dKT2NuRGdn?= =?utf-8?B?WHprNGZKcEM4RnIyak9XaWlWY3BYQ3kzbWRCblZkTzJqOXRUWUhsRElHMmtF?= =?utf-8?B?ckFNVHBIcndnWnU4cG9hSjFwdzBpNEJtc2pIbWJqYXZwaHlXbGdUSVg4S1Zu?= =?utf-8?B?YlpsazRKWjk4cFFOSDJJN1lEc2I2SDZraWU5M0Nxa0xocjgxeFlVNjRLV2Mw?= =?utf-8?B?cUJFNVFQaVMvenJvdzNiYjAxays4dWRkTXg5SHZ2Wmt4cnVsY1B0RGRDdGhH?= =?utf-8?B?YVA3VkVyQ1JsRFlNM2Z4U24yeHhJSkJCNGRwb1Ftb3BWNGVJOEdlYy8rdDcv?= =?utf-8?B?YWNOaHpuT3AxamxqaDVoaGpDWFlTbTk1dUZpbGFkRWk0Tjh3TFpNVDJPN1Fs?= =?utf-8?B?UjdSQmk5bUJhVUlCV0FFemMxTm9tRkRtcDBURlBueW9jc2RyelJFUGdKMExi?= =?utf-8?B?bnc9PQ==?= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CY4PR1101MB2071.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e471f658-715e-41d3-1415-08daa217a722 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Sep 2022 12:39:29.7697 (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: k5U3tlstyK70/krEnw8Ni3g1R1hSAXF25Nv3rwQBLWoAfJqJvNdYm0AqPVmi+LEp79Cqir4mJWHLCYAqfXGrdN6ysvmUspupD6z6jdnOe1k= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR11MB7086 X-OriginatorOrg: intel.com Content-Transfer-Encoding: base64 X-Spam-Status: No, score=-11.1 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_NONE, SPF_NONE, TXREP 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-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: Thu, 29 Sep 2022 12:39:40 -0000 SGkgU2ltb24sDQoNClRoYW5rcyBmb3IgdGhlIHJldmlldyENCg0KPiBIaSwNCj4gDQo+IFRoYXQg YWxsIGxvb2tzIG5pY2UgdG8gbWUsIHRoYXQgc2VlbXMgbGlrZSBzb21lIGNvbmNyZXRlIGltcHJv dmVtZW50cw0KPiBmb3IgdGhlIHVzZXIuICBJIG5vdGVkIHNvbWUgbml0cyBiZWxvdy4gIEkgYW0g bm90IHJlYWxseSBmYW1pbGlhciB3aXRoDQo+IEZvcnRyYW4gb3IgdGhlIGR5bmFtaWMgdHlwZXMg dGhpbmcsIHNvIEknZCByZWFsbHkgbGlrZSBpZiBzb21lb25lIG1vcmUNCj4gZmFtaWxpYXIgd2l0 aCB0aG9zZSBjb3VsZCB0YWtlIGEgbG9vay4NCj4gDQo+ID4gLS0tDQo+ID4gIGdkYi9nZGJ0eXBl cy5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA1MyArKysrKy0NCj4gPiAgZ2Ri L3Rlc3RzdWl0ZS9nZGIuY3AvdmxhLWN4eC5jYyAgICAgICAgICAgICAgIHwgICA0ICsNCj4gPiAg Z2RiL3Rlc3RzdWl0ZS9nZGIuY3AvdmxhLWN4eC5leHAgICAgICAgICAgICAgIHwgIDMzICsrKysN Cj4gPiAgZ2RiL3Rlc3RzdWl0ZS9nZGIuZHdhcmYyL2R5bmFyci1wdHIuZXhwICAgICAgIHwgIDE2 ICstDQo+ID4gIC4uLi9nZGIuZm9ydHJhbi9wb2ludGVyLXRvLXBvaW50ZXIuZXhwICAgICAgICB8 ICAgMiArLQ0KPiA+ICBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3BvaW50ZXJzLmV4cCAgICAg ICAgfCAxNzggKysrKysrKysrKysrKysrKysrDQo+ID4gIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vcG9pbnRlcnMuZjkwICAgICAgICB8ICAyOSArKysNCj4gPiAgZ2RiL3ZhbHByaW50LmMgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA2IC0NCj4gPiAgOCBmaWxlcyBjaGFuZ2Vk LCAzMDMgaW5zZXJ0aW9ucygrKSwgMTggZGVsZXRpb25zKC0pDQo+ID4gIGNyZWF0ZSBtb2RlIDEw MDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3BvaW50ZXJzLmV4cA0KPiA+DQo+ID4gZGlm ZiAtLWdpdCBhL2dkYi9nZGJ0eXBlcy5jIGIvZ2RiL2dkYnR5cGVzLmMNCj4gPiBpbmRleCBjNDU4 YjIwNDE1Ny4uYTRkNzlhNjRlOTUgMTAwNjQ0DQo+ID4gLS0tIGEvZ2RiL2dkYnR5cGVzLmMNCj4g PiArKysgYi9nZGIvZ2RidHlwZXMuYw0KPiA+IEBAIC0yMDgzLDkgKzIwODMsMTUgQEAgaXNfZHlu YW1pY190eXBlX2ludGVybmFsIChzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50DQo+IHRvcF9sZXZlbCkN Cj4gPiAgew0KPiA+ICAgIHR5cGUgPSBjaGVja190eXBlZGVmICh0eXBlKTsNCj4gPg0KPiA+IC0g IC8qIFdlIG9ubHkgd2FudCB0byByZWNvZ25pemUgcmVmZXJlbmNlcyBhdCB0aGUgb3V0ZXJtb3N0 IGxldmVsLiAgKi8NCj4gPiAtICBpZiAodG9wX2xldmVsICYmIHR5cGUtPmNvZGUgKCkgPT0gVFlQ RV9DT0RFX1JFRikNCj4gPiAtICAgIHR5cGUgPSBjaGVja190eXBlZGVmIChUWVBFX1RBUkdFVF9U WVBFICh0eXBlKSk7DQo+ID4gKyAgLyogV2Ugb25seSB3YW50IHRvIHJlY29nbml6ZSByZWZlcmVu Y2VzIGFuZCBwb2ludGVycyBhdCB0aGUgb3V0ZXJtb3N0DQo+ID4gKyAgICAgbGV2ZWwuICAqLw0K PiA+ICsgIGlmICh0eXBlLT5jb2RlICgpID09IFRZUEVfQ09ERV9SRUYgfHwgdHlwZS0+Y29kZSAo KSA9PQ0KPiBUWVBFX0NPREVfUFRSKQ0KPiA+ICsgIHsNCj4gPiArICAgIGlmICh0b3BfbGV2ZWwg IT0gMCkNCj4gPiArICAgICAgdHlwZSA9IGNoZWNrX3R5cGVkZWYgKFRZUEVfVEFSR0VUX1RZUEUg KHR5cGUpKTsNCj4gPiArICAgIGVsc2UNCj4gPiArICAgICAgcmV0dXJuIDA7DQo+ID4gKyAgfQ0K PiANCj4gQ2FuIHlvdSBleHBsYWluIHRoaXMgY2hhbmdlIGhlcmUsIHNwZWNpZmljYWxseSB0aGUg YWRkaXRpb24gb2YgdGhlDQo+ICJyZXR1cm4gMCI/DQo+IA0KPiBNeSB1bmRlcnN0YW5kaW5nIGlz IHRoYXQgZm9yIFJFRnMgYW5kIFBUUnMsIG5vdGhpbmcgYmVsb3cgd2lsbCBtYXRjaCBhbmQNCj4g d2Ugd2lsbCBlbmQgdXAgcmV0dXJuaW5nIDAgYW55d2F5LCBzbyB0aGlzIGlzIGp1c3QgYSBuZXcg c2hvcnRjdXQgZm9yDQo+IHdoZW4gdGhlIHR5cGUgaXMgYSBSRUYgb3IgUFRSIGFuZCB0b3BfbGV2 ZWwgaXMgZmFsc2UuICBCdXQgSSdkIGxpa2UgdG8NCj4gY29uZmlybS4NCg0KWWVzLCB5b3UgYXJl IHJpZ2h0LiAgQWxsIHRoZSBvdGhlcnMgc2hvdWxkIG5vdCBtYXRjaCBoZXJlLg0KDQpUaGUgcmVh c29uIHRoaXMgc2hvcnRjdXQgd2FzIGFkZGVkIGlzIHRoYXQgaWZvcnQvaWNjIGVtaXQgdGhlIERX X0FUX2Fzc29jaWF0ZWQNCmZvciBGb3J0cmFuIHBvaW50ZXJzLiAgSSB0aG91Z2h0IHRoaXMgd2Fz IGNvcnJlY3QgKHVudGlsIHRoZSBkaXNjdXNzaW9uIG9uIFBBVENIIDMpLA0KYnV0IGxvb2tpbmcg YXQgdGhlIERXQVJGIHNwZWMgaXQgc2VlbXMgdG8gYmUgdW5leHBlY3RlZC4NCg0KRnVydGhlciBk b3duIGluIHRoaXMgUGF0Y2ggSSBhY3R1YWxseSBhZGRlZCByZXNvbHV0aW9uIG9mIHRoZSBEV19B VF9hc3NvY2lhdGVkDQpmb3IgZHluYW1pYyBwb2ludGVycyAtIHdoaWNoIHNob3VsZCBub3QgZXZl biBiZSB0aGVyZS4gIEl0IGlzIG5vdCBsaXN0ZWQgdW5kZXINCnRoZSBhdHRyaWJ1dGVzIGFwcGxp Y2FibGUgZm9yIHBvaW50ZXJzLg0KDQpIZXJlLCBpY2MvaWZvcnQgcG9pbnRlcnMgd291bGQgcnVu IGludG8gYW4gaW5maW5pdGUgbG9vcCBldmVyIHJlc29sdmluZyB0aGVpcg0KcG9pbnRlciB0eXBl cyBpZiB3ZSBoYXZlIGEgY3ljbGljIHBvaW50ZXIgZGVwZW5kZW5jeSAoYXMgYWRkZWQgaW4gb25l IG9mIHRoZQ0KdGVzdHMpLg0KDQpJIGFtIG5vdCBzdXJlIGhvdyB0byBmaXggdGhpcyB3aGlsZSBt YWtpbmcgY2xlYXIgdGhhdCBpdCBpcyBhbiBleGNlcHRpb24gZm9yDQppY2MvaWZvcnQgYnV0IGl0 IHNob3VsZCBiZSBtYWRlIGNsZWFyIGFzIHRoaXMgaXMgbm90IGF0IGFsbCBvYnZpb3VzLiAgQXMg d2UgaGF2ZSBhDQpzaW1pbGFyIGRpc2N1c3Npb24gaW4gUEFUQ0ggMyAoSSBhZ3JlZSB0aGF0IHRo ZSBoYW5kbGluZyBvZiBpZm9ydC9pY2Mncw0KcG9pbnRlci9yZWZlcmVuY2UgRFdBUkYgc2hvdWxk IGJlIGJlaGluZCBzb21lIGNvbXBpbGVyIGNoZWNrKSwNCkkgd291bGQgcmVtb3ZlIHRoaXMgc2hv cnRjdXQgZnJvbSB0aGlzIHBhdGNoIGFuZCBtb3ZlIGl0cyB0cmVhdG1lbnQgb3ZlciB0bw0KUEFU Q0ggMy4gIFNpbWlsYXJseSBJIGFtIG5vdyBpbmNsaW5lZCB0byByZW1vdmUgdGhlIHJlc29sdXRp b24gb2YNCkRXX0FUX2Fzc29jaWF0ZWQgZnJvbSByZXNvbHZlX2R5bmFtaWNfcG9pbnRlciBhcyBp dCBpcyBub3QgYW4gZXhwZWN0ZWQgYXR0cmlidXRlDQpmb3IgcG9pbnRlcnMgdG8gaGF2ZS4NCiAN Cj4gPg0KPiA+ICAgIC8qIFR5cGVzIHRoYXQgaGF2ZSBhIGR5bmFtaWMgVFlQRV9EQVRBX0xPQ0FU SU9OIGFyZSBjb25zaWRlcmVkDQo+ID4gICAgICAgZHluYW1pYywgZXZlbiBpZiB0aGUgdHlwZSBp dHNlbGYgaXMgc3RhdGljYWxseSBkZWZpbmVkLg0KPiA+IEBAIC0yNzg3LDYgKzI3OTMsNDMgQEAg cmVzb2x2ZV9keW5hbWljX3N0cnVjdCAoc3RydWN0IHR5cGUgKnR5cGUsDQo+ID4gICAgcmV0dXJu IHJlc29sdmVkX3R5cGU7DQo+ID4gIH0NCj4gPg0KPiA+ICsvKiBXb3JrZXIgZm9yIHBvaW50ZXIg dHlwZXMuICAqLw0KPiA+ICsNCj4gPiArc3RhdGljIHN0cnVjdCB0eXBlICoNCj4gPiArcmVzb2x2 ZV9keW5hbWljX3BvaW50ZXIgKHN0cnVjdCB0eXBlICp0eXBlLA0KPiA+ICsJCQkgc3RydWN0IHBy b3BlcnR5X2FkZHJfaW5mbyAqYWRkcl9zdGFjaykNCj4gPiArew0KPiA+ICsgIHN0cnVjdCBkeW5h bWljX3Byb3AgKnByb3A7DQo+ID4gKyAgQ09SRV9BRERSIHZhbHVlOw0KPiA+ICsNCj4gPiArICAv KiBSZXNvbHZlIHRoZSB0YXJnZXQgdHlwZSBvZiB0aGlzIHR5cGUuICAqLw0KPiA+ICsgIHN0cnVj dCBwcm9wZXJ0eV9hZGRyX2luZm8gcGluZm87DQo+ID4gKyAgcGluZm8udHlwZSA9IGNoZWNrX3R5 cGVkZWYgKFRZUEVfVEFSR0VUX1RZUEUgKHR5cGUpKTsNCj4gPiArICBwaW5mby52YWxhZGRyID0g e307DQo+ID4gKyAgaWYgKGFkZHJfc3RhY2stPnZhbGFkZHIuZGF0YSAoKSAhPSBOVUxMKQ0KPiAN Cj4gTlVMTCAtPiBudWxscHRyDQoNCkZpeGVkIGluIFYyLg0KIA0KPiA+ICsgICAgcGluZm8uYWRk ciA9IGV4dHJhY3RfdHlwZWRfYWRkcmVzcyAoYWRkcl9zdGFjay0+dmFsYWRkci5kYXRhICgpLA0K PiA+ICsJCQkJCXR5cGUpOw0KPiANCj4gInR5cGUiIHdvdWxkIGZpdCBvbiB0aGUgc2FtZSBsaW5l DQo+DQoNCkZpeGVkIGluIFYyLg0KIA0KPiA+ICsgIGVsc2UNCj4gPiArICAgIHBpbmZvLmFkZHIg PSByZWFkX21lbW9yeV90eXBlZF9hZGRyZXNzIChhZGRyX3N0YWNrLT5hZGRyLCB0eXBlKTsNCj4g PiArICBwaW5mby5uZXh0ID0gYWRkcl9zdGFjazsNCj4gPiArDQo+ID4gKyAgc3RydWN0IHR5cGUq IHJlc29sdmVkX3R5cGUgPSBjb3B5X3R5cGUgKHR5cGUpOw0KPiANCj4gU3BhY2UgYmVmb3JlICoN Cj4gDQoNCkZpeGVkIGluIFYyDQoNCj4gPiArDQo+ID4gKyAgLyogUmVzb2x2ZSBhc3NvY2lhdGVk IHByb3BlcnR5LiAgKi8NCj4gPiArICBwcm9wID0gVFlQRV9BU1NPQ0lBVEVEX1BST1AgKHJlc29s dmVkX3R5cGUpOw0KPiA+ICsgIGlmIChwcm9wICE9IG51bGxwdHINCj4gPiArICAgICAgJiYgZHdh cmYyX2V2YWx1YXRlX3Byb3BlcnR5IChwcm9wLCBudWxscHRyLCBhZGRyX3N0YWNrLCAmdmFsdWUp KQ0KPiA+ICsgICAgcHJvcC0+c2V0X2NvbnN0X3ZhbCAodmFsdWUpOw0KDQpUaGlzIGlzIHRoZSBw YXJ0IEkgd2FzIHJlZmVyZW5jaW5nIGFib3ZlLi4NCg0KPiA+ICsNCj4gPiArICBpZiAocGluZm8u YWRkciAhPSAweDAgJiYgIXR5cGVfbm90X2Fzc29jaWF0ZWQgKHJlc29sdmVkX3R5cGUpKQ0KPiA+ ICsgICAgVFlQRV9UQVJHRVRfVFlQRSAocmVzb2x2ZWRfdHlwZSkNCj4gPiArICAgICAgPSByZXNv bHZlX2R5bmFtaWNfdHlwZV9pbnRlcm5hbCAoVFlQRV9UQVJHRVRfVFlQRSAodHlwZSksDQo+ID4g KwkJCQkgICAgICAgJnBpbmZvLCAwKTsNCj4gPiArDQo+ID4gKw0KPiANCj4gUmVtb3ZlIG9uZSBu ZXdsaW5lIGhlcmUuDQo+DQoNCkZpeGVkIGluIFYyLg0KDQo+ID4gZGlmZiAtLWdpdCBhL2dkYi90 ZXN0c3VpdGUvZ2RiLmNwL3ZsYS1jeHguZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvdmxhLQ0K PiBjeHguZXhwDQo+ID4gaW5kZXggMzQ5NGI1ZThiNzcuLmUyYmI4OTg5MjEyIDEwMDY0NA0KPiA+ IC0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ZsYS1jeHguZXhwDQo+ID4gKysrIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIuY3AvdmxhLWN4eC5leHANCj4gPiBAQCAtMjMsNiArMjMsMzYgQEAgaWYgIVty dW50b19tYWluXSB7DQo+ID4gICAgICByZXR1cm4gLTENCj4gPiAgfQ0KPiA+DQo+ID4gK2dkYl9i cmVha3BvaW50IFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJCZWZvcmUgcG9pbnRlciBhc3NpZ25tZW50 Il0NCj4gPiArZ2RiX2NvbnRpbnVlX3RvX2JyZWFrcG9pbnQgIkJlZm9yZSBwb2ludGVyIGFzc2ln bm1lbnQiDQo+ID4gKw0KPiA+ICtzZXQgdGVzdF9uYW1lICJwdHlwZSBwdHIsIEJlZm9yZSBwb2lu dGVyIGFzc2lnbm1lbnQiDQo+ID4gK2dkYl90ZXN0X211bHRpcGxlICJwdHlwZSBwdHIiICR0ZXN0 X25hbWUgew0KPiA+ICsgICMgZ2NjL2ljeA0KPiA+ICsgIC1yZSAtd3JhcCAiPSBpbnQgXFwoXFwq XFwpXFxcW3ZhcmlhYmxlIGxlbmd0aFxcXF0iIHsNCj4gPiArICAgIHBhc3MgJHRlc3RfbmFtZQ0K PiA+ICsgIH0NCj4gPiArICAjIGljYw0KPiA+ICsgIC1yZSAtd3JhcCAiPSBpbnQgXFwoXFwqXFwp XFxcWzNcXFxdIiB7DQo+ID4gKyAgICBwYXNzICR0ZXN0X25hbWUNCj4gPiArICB9DQo+IA0KPiBO byBuZWVkIHRvIHVzZSB0aGUgdGVzdF9uYW1lIHZhcmlhYmxlIG5vd2FkYXlzLCB5b3UgY2FuIHVz ZSB0aGUgbWFnaWMNCj4gJGdkYl90ZXN0X25hbWUgaW5zaWRlIHRoZSBnZGJfdGVzdF9tdWx0aXBs ZSBib2R5IHRvIGFjY2VzcyB0aGUgbmFtZSB0aGF0DQo+IHdhcyBwYXNzZWQgdG8gaXQuDQo+IA0K DQpGaXhlZCBpbiBWMi4NCg0KSSdsbCB1cGRhdGUgdGhpcyBsb2NhbGx5IGZvciBub3cgLSBhbmQg c2VuZCBhIFYyIHNvb24gd2l0aCBhbGwgYWJvdmUgbWVudGlvbmVkDQpjaGFuZ2VzIGluY29ycG9y YXRlZC4NCg0KVGhhbmtzIGFnYWluIQ0KTmlscw0KSW50ZWwgRGV1dHNjaGxhbmQgR21iSApSZWdp c3RlcmVkIEFkZHJlc3M6IEFtIENhbXBlb24gMTAsIDg1NTc5IE5ldWJpYmVyZywgR2VybWFueQpU ZWw6ICs0OSA4OSA5OSA4ODUzLTAsIHd3dy5pbnRlbC5kZSA8aHR0cDovL3d3dy5pbnRlbC5kZT4K TWFuYWdpbmcgRGlyZWN0b3JzOiBDaHJpc3RpbiBFaXNlbnNjaG1pZCwgU2hhcm9uIEhlY2ssIFRp ZmZhbnkgRG9vbiBTaWx2YSAgCkNoYWlycGVyc29uIG9mIHRoZSBTdXBlcnZpc29yeSBCb2FyZDog Tmljb2xlIExhdQpSZWdpc3RlcmVkIE9mZmljZTogTXVuaWNoCkNvbW1lcmNpYWwgUmVnaXN0ZXI6 IEFtdHNnZXJpY2h0IE11ZW5jaGVuIEhSQiAxODY5MjgK