From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.126]) by sourceware.org (Postfix) with ESMTPS id 0134E3858D28 for ; Mon, 7 Aug 2023 08:08:57 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0134E3858D28 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1691395738; x=1722931738; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version:content-transfer-encoding; bh=NKhPFaUDCp6t9XRzxJMB+KMFVp7vG2N+JZ15W8R6dBA=; b=W5jQnGrAw3LEBSLwlOnm0RnSShRh4AlgxxEDq1JkwGVf+t3OnXBphnZ9 WZ4qC/aqpSu75aheeHEDR5kd9+EieLVp5GsRXX1TnxVO6boBp02VMM0+w qTHpJMBn9aiXm3t1v6PSYRWsZ5vOiuT0D3R15pDby0uxYiRRb6wkSVRwa 2Ovw3n/jVRAeCPNqjuJSWQYdedx3uCjjdlqVswfwYTZlv2+DZdgd5VpUT ++eQrcR5jQ1bpyEZe0ms4rZnqkdDk4gMwCjUlRQ487VQIUjQWBwzqkYj+ q+tA6rD5lACMZhWIfuTqf/QeGyGGuMjekVXn5vaeKUnF66b0VhT7/l/gG Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10794"; a="355421350" X-IronPort-AV: E=Sophos;i="6.01,261,1684825200"; d="scan'208";a="355421350" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Aug 2023 01:08:56 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10794"; a="844914666" X-IronPort-AV: E=Sophos;i="6.01,261,1684825200"; d="scan'208";a="844914666" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmsmga002.fm.intel.com with ESMTP; 07 Aug 2023 01:08:55 -0700 Received: from orsmsx602.amr.corp.intel.com (10.22.229.15) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Mon, 7 Aug 2023 01:08:55 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27 via Frontend Transport; Mon, 7 Aug 2023 01:08:55 -0700 Received: from NAM02-DM3-obe.outbound.protection.outlook.com (104.47.56.42) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.27; Mon, 7 Aug 2023 01:08:55 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=a2t54J0iqVItKYfHAeld1d/zRGhtDSeTH4XxWlo/3xqNBplFKsf3+0JebpBWjOCpsx3amByvKGhIwcqRDMi7DUGIfjalmULIJAu0Gg9SGkReAmmQlFr24+CvyRim+G2kh28iF3/4L3oK90tIVori7rwGMY/y3um2IBC5jFONOfIl3LMD10lJV5DjBnfDCD4d2/+/I2TsHKwUUVsdfxqWpW6/fG+uriEk2Swe6xAz20fLG7eflnQHdTR7XAPzjYiZ8AFvvEc7S2uW30/fXW2ZNWslDsEwShuNPmmA9mUZOxk5L8quEYg9+uFDNZcSwDpUUViglC4A8J9LyngUhDihnA== 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=8UAAvLKuQNxDhQTBb0rEyWzjQ0l8y3PX6CSn+8q1Pe0=; b=au8heBLgX99K1gZ0fQVH6b9hx13zAKrs9QTJQB5OJVQoZez27Ac2loX35488vFzLlp8CAKPxNMGnyLWW3yoDL7sXgzltZtMAQR8YEix3mHB08KJ9y6/z4fMv6PV25yuN8NG2exkL7wvI26aeT75mtS598ZSTGweepgFXEKalIc+GDNSi2nYFvmDKQ+37+2ffVnaIcMKAFsbPPSSl+BLIqoHNQtImK4Nhp05KNrDmZEPjdlxs5pwHBN6Mabxq6BAXJwuHNPb4e8fxnbwzUHCmhIMyuLmet8iAVY5aKuZMvtPmcqZoiIpAl+JHeWhW7QAXWDNz2V3urZE/18tNqxvMig== 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 SA1PR11MB6846.namprd11.prod.outlook.com (2603:10b6:806:2b0::6) by SA1PR11MB8490.namprd11.prod.outlook.com (2603:10b6:806:3a7::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.27; Mon, 7 Aug 2023 08:08:53 +0000 Received: from SA1PR11MB6846.namprd11.prod.outlook.com ([fe80::6d4:532:8a7c:c801]) by SA1PR11MB6846.namprd11.prod.outlook.com ([fe80::6d4:532:8a7c:c801%3]) with mapi id 15.20.6652.026; Mon, 7 Aug 2023 08:08:53 +0000 From: "Ijaz, Abdul B" To: Tom Tromey , Abdul Basit Ijaz via Gdb-patches CC: "JiniSusan.George@amd.com" , "eliz@gnu.org" , "blarsen@redhat.com" Subject: RE: [PATCH v4 3/4] gdb/infrun: handle stepping through functions with DW_AT_trampoline Thread-Topic: [PATCH v4 3/4] gdb/infrun: handle stepping through functions with DW_AT_trampoline Thread-Index: AQHZxMpRCKO1uYm66k+nDB4E9RbK46/Xd8nQgAYYHLA= Date: Mon, 7 Aug 2023 08:08:53 +0000 Message-ID: References: <20230801224744.24433-1-abdul.b.ijaz@intel.com> <20230801224744.24433-4-abdul.b.ijaz@intel.com> <87leetchg5.fsf@tromey.com> In-Reply-To: <87leetchg5.fsf@tromey.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SA1PR11MB6846:EE_|SA1PR11MB8490:EE_ x-ms-office365-filtering-correlation-id: 6a1d11d2-6f3b-4ae5-56b1-08db971d8a41 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: XsTKxUkw1F43NwEiddI4SrpoyiBXxHsiv1uw9SFbuOpuuj7pceQLek0KPwQIJtSfheZq7w2me/1rY4GKUmETwE4LSYtZE42OndWh+2padX5p5WENBZa/ER0RAGq5bJ1yR4kdkz4i4zsga9CLamgu5Rxv7KBn7X0kWDBXrCJ/kUaCxqI7jG7gENuNtJSmR1a1msWWhXN66+H1uoNf24ZF5BnhLnLF3D0Xz20p3mqV14+Mwh+ACfJQJHDR45/ol2sB63Xth0s4w32LE7csviUnrVnGrg85XimUqQ8fVMjoXYUGHsQlMQubbUoWDe5vu6hvqaFg3xgEzOs6eUcQIRUbk6yHep7yAwy1V8+gkqvI41Vws58OK6QTF7bjf5iogxYNvdzEYWIU6uHY2xBo7O242zNc8VWL6zQwkvQtsNzsWLPNx0aoSgzioNMp7MHNZGmUG+Wy3pmBVfuxLMHMYTv/trmPTOlq7K5ORgjRy8PVTs5VWiI191YQQbsEcUUt5okIyX3LA1E14Ej0JvvGEO+2jgvjASmxKfp8EmhXkYvdFtZL8r7TkZ0KQlQFsmdEfY8k8XLnC8iRxsylR8D4wvlJZw9fFURLN+6j9aeqVQMTJz4QYphwmEmNzq+OGD9D3+nF x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR11MB6846.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(396003)(39860400002)(376002)(346002)(136003)(451199021)(1800799003)(186006)(82960400001)(478600001)(122000001)(55016003)(38100700002)(54906003)(110136005)(86362001)(9686003)(53546011)(6506007)(71200400001)(7696005)(33656002)(4326008)(76116006)(66556008)(66446008)(64756008)(66476007)(66946007)(2906002)(52536014)(38070700005)(5660300002)(8676002)(8936002)(316002)(41300700001)(83380400001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?L1JYcHF1OVg3ODA5eXZnem4wdG8xa3NKdk1abm13djJzb1pEdEdGakVHendq?= =?utf-8?B?L2VHT2RySklFa2N4V1AxZW9Xa1E0M1pQQnIrQ09TR0J1dXJIODBMa1g3ZWVU?= =?utf-8?B?RUJDeTFUb21DMTVYdVZ5Wnl3a0JCSXRmNjc2d0pzUHdNQ3BwUXhDTTlNbjlK?= =?utf-8?B?VE5uNER0RVN0NjVIN1R3d1RvcTZkMnBrUXdMcDNmRHFJMnVtbjJWUlhUYUg2?= =?utf-8?B?QnFwUlBxc1hqVUo5WTVraFNIL2pMdHFJK2hkU2o2ZTVreVUyM0FaVnF4d0RW?= =?utf-8?B?TEwvNlZVU0hFMngxcHFWTEI4T0RmVnBGYzJuM2RpK2R2ZUxHTTBXcTBSNU02?= =?utf-8?B?aGlEb21aSk1MLzR0ZWREY3AxZ2xzNmRZdkRVM3dMc0dvSmJtWXNIN2l5MHph?= =?utf-8?B?cUNibm9iaThRYW1xS3BSK0VtdjI1d1VpWHpsWGo2NnFqK3c0Y01sSys0ZU1s?= =?utf-8?B?MGoxTHBUV25XT0U3MGxoMDlkZEdDN0pKWHdGeHRUalBZbXl5bXdaQ3h1SXJz?= =?utf-8?B?NzNMalRGaFBDS3RWTmt1VWJPckY3R0p1R2lSNmhodTlXR0RBSW1QUks2cHgr?= =?utf-8?B?M0V2c2VIUHNEZ1lVbGdWVEh5Q1ZNVGp0STRpWktoM1BROFl4RWtqb2hUR1Vk?= =?utf-8?B?Uk5qNXBORFlGY0k0Z1F1a0FRaHNQUUY2VGxWU1IyOXcrVXlCYjNaZHltejBN?= =?utf-8?B?UzRzR21lS1R0YUdlTGx1d09HaEZ3aWNQajVTTTl0dU05VUJIWVlweEZWQ29J?= =?utf-8?B?K0FVVFRMb2dMTmdzbld5alVvMitoaitLVXRCbUhSam9PaHloLzQvMkoxWGp1?= =?utf-8?B?V010OXk0Q09Xak8rakNKQzI2ZHU2cmpHV0VpYThuSDQxUVNGZ3c2Qklrc29v?= =?utf-8?B?N2Zodm1keitQSzQ4S1lWcER2bXZNRldpY2V4ZmdiMHZuTCtxUG5UU21oNWdY?= =?utf-8?B?a0NNbW4wK0RQb29ycWdHeWdWN3F6WlUvZUMveHdJaHlhSDhtRU5oZklNcCsz?= =?utf-8?B?dk1kdThyT1FDeU55ZHhCejk2S0lsTXIzOWRMTEJXMmFWZGlEU2tTZ0o5dnZp?= =?utf-8?B?YmJNU3gzQ2M4dkN3ZmNEUTVrQnJOeTM3SWk3RFZjdVliZEtISUlicStUVUFQ?= =?utf-8?B?VVRRd1RoeXVRZE01UzJWTUd4STUyc0RzQk9mVGp1VzRkOStjK0tVYkZ5dVk2?= =?utf-8?B?Ky9qeHNlVkhDQVhyVnk4TEJxQmZVRzNmb2tTZ01BS3R6a3puVnhLRzl3aFV6?= =?utf-8?B?WXVORWNKSEV3ejYvQWtWVXRlc0RSMWZCMWpXVkwvU25lcytLZitCdm5zNzdS?= =?utf-8?B?ZTlxU051UDFiN0x0dGVmTmJtaXJDTWtvVGM0Z2NWZXp5aEdSa0owQmpyeG1u?= =?utf-8?B?MjRVdVc0TDZpZDF2ZnNHLzNjU1REejVvUy9ONFpSd2dIeXhSY2ZvSmZvSGM4?= =?utf-8?B?WXdGWjRCMm5yV3hTT016MTRweXg3VnkrWC9mWjlpWUtxZXFuYklOcFYwOVFw?= =?utf-8?B?bWtSVVF1dmhaR0hvR2YxM2xEU3JJZzZJbEFHaFJoVTBxdTVLKzdKWHNJSTho?= =?utf-8?B?cjZWYVVZUktxYVlKQWM2dmN2K1R6QXNvNERLWTdJOFU1RFJ3R3g2SVFpY0o3?= =?utf-8?B?RGk3Q1ZCQkhZVmdQaEk4YjluWXdZdklmYzltTWJOcWpVRHk1byt0a2NUVUt0?= =?utf-8?B?R00wWDlqeC9lVUFNWUE3eUlSckNLY2lITitleklSTnp3aVJjYzQ4OTBJVkdL?= =?utf-8?B?WWVpckN1TXhvOEE5bnZjbXZXZ2djRitpNEhzZE8xTlBUY1YwYmJMQ0ZEeXh5?= =?utf-8?B?ODJhbFlNaGovMEpXdGxkeFdwaVFiVDhTOUYzN29Lai9abXpNek9Nc0JKZkh3?= =?utf-8?B?c1M4ZEMwMEhaWFRpWFc3WlZid0FRNi8vNkg1YzBGbjBWS0tvT1pPcUhNQnhs?= =?utf-8?B?ZFI1bEtycmhxdU01aTJxcDJ3aFd6dE9BOFBQZnZzaDdITFZPY0haRmpDNHRm?= =?utf-8?B?cGkybE5pdXRUTTQ1N2JiQkdKQVB1OExMRitjRC9zSVZFR0xYZnZMRkR6a3N5?= =?utf-8?B?SnFldE5WcHJ1cEFZR01xYlBXTVJFWExNKzFiNldmOXpCTUJub1lkUnpRTWRo?= =?utf-8?B?d1Nvb05UeDNWcm9KTEFibUIxLzBjN1RHQnQ5T0ptem8vMEM4bEErZlZxUjJD?= =?utf-8?Q?A++sy0xMdL0NFSogR45MSBIJ7KDMgZDAlxP10D+K6ftr?= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SA1PR11MB6846.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6a1d11d2-6f3b-4ae5-56b1-08db971d8a41 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Aug 2023 08:08:53.2399 (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: dGIBayoco9tArFPcbIAMHZVF0Mf/Dg8aFhutY4b6M7tJX/OV62yeDqPGBpGH+F4Wp9Wre/s+w8SJAbklDorbuQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR11MB8490 X-OriginatorOrg: intel.com Content-Transfer-Encoding: base64 X-Spam-Status: No, score=-5.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,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 List-Id: SGkgVG9tLA0KDQpUaGFua3MgZm9yIHRoZSBmZWVkYmFjay4gQWRkZWQgcmVwbGllcyBiZWxvdy4N Cg0KQWJkdWw+ICsgICAgICBpZiAoaW5fdHJhbXBvbGluZSkNCg0KVG9tID4gVGhlIGFzc2lnbm1l bnQgaXMgbm90IGZvcm1hdHRlZCBjb3JyZWN0bHksIGJ1dCBpdCBzZWVtcyB0byBtZSB0aGF0IHRo ZXJlJ3Mgbm8gbmVlZCBmb3IgdGhpcyB2YXJpYWJsZSBhdCBhbGwsIGFuZCB0aGUgZXhwcmVzc2lv biBjYW4gYmUgaW5saW5lZCBpbnRvIHRoZSAnaWYnIC0tIHdoaWNoIHdpbGwgYWxzbyBmaXggdGhl IGZvcm1hdHRpbmcuDQpXaWxsIGZpeCBpbiBWNS4NCg0KQWJkdWw+ICsJICBmb3IgKGludCBpID0g MDsgaSA8IE1BWF9UUkFNUE9MSU5FX0NIQUlOX1NJWkUNCkFiZHVsPiArCQkJICAmJiBpbl90cmFt cG9saW5lX2Z1bmN0aW9uIChyZWFsX3N0b3BfcGMpOyArK2kpDQpUb20gPiBOb3JtYWxseSB3ZSdk IHNwbGl0IGF0IHRoZSAnOyc6DQpXaWxsIGZpeCBpbiBWNS4NCg0KQWJkdWw+ICsJCWlmIChyZWFs X3N0b3BfcGMgPT0gMHgwKQ0KVG9tPkp1c3QgJzAnLCBub3QgJzB4MCcuDQpXaWxsIGZpeCBib3Ro IGluc3RhbmNlcyBpbiBWNS4NCg0KVG9tPiBJIGd1ZXNzIHRoZSBsYW5ndWFnZSBzdHVmZiBpcyB0 aGVyZSB0byB3b3JrIGFyb3VuZCBhIEdDQyBkZWZpY2llbmN5LCBpbiB0aGF0IGl0IGRvZXMgbm90 IGVtaXQgRFdfQVRfdHJhbXBvbGluZS4NCk5vdCBzdXJlIGFib3V0IGRlZmljaWVuY3kgYnV0IEkg dGhpbmsgdGhlcmUgYXJlIFNpZ25hbCB0cmFtcG9saW5lcyB3aGljaCBuZWVkIHRvIGJlIGhhbmRs ZWQgc2VwYXJhdGVseSBmb3IgZXZlcnkgYXJjaCB3aGlsZSBmb3IgdGh1bmtzIGFzIGZhciBhcyBJ IHVuZGVyc3RhbmQgZm9yIGl0cyBoYW5kbGluZyB0aGVyZSBjb3VsZCBiZSAgbGFuZ3VhZ2Ugc3R1 ZmYgd2hpY2ggbWlnaHQgYmUgbmVlZGVkIGZvciBkaWZmZXJlbnQgbGFuZ3VhZ2VzLg0KDQpUb20g PiAiDQpUaGUgZ2RiYXJjaCBzdHVmZi4uLiBJIGRvbid0IGtub3cgYnV0IEkgc2VlIGEgbG90IG9m IGFyY2hlcyBpbXBsZW1lbnQgdGhpcyAodGhvdWdoIG1vc3RseSBkZWZlcnJpbmcgdG8gdGhlIHNv bGliIGNvZGUpLg0KDQpBbnl3YXksIGlzIGl0IHBvc3NpYmxlIHRvIGhhdmUgYSBnZGJhcmNoIG9y IGMrKyB0cmFtcG9saW5lIHRoZW4gY2FsbCBhIERXX0FUX3RyYW1wb2xpbmUgZnVuY3Rpb24/ICBJ ZiBzbyB0aGVuIHdvdWxkbid0IHdlIGVuZCB1cCB3aXRoIGFuIGVycm9uZW91cyBzdG9wPw0KDQpJ J20ganVzdCB3b25kZXJpbmcgaWYgdGhlc2Ugb3VnaHQgdG8gYmUgdW5pZmllZCBpbiBzb21lIHdh eSwgbGlrZSBzYXkgbG9vayBmb3IgYW55IHNvcnQgb2YgdHJhbXBvbGluZSB0YXJnZXQgaW4gdGhl IGxvb3AuDQoiDQoNCkFsbCB0aGVzZSB0cmFtcG9saW5lIGNhc2VzIGFyZSByZWFsbHkgZGlmZmVy ZW50IHdheSBvZiBkZXRlY3RpbmcgYW5kIHRoZSBwcm9jZXNzaW5nIHRoZW0gYW5kIEkgYW0gbm90 IHN1cmUgY29tcGlsZXIgZGVjaXNpb24gYWJvdXQgRFdfQVRfdHJhbXBvbGluZS4gU28gZmFyIGFi bGUgdG8gc2VlIHRoZW0gb25seSBmb3IgSW50ZWwgRm9ydHJhbiBjb21waWxlcnMgZm9yIGFsbCB0 aGUgZnVuY3Rpb24gY2FsbHMuICBGb3IgdW5pZnlpbmcgbmVlZCBiZXR0ZXIgdW5kZXJzdGFuZGlu ZyBvZiBleGlzdGluZyB0cmFtcG9saW5lcyBhbmQgSSB0aGluayBJIGFtIGxhY2tpbmcgdGhlIHVu ZGVyc3RhbmRpbmcgb2YgdGhlIGltcGxlbWVudGF0aW9uIG9mIG90aGVyIHRyYW1wb2xpbmVzIHRv IGhhbmRsZSB0aHVua3Mgb3Igc2lnbmFsIHRyYW1wb2xpbmVzLiBOb3cgcmVnYXJkaW5nIGVycm9u ZW91cyBzdG9wIGlmIEkgdW5kZXJzdGFuZCByaWdodGx5IGluIGNhc2Ugb2Ygc29tZSB0YXJnZXRz IHdoZXJlIGNvbXBpbGVyIGVtaXQgdGh1bmtzIGZvciB0cmFtcG9saW5lIGNhbGxzIGFuZCBhbHNv IGl0IGVtaXQgdHJhbXBvbGluZSBkd2FyZiBmb3Igc2FtZSB0YXJnZXRzIHRoZW4gSSB0aGluayB0 aGUgdHJhbXBvbGluZSBkZXRlY3RlZCB1c2luZyB0aHVua3MgaGFuZGxpbmcgIHNob3VsZCBiZSBk b25lIGZpcnN0IG9yIHdoaWNoIGV2ZXIgSSBwcm9jZXNzZWQgZmlyc3Qgc2hvdWxkIHByb2Nlc3Mg dGhlIHRyYW1wb2xpbmVzLiBJbiBjYXNlIG9mIERXX0FUX3RyYW1wb2xpbmUgaXQgaXMgc2V0IGZv ciB0aGUgcmVzcGVjdGl2ZSBmcmFtZSBhbmQgaWYgaXQgaXMgbm90IGRldGVjdGVkIGluIGNhc2Ug dGhvc2UgZnJhbWVzIHdlcmUgcHJvY2Vzc2VkIGFscmVhZHkgdGhlbiBub3RoaW5nIHNob3VsZCBi ZSBhZmZlY3RlZCwgc28gc2hvdWxkIG5vdCBiZSBhbiBpc3N1ZS4gQnV0IGlmIHdlIHdhbnQgdG8g bWFrZSBzdXJlIHRoZW4gaGF2ZSB0byB0cnkgb24gc29tZSB0YXJnZXQgbm90IHN1cmUgaG93IHNv IHRoYXQgSSBtYXkgdmVyaWZ5IHRvIGNvbmZpcm0gaWYgIGl0IHdpbGwgd29yayBmaW5lIGluIHN1 Y2ggY2FzZS4NCg0KVG9tID4iDQpBbHNvIExPTCBhdCB0aGUgZ251LXYzLWFiaS5jIGNvZGU6DQoN CiAgaWYgKHRodW5rX25hbWUgPT0gTlVMTCB8fCBzdHJzdHIgKHRodW5rX25hbWUsICIgdGh1bmsg dG8gIikgPT0gTlVMTCkNCiAgICByZXR1cm4gMDsNCg0KSXQgYWxzbyBzZWVtcyBhIGJpdCB3ZWly ZCB0aGF0IHNraXBfdHJhbXBvbGluZV9mdW5jdGlvbnMgb25seSBhZmZlY3RzIHRoaXMgb25lIHN1 YnNldCBvZiB0cmFtcG9saW5lIGZ1bmN0aW9ucy4NCiINCg0KU28gc2tpcF90cmFtcG9saW5lX2Z1 bmN0aW9ucyBpcyBzbyBmYXIgb25seSBoYW5kbGluZyB0aGUgc2tpcHBpbmcgY2FzZSBmb3IgdHJh bXBvbGluZXMgaW5kaWNhdGVkIGJ5IERXX0FUX3RyYW1wb2xpbmUgYW5kIG5vdCBmb3IgYW55IG90 aGVyIGNhc2Ugb2YgdGhlc2UgdGh1bmtzIGVtaXR0ZWQgYnkgY29tcGlsZXIgb3IgYnkgc2lnbmFs IHRyYW1wb2xpbmVzLiBTaW5jZSB0aGlzIGNhc2UgaXMgcHJldHR5IG11Y2ggZGVmaW5lZCBjYXNl IGZvciBzdWJyb3V0aW5lcyBjYWxsaW5nIHRoZSB0YXJnZXQgc3Vicm91dGluZSBidXQgbm90IHN1 cmUgYWJvdXQgb3RoZXJzIGJ1dCBtYXkgYmUgdGhlc2Ugc29saWIgY2FsbHMgZmlsdGVyaW5nIG1h eSBhbHNvIGJlIGhhbmRsZWQgd2l0aCB0aGUgc2FtZS4gUGxlYXNlIGxldCBtZSBrbm93IGlmIHdl IHdhbnQgdG8gZmlsdGVyIG90aGVyIHRyYW1wb2xpbmVzIGNhc2VzIHVzaW5nIHRoZSBzYW1lIGZp bHRlci4gTW9zdGx5IGl0IHNob3VsZCBiZSAib24iIGNhc2UgYnV0IERXX0FUX3RyYW1wb2xpbmUg IGNvdWxkIGJlIGludGVyZXN0aW5nIGZvciB1c2VyIGlmIGNvbXBpbGVyIGVtaXQgaXQgZm9yIHZp cnR1YWwgZnVuY3Rpb25zIGFuZCB1c2VyIHdhbnQgdG8gc2VlIGFsbCB0aGUgdHJhbXBvbGluZSBj YWxscyBzbyBoZXJlIHRoZXJlIGNvdWxkIGJlIHNvbWUgY2FzZXMgZm9yIGVuZCB1c2VyIHRvIHNl ZSB0aG9zZSB0cmFtcG9saW5lIGNhbGxzIGJ1dCBmb3IgdGh1bmtzIG9yIHJlc3QgSSBkb27igJl0 IGtub3cgc28gbGV0IG1lIGtub3cgdGhlbiBJIGNhbiBhc3NlcyBvZiB1c2luZyB0aGUgZmlsdGVy IG9wdGlvbiBmb3Igb3RoZXIgdHJhbXBvbGluZXMuDQoNClRoYW5rcyAgJiBCZXN0IFJlZ2FyZHMs DQpBYmR1bCBCYXNpdA0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogVG9tIFRy b21leSA8dG9tQHRyb21leS5jb20+IA0KU2VudDogV2VkbmVzZGF5LCBBdWd1c3QgMiwgMjAyMyAx MDozNCBQTQ0KVG86IEFiZHVsIEJhc2l0IElqYXogdmlhIEdkYi1wYXRjaGVzIDxnZGItcGF0Y2hl c0Bzb3VyY2V3YXJlLm9yZz4NCkNjOiBJamF6LCBBYmR1bCBCIDxhYmR1bC5iLmlqYXpAaW50ZWwu Y29tPjsgSmluaVN1c2FuLkdlb3JnZUBhbWQuY29tOyB0b21AdHJvbWV5LmNvbTsgZWxpekBnbnUu b3JnOyBibGFyc2VuQHJlZGhhdC5jb207IE5pbHMtQ2hyaXN0aWFuIEtlbXBrZSA8bmlscy1jaHJp c3RpYW4ua2VtcGtlQGludGVsLmNvbT4NClN1YmplY3Q6IFJlOiBbUEFUQ0ggdjQgMy80XSBnZGIv aW5mcnVuOiBoYW5kbGUgc3RlcHBpbmcgdGhyb3VnaCBmdW5jdGlvbnMgd2l0aCBEV19BVF90cmFt cG9saW5lDQoNCj4+Pj4+ICJBYmR1bCIgPT0gQWJkdWwgQmFzaXQgSWpheiB2aWEgR2RiLXBhdGNo ZXMgPGdkYi1wYXRjaGVzQHNvdXJjZXdhcmUub3JnPiB3cml0ZXM6DQoNCkFiZHVsPiBGcm9tOiBO aWxzLUNocmlzdGlhbiBLZW1wa2UgPG5pbHMtY2hyaXN0aWFuLmtlbXBrZUBpbnRlbC5jb20+IA0K QWJkdWw+IFRoaXMgcGF0Y2ggbWFrZXMgaW5mcnVuIGNvbnRpbnVlIHN0ZXBwaW5nIGludG8gYW5k IHRocm91Z2ggDQpBYmR1bD4gdHJhbXBvbGluZSBmdW5jdGlvbnMgbWFya2VkIHZpYSB0aGUgRFdf QVRfdHJhbXBvbGluZSBpbiBEV0FSRi4gIA0KQWJkdWw+IFRoZSBhdHRyaWJ1dGUgY2FuIGJlIGVt aXR0ZWQgYnkgdGhlIGNvbXBpbGVyIGZvciBjZXJ0YWluIA0KQWJkdWw+IHN1YnJvdXRpbmVzL2lu bGluZWQgc3Vicm91dGluZXMgdGhhdCBhcmUgY29tcGlsZXIgZ2VuZXJhdGVkIGFuZCBzaG91bGQg YmUgaGlkZGVuIGZyb20gYSB1c2VyLg0KDQpUaGFua3MgZm9yIHRoZSBwYXRjaC4NCg0KaW5mcnVu IGlzbid0IHJlYWxseSBteSBhcmVhIGJ1dCBJIGRvIGhhdmUgc29tZSBuaXRzLg0KDQpBYmR1bD4g KyAgICAgIGJvb2wgaW5fdHJhbXBvbGluZSA9IHNraXBfdHJhbXBvbGluZV9mdW5jdGlvbnMNCkFi ZHVsPiArCQkJICAgJiYgaW5fdHJhbXBvbGluZV9mdW5jdGlvbiAoc3RvcF9wYyk7DQpBYmR1bD4g Kw0KQWJkdWw+ICsgICAgICBpZiAoaW5fdHJhbXBvbGluZSkNCg0KVGhlIGFzc2lnbm1lbnQgaXMg bm90IGZvcm1hdHRlZCBjb3JyZWN0bHksIGJ1dCBpdCBzZWVtcyB0byBtZSB0aGF0IHRoZXJlJ3Mg bm8gbmVlZCBmb3IgdGhpcyB2YXJpYWJsZSBhdCBhbGwsIGFuZCB0aGUgZXhwcmVzc2lvbiBjYW4g YmUgaW5saW5lZCBpbnRvIHRoZSAnaWYnIC0tIHdoaWNoIHdpbGwgYWxzbyBmaXggdGhlIGZvcm1h dHRpbmcuDQoNCkFiZHVsPiArCSAgcmVhbF9zdG9wX3BjID0gZmluZF9mdW5jdGlvbl90cmFtcG9s aW5lX3RhcmdldCAoc3RvcF9wYyk7DQpBYmR1bD4gKw0KQWJkdWw+ICsJICBmb3IgKGludCBpID0g MDsgaSA8IE1BWF9UUkFNUE9MSU5FX0NIQUlOX1NJWkUNCkFiZHVsPiArCQkJICAmJiBpbl90cmFt cG9saW5lX2Z1bmN0aW9uIChyZWFsX3N0b3BfcGMpOyArK2kpDQoNCk5vcm1hbGx5IHdlJ2Qgc3Bs aXQgYXQgdGhlICc7JzoNCg0KICAgIGZvciAoaW50IGkgPSAwOw0KICAgICAgICAgaSA8IE1BWF9U UkFNUE9MSU5FX0NIQUlOX1NJWkUNCiAgICAgICAgICYmIGluX3RyYW1wb2xpbmVfZnVuY3Rpb24g KHJlYWxfc3RvcF9wYyk7DQogICAgICAgICArK2kpDQoNCi4uLiB3aXRoIHRoZSBtaWRkbGUgZXhw cmVzc2lvbiBiZWluZyBhbGwgb24gb25lIGxpbmUgaWYgaXQgZml0cy4NCg0KQWJkdWw+ICsJICAg IHsNCkFiZHVsPiArCQlyZWFsX3N0b3BfcGMgPSBmaW5kX2Z1bmN0aW9uX3RyYW1wb2xpbmVfdGFy Z2V0IChyZWFsX3N0b3BfcGMpOw0KQWJkdWw+ICsJCS8qIEV4aXQgaWYgZmluZF9mdW5jdGlvbl90 cmFtcG9saW5lX3RhcmdldCBmYWlsZWQgdG8gZmluZCB0aGUNCkFiZHVsPiArCQkgICB0cmFtcG9s aW5lIHRhcmdldC4gIERvIG5vdCB0cnkgdG8gcmVzb2x2ZSB0aGUgdHJhbXBvbGluZXMNCkFiZHVs PiArCQkgICBpbiB0aGlzIGNhc2UuICAqLw0KQWJkdWw+ICsJCWlmIChyZWFsX3N0b3BfcGMgPT0g MHgwKQ0KDQpKdXN0ICcwJywgbm90ICcweDAnLg0KDQpBYmR1bD4gKwkgIC8qIElmIHdlIGZhaWxl ZCB0byBmaW5kIGEgdGFyZ2V0IHdlIHdpbGwganVzdCBzaW5nbGUgc3RlcCBpbiB0aGUNCkFiZHVs PiArCSAgICAgaG9wZSBvZiBsZWF2aW5nIHRoZSB0cmFtcG9saW5lIGFnYWluIHNvb24uICAqLw0K QWJkdWw+ICsJICBpZiAocmVhbF9zdG9wX3BjID09IDB4MCkNCg0KRGl0dG8uDQoNCkFiZHVsPiAr ICAgICAgaWYgKHJlYWxfc3RvcF9wYyA9PSAwKQ0KQWJkdWw+ICsJcmVhbF9zdG9wX3BjID0gc2tp cF9sYW5ndWFnZV90cmFtcG9saW5lIChmcmFtZSwgc3RvcF9wYyk7DQpBYmR1bD4gICAgICAgIGlm IChyZWFsX3N0b3BfcGMgPT0gMCkNCkFiZHVsPiAgCXJlYWxfc3RvcF9wYyA9IGdkYmFyY2hfc2tp cF90cmFtcG9saW5lX2NvZGUgKGdkYmFyY2gsIGZyYW1lLCANCkFiZHVsPiBzdG9wX3BjKTsNCg0K VGhpcyBpcyBwcmUtZXhpc3RpbmcgY29kZSwgYnV0IEkgd29uZGVyIGhvdyBhbGwgdGhlc2UgZGlm ZmVyZW50IHBpZWNlcyBpbnRlcmFjdCwgb3IgYXJlIHN1cHBvc2VkIHRvIGludGVyYWN0Lg0KDQpJ IGd1ZXNzIHRoZSBsYW5ndWFnZSBzdHVmZiBpcyB0aGVyZSB0byB3b3JrIGFyb3VuZCBhIEdDQyBk ZWZpY2llbmN5LCBpbiB0aGF0IGl0IGRvZXMgbm90IGVtaXQgRFdfQVRfdHJhbXBvbGluZS4NCg0K VGhlIGdkYmFyY2ggc3R1ZmYuLi4gSSBkb24ndCBrbm93IGJ1dCBJIHNlZSBhIGxvdCBvZiBhcmNo ZXMgaW1wbGVtZW50IHRoaXMgKHRob3VnaCBtb3N0bHkgZGVmZXJyaW5nIHRvIHRoZSBzb2xpYiBj b2RlKS4NCg0KQW55d2F5LCBpcyBpdCBwb3NzaWJsZSB0byBoYXZlIGEgZ2RiYXJjaCBvciBjKysg dHJhbXBvbGluZSB0aGVuIGNhbGwgYSBEV19BVF90cmFtcG9saW5lIGZ1bmN0aW9uPyAgSWYgc28g dGhlbiB3b3VsZG4ndCB3ZSBlbmQgdXAgd2l0aCBhbiBlcnJvbmVvdXMgc3RvcD8NCg0KSSdtIGp1 c3Qgd29uZGVyaW5nIGlmIHRoZXNlIG91Z2h0IHRvIGJlIHVuaWZpZWQgaW4gc29tZSB3YXksIGxp a2Ugc2F5IGxvb2sgZm9yIGFueSBzb3J0IG9mIHRyYW1wb2xpbmUgdGFyZ2V0IGluIHRoZSBsb29w Lg0KDQpBbHNvIExPTCBhdCB0aGUgZ251LXYzLWFiaS5jIGNvZGU6DQoNCiAgaWYgKHRodW5rX25h bWUgPT0gTlVMTCB8fCBzdHJzdHIgKHRodW5rX25hbWUsICIgdGh1bmsgdG8gIikgPT0gTlVMTCkN CiAgICByZXR1cm4gMDsNCg0KSXQgYWxzbyBzZWVtcyBhIGJpdCB3ZWlyZCB0aGF0IHNraXBfdHJh bXBvbGluZV9mdW5jdGlvbnMgb25seSBhZmZlY3RzIHRoaXMgb25lIHN1YnNldCBvZiB0cmFtcG9s aW5lIGZ1bmN0aW9ucy4NCg0KVG9tDQpJbnRlbCBEZXV0c2NobGFuZCBHbWJIClJlZ2lzdGVyZWQg QWRkcmVzczogQW0gQ2FtcGVvbiAxMCwgODU1NzkgTmV1YmliZXJnLCBHZXJtYW55ClRlbDogKzQ5 IDg5IDk5IDg4NTMtMCwgd3d3LmludGVsLmRlIDxodHRwOi8vd3d3LmludGVsLmRlPgpNYW5hZ2lu ZyBEaXJlY3RvcnM6IENocmlzdGluIEVpc2Vuc2NobWlkLCBTaGFyb24gSGVjaywgVGlmZmFueSBE b29uIFNpbHZhICAKQ2hhaXJwZXJzb24gb2YgdGhlIFN1cGVydmlzb3J5IEJvYXJkOiBOaWNvbGUg TGF1ClJlZ2lzdGVyZWQgT2ZmaWNlOiBNdW5pY2gKQ29tbWVyY2lhbCBSZWdpc3RlcjogQW10c2dl cmljaHQgTXVlbmNoZW4gSFJCIDE4NjkyOAo=