From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id CC9C7A034F; Wed, 13 May 2020 17:32:19 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id A5C271D63D; Wed, 13 May 2020 17:32:19 +0200 (CEST) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2055.outbound.protection.outlook.com [40.107.20.55]) by dpdk.org (Postfix) with ESMTP id F1E741D62C for ; Wed, 13 May 2020 17:32:17 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Lmvv6mBfMnpxBnaf0XbooOk4HIa9X/EU0UE9CtZYj80=; b=Bq81iUcAMhqYssJ7go2bODU2o9+sf5uQ6gdG+JPivKdpmEaFy09uuCd/Ba3DrhanrxMJuUoJZ1VR7/9FHdzoSYF5e450xvBhQ41AnUAz4mLBukFpvgAgvXHs/RpMJDzxCuPHLAKfP6YAOC5IrsIdu6YTfDuLgUWd66vhLZVlAG4= Received: from MRXP264CA0021.FRAP264.PROD.OUTLOOK.COM (2603:10a6:500:15::33) by VI1PR08MB3981.eurprd08.prod.outlook.com (2603:10a6:803:ed::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2979.28; Wed, 13 May 2020 15:32:16 +0000 Received: from VE1EUR03FT018.eop-EUR03.prod.protection.outlook.com (2603:10a6:500:15:cafe::d3) by MRXP264CA0021.outlook.office365.com (2603:10a6:500:15::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3000.24 via Frontend Transport; Wed, 13 May 2020 15:32:16 +0000 Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dpdk.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dpdk.org; dmarc=bestguesspass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT018.mail.protection.outlook.com (10.152.18.135) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3000.19 via Frontend Transport; Wed, 13 May 2020 15:32:16 +0000 Received: ("Tessian outbound b3a67fbfbb1f:v54"); Wed, 13 May 2020 15:32:15 +0000 X-CR-MTA-TID: 64aa7808 Received: from 452db1bb6f91.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id F7F4E513-AC44-4FE5-A48F-8FB86032CC52.1; Wed, 13 May 2020 15:32:10 +0000 Received: from EUR01-VE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 452db1bb6f91.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 13 May 2020 15:32:10 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gnvzkoInX+WPiSti7LH+x7Lf9OvJ+TAygIgZZ/yT61KyivoNSfnWtAS+sjo8vNaO3zvMsYXXE0y/T4Hb909YPH3SVFUg0YomBe9if2tR0FjGYoS4zxsTDRWF0pK5sX+t9bCbfJlYuTshI1nCz5Z2FOacInODDDe9oPEziejTLhxnOlwVy5POFIZ3R9H/FlJMsptBGMIw8tbaLBJ/Cbj9qua3FzyDQrM/FuMffcoybf2PWPRE5UTi+CDGvFSKhzeer0QWtc49E2WEj0L8H1Qf6Am207tYpO3PDQNm17jDcKVvgadlgwSpBFjVNDSPiIgTow2yl/D4hL5S71klMXpkow== 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=Lmvv6mBfMnpxBnaf0XbooOk4HIa9X/EU0UE9CtZYj80=; b=m+PVxuFPv3FlKekkyDVvhpHaCPLrkRYbagImNPiLJLwxmmyHe6fi9MkjjRsvlKSQXaokaDhj7zrrEe2FAbsYWSpWzbzWPmCwQppE1fdNs6jwieT4h85rNsTgLJreuY6FGCHzGj6NTvWTwk/gofCReMCbvtRfQBumQbe+LFpwkOSK30mw+eiTXJi7fU/DBWG5K54LcojLA7Rlwuyx9vieQN6w91MAuQBepMFczpb0KAaazoy32ykBC7sR3bKm4Il2B7vZBit5QatioLQvY8rN18VEYnJQH1NVSixgl+Wy9CCrmiIYrVX7CC0zJZgup5tTHZienD9YW6LKJgB5btE5OA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Lmvv6mBfMnpxBnaf0XbooOk4HIa9X/EU0UE9CtZYj80=; b=Bq81iUcAMhqYssJ7go2bODU2o9+sf5uQ6gdG+JPivKdpmEaFy09uuCd/Ba3DrhanrxMJuUoJZ1VR7/9FHdzoSYF5e450xvBhQ41AnUAz4mLBukFpvgAgvXHs/RpMJDzxCuPHLAKfP6YAOC5IrsIdu6YTfDuLgUWd66vhLZVlAG4= Received: from DBBPR08MB4646.eurprd08.prod.outlook.com (2603:10a6:10:f5::16) by DBBPR08MB4678.eurprd08.prod.outlook.com (2603:10a6:10:dc::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2979.34; Wed, 13 May 2020 15:32:08 +0000 Received: from DBBPR08MB4646.eurprd08.prod.outlook.com ([fe80::1870:afc4:b90f:609d]) by DBBPR08MB4646.eurprd08.prod.outlook.com ([fe80::1870:afc4:b90f:609d%5]) with mapi id 15.20.3000.016; Wed, 13 May 2020 15:32:08 +0000 From: Honnappa Nagarahalli To: Phil Yang , =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= , "thomas@monjalon.net" , "dev@dpdk.org" CC: "bruce.richardson@intel.com" , "ferruh.yigit@intel.com" , "hemant.agrawal@nxp.com" , "jerinj@marvell.com" , "ktraynor@redhat.com" , "konstantin.ananyev@intel.com" , "maxime.coquelin@redhat.com" , "olivier.matz@6wind.com" , "stephen@networkplumber.org" , "mattias.ronnblom@ericsson.com" , "harry.van.haaren@intel.com" , "erik.g.carrillo@intel.com" , nd , David Christensen , nd , Honnappa Nagarahalli , nd Thread-Topic: [PATCH v4 4/4] eal/atomic: add wrapper for c11 atomics Thread-Index: AQHWKDQVYr2/oTFRrka2a/dKKmKOWKikTZwAgAF2/wCAAGITEA== Date: Wed, 13 May 2020 15:32:07 +0000 Message-ID: References: <1584407863-774-1-git-send-email-phil.yang@arm.com> <1589270586-4480-1-git-send-email-phil.yang@arm.com> <1589270586-4480-5-git-send-email-phil.yang@arm.com> <98CBD80474FA8B44BF855DF32C47DC35C60FBD@smartserver.smartshare.dk> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: bd3c738f-b0f6-4bbf-96d4-233f42f45240.0 x-checkrecipientchecked: true Authentication-Results-Original: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; x-originating-ip: [70.113.25.165] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 8d46f7f5-b9cf-4aad-2312-08d7f752d0ff x-ms-traffictypediagnostic: DBBPR08MB4678:|DBBPR08MB4678:|VI1PR08MB3981: x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:298;OLM:298; x-forefront-prvs: 0402872DA1 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: LJks0uCuUBUEogBaEl7bUEDr1iWxGQtk4UXUJFFOIr0TGmXB88R3ygzFiiHWZ3Lv3rcGZCO9NYssnoF+hTbIpVIxMXBOCBzt6diIxCA1nnqgJG8DpdCgqpGaqa43AZ3hIyZ3oNT/KG5S9nRJV6eSACdsaf5c9VBY/i15faUsaoljdlFCaRGvBkC3RRvti74zK4th3wZ/GvPT92to1DM4Pa1Dv85y8sgvH1nE90tdUNXhF6DA9d6P5cWsUijR71aHb1p9G/KzAofinq1bsPm9xCEV7BTVabbE8p4wLxLxQ4kTiea6EKXzW+cNxcissMy8DVP04nU8KypyQJNZbD1XL/v1EjjDsKTYfqNnZdlAc+dyf70UTfaxh9n7ouQ7GShXknQw22n3HxCMB8fp2ZoYYzt/IpeidlP3sdTNx8T4oTDudJzGprFQHOAwPy8zwPuy64znoP4BMLwtKAGl+2tV73HHgxcpQgzRKPrqPY0eYiYYSJiG3iiUdSSTGhxIl7eih5BTyY1bWx/MaU+CbQcDeHjYGsrsHpSE41k8F9UlzGyMkDG+txVR1WjHGWA+BF4WmD+qYE/mYK5ybiZI5pYnfwhirzekRjUcSIMIuVtOBa01v+OFzR1S/W1L0Utr4Wrs X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DBBPR08MB4646.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(376002)(366004)(346002)(136003)(39860400002)(396003)(33430700001)(7416002)(66446008)(71200400001)(66574014)(316002)(33440700001)(110136005)(66476007)(6506007)(54906003)(66946007)(7696005)(26005)(186003)(2906002)(9686003)(86362001)(52536014)(8936002)(8676002)(55016002)(76116006)(5660300002)(64756008)(66556008)(4326008)(33656002)(478600001)(473944003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: kliC22ln0wQ12q6WxVBT//dJdNPtOKrVTifiXJ+uhKIphmeUpiOegb+mYVoWRO+cnVAYfFKZF//EZPm9HI4jkhtgneoapA6y7BvwZfwAuusdywMDlehijRxkeHc+MYb74EWUkOtc55HRfPa0xD003ly2iQyZIQnNVXW7P8z9KpbMoGTp4xpDF40Y6ig4TeztvoLo5wCdOiDXznI/G7CCsdK82XItWl2d0hXtWxnmFVWDDYjDLLvI4O7gSgyVP8tN+p44PioQl9ft5ku8sogjPPcBlgt/HX2YiNZBxOGaz43xxIUyFMnbHy17QYMKOljNSZZgfBMxOxVRXnPve0HJKCKiW2D4PLnYGaaOWiLXcUL4MX3+cBDobvbzhS1OalvgHkDLsotUYswLzDBl9+xX96MTHVv9UIZL+nd0SwFdv3lZrdWPnbxKiEGdcjYzu5ZqKa9BY/DpSgREFP6T92gweLzAmvZ+ihtRnwA8nMfItSea88FQadPqgqrnsrMIJVk+ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB4678 Original-Authentication-Results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT018.eop-EUR03.prod.protection.outlook.com X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFTY:; SFS:(4636009)(396003)(136003)(376002)(346002)(39860400002)(46966005)(33430700001)(33656002)(70206006)(5660300002)(66574014)(52536014)(54906003)(356005)(2906002)(336012)(82310400002)(4326008)(9686003)(7696005)(478600001)(316002)(81166007)(33440700001)(70586007)(6506007)(186003)(47076004)(8936002)(36906005)(110136005)(8676002)(55016002)(26005)(82740400003)(86362001)(473944003); DIR:OUT; SFP:1101; X-MS-Office365-Filtering-Correlation-Id-Prvs: a738f1bd-2d5c-4748-cb77-08d7f752cc29 X-Forefront-PRVS: 0402872DA1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 2IiL+0cGjJLsZ0mbph+oHVFk/AbmFV9Ak9K73UdlHipZG9EaDelSkcGtOM3qtsL7xg5fFGuTMn+s731SpYU1vcwyUO8XWVANAdQqnCSPROv/HTjfjmnThQRJmEdf4jdFG2SO9s1yoFEX3W7bhLFoARPAq+fziXr0DQ6B/+mPIk0LesodFI+9xjo60v+GjQVGe6tYcJ2RiZHUjijGZSAXMDJl44RZIeD2tnSDWOHvN3HHCdad3Cr8QczjzQ/FaDvcpfVTeaMy1Wg8UoPbPLOl9kvUJ6m3DqcDiZRbw6RhUiK2lcCxkptEBfJgtFA6rQlcfz+3MKO4mwmKTz+1G+Y+iscz5OrbflSCe6XjVxsj7uFpxfXEvkDcnb0KZ5cy8GeSfh1/iLrn99jIhUa4f1yF5vc38UULThgBvZH+BDDWQH+OOabN/rH5lQ6DIGB2zMfMBh94BIQWPa1OwaIv9YVH870+ygdEUvfg4TzL5MfsVWuTdKAyvwTuM9bMdImG3EE3Hx6f55BYigBRJu6v4L/yrJ2cBmnTExKKuQCjQSDpNkNkr6yNtzwVeEKNXH69CxXfd+PYit8ySLMFatt/sdjQnNX5y1i29YVv09+TaHoNHy4bLGRKSi2mgLLunw1tOQhThBVA5Bev+HfSoWNNXFMbLGhtmq3Zn8sEqM7LRFPQHexP5eKTgL+tdDQvMm/1CpZQ X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 May 2020 15:32:16.0417 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8d46f7f5-b9cf-4aad-2312-08d7f752d0ff X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB3981 Subject: Re: [dpdk-dev] [PATCH v4 4/4] eal/atomic: add wrapper for c11 atomics X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" PHNuaXA+DQoNCj4gPiBTdWJqZWN0OiBSRTogW1BBVENIIHY0IDQvNF0gZWFsL2F0b21pYzogYWRk IHdyYXBwZXIgZm9yIGMxMSBhdG9taWNzDQo+ID4NCj4gPiA+IEZyb206IFBoaWwgWWFuZyBbbWFp bHRvOnBoaWwueWFuZ0Bhcm0uY29tXQ0KPiA+ID4gU2VudDogVHVlc2RheSwgTWF5IDEyLCAyMDIw IDEwOjAzIEFNDQo+ID4gPg0KPiA+ID4gV3JhcHMgdXAgY29tcGlsZXIgYzExIGF0b21pYyBidWls dC1pbnMgd2l0aCBleHBsaWNpdCBtZW1vcnkgb3JkZXJpbmcNCj4gPiA+IHBhcmFtZXRlci4NCj4g PiA+DQo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBQaGlsIFlhbmcgPHBoaWwueWFuZ0Bhcm0uY29tPg0K PiA+ID4gLS0tDQo+ID4gPiAgbGliL2xpYnJ0ZV9lYWwvaW5jbHVkZS9nZW5lcmljL3J0ZV9hdG9t aWNfYzExLmggfCAxMzkNCj4gPiA+ICsrKysrKysrKysrKysrKysrKysrKysrKw0KPiA+ID4gIGxp Yi9saWJydGVfZWFsL2luY2x1ZGUvbWVzb24uYnVpbGQgICAgICAgICAgICAgIHwgICAxICsNCj4g PiA+ICAyIGZpbGVzIGNoYW5nZWQsIDE0MCBpbnNlcnRpb25zKCspDQo+ID4gPiAgY3JlYXRlIG1v ZGUgMTAwNjQ0IGxpYi9saWJydGVfZWFsL2luY2x1ZGUvZ2VuZXJpYy9ydGVfYXRvbWljX2MxMS5o DQo+ID4gPg0KPiA+ID4gZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfZWFsL2luY2x1ZGUvZ2VuZXJp Yy9ydGVfYXRvbWljX2MxMS5oDQo+ID4gPiBiL2xpYi9saWJydGVfZWFsL2luY2x1ZGUvZ2VuZXJp Yy9ydGVfYXRvbWljX2MxMS5oDQo+ID4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+ID4gaW5k ZXggMDAwMDAwMC4uMjA0OTBmNA0KPiA+ID4gLS0tIC9kZXYvbnVsbA0KPiA+ID4gKysrIGIvbGli L2xpYnJ0ZV9lYWwvaW5jbHVkZS9nZW5lcmljL3J0ZV9hdG9taWNfYzExLmgNCj4gPiA+IEBAIC0w LDAgKzEsMTM5IEBADQo+ID4gPiArLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNs YXVzZQ0KPiA+ID4gKyAqIENvcHlyaWdodChjKSAyMDIwIEFybSBMaW1pdGVkDQo+ID4gPiArICov DQo+ID4gPiArDQo+ID4gPiArI2lmbmRlZiBfUlRFX0FUT01JQ19DMTFfSF8NCj4gPiA+ICsjZGVm aW5lIF9SVEVfQVRPTUlDX0MxMV9IXw0KPiA+ID4gKw0KPiA+ID4gKyNpbmNsdWRlIDxydGVfY29t bW9uLmg+DQo+ID4gPiArDQo+ID4gPiArLyoqDQo+ID4gPiArICogQGZpbGUNCj4gPiA+ICsgKiBj MTEgYXRvbWljIG9wZXJhdGlvbnMNCj4gPiA+ICsgKg0KPiA+ID4gKyAqIFRoaXMgZmlsZSB3cmFw cyB1cCBjb21waWxlciAoR0NDKSBjMTEgYXRvbWljIGJ1aWx0LWlucy4NCj4gPiA+ICsgKg0KPiA+ ID4gK2h0dHBzOi8vZ2NjLmdudS5vcmcvb25saW5lZG9jcy9nY2MvXzAwNWZfMDA1ZmF0b21pYy1C dWlsdGlucy5odG1sDQo+ID4gPiArICovDQo+ID4gPiArDQo+ID4gPiArI2RlZmluZSBtZW1vcnlf b3JkZXJfcmVsYXhlZCBfX0FUT01JQ19SRUxBWEVEICNkZWZpbmUNCj4gPiA+ICttZW1vcnlfb3Jk ZXJfY29uc3VtZSBfX0FUT01JQ19DT05TVU1FICNkZWZpbmUNCj4gbWVtb3J5X29yZGVyX2FjcXVp cmUNCj4gPiA+ICtfX0FUT01JQ19BQ1FVSVJFICNkZWZpbmUgbWVtb3J5X29yZGVyX3JlbGVhc2UN Cj4gX19BVE9NSUNfUkVMRUFTRQ0KPiA+ID4gKyNkZWZpbmUgbWVtb3J5X29yZGVyX2FjcV9yZWwg X19BVE9NSUNfQUNRX1JFTCAjZGVmaW5lDQo+ID4gPiArbWVtb3J5X29yZGVyX3NlcV9jc3QgX19B VE9NSUNfU0VRX0NTVA0KPiA+DQo+ID4gV2h5IHJlZGVmaW5lIHRoZXNlIGluc3RlYWQgb2YgdXNp bmcgdGhlIG9yaWdpbmFsIG5hbWVzPw0KPiA+DQo+ID4gSWYgd2UgbmVlZCB0byByZWRlZmluZSB0 aGVtLCB0aGV5IHNob3VsZCBiZSB1cHBlciBjYXNlIGFuZCBSVEVfIHByZWZpeGVkLg0KPiANCj4g QWdyZWVkLCB3ZSBkb24ndCBuZWVkIHRvIHJlZGVmaW5lIHRoZW0uIEkgd2FzIHRyeWluZyB0byBh bGlnbiB3aXRoIHRoZQ0KPiBzdGRhdG9taWMgbGlicmFyeS4NCj4gSSB3aWxsIHJlbW92ZSB0aGVt IGluIHRoZSBuZXh0IHZlcnNpb24uDQpBZ3JlZSwgdGhpcyB3aWxsIGtlZXAgaXQgaW5saW5lIHdp dGggcnRlX2F0b21pYzEyOF9jbXBfZXhjaGFuZ2UgQVBJLg0KDQo+IA0KPiA+DQo+ID4gPiArDQo+ ID4gPiArLyogR2VuZXJpYyBhdG9taWMgbG9hZC4NCj4gPiA+ICsgKiBJdCByZXR1cm5zIHRoZSBj b250ZW50cyBvZiAqUFRSLg0KPiA+ID4gKyAqDQo+ID4gPiArICogVGhlIHZhbGlkIG1lbW9yeSBv cmRlciB2YXJpYW50cyBhcmU6DQo+ID4gPiArICogbWVtb3J5X29yZGVyX3JlbGF4ZWQNCj4gPiA+ ICsgKiBtZW1vcnlfb3JkZXJfY29uc3VtZQ0KPiA+ID4gKyAqIG1lbW9yeV9vcmRlcl9hY3F1aXJl DQo+ID4gPiArICogbWVtb3J5X29yZGVyX3NlcV9jc3QNCj4gPiA+ICsgKi8NCj4gPiA+ICsjZGVm aW5lIHJ0ZV9hdG9taWNfbG9hZChQVFIsIE1PKVwNCj4gPiA+ICsoX19leHRlbnNpb25fXyAoe1wN Cj4gPiA+ICt0eXBlb2YoUFRSKSBfcHRyID0gKFBUUik7XA0KPiA+ID4gK3R5cGVvZigqX3B0cikg X3JldDtcDQo+ID4gPiArX19hdG9taWNfbG9hZChfcHRyLCAmX3JldCwgKE1PKSk7XA0KPiA+ID4g K19yZXQ7XA0KPiA+ID4gK30pKQ0KPiA+ID4gKw0KPiA+ID4gKy8qIEdlbmVyaWMgYXRvbWljIHN0 b3JlLg0KPiA+ID4gKyAqIEl0IHN0b3JlcyB0aGUgdmFsdWUgb2YgVkFMIGludG8gKlBUUi4NCj4g PiA+ICsgKg0KPiA+ID4gKyAqIFRoZSB2YWxpZCBtZW1vcnkgb3JkZXIgdmFyaWFudHMgYXJlOg0K PiA+ID4gKyAqIG1lbW9yeV9vcmRlcl9yZWxheGVkDQo+ID4gPiArICogbWVtb3J5X29yZGVyX3Jl bGVhc2UNCj4gPiA+ICsgKiBtZW1vcnlfb3JkZXJfc2VxX2NzdA0KPiA+ID4gKyAqLw0KPiA+ID4g KyNkZWZpbmUgcnRlX2F0b21pY19zdG9yZShQVFIsIFZBTCwgTU8pXCAoX19leHRlbnNpb25fXyAo e1wNCj4gPiA+ICt0eXBlb2YoUFRSKSBfcHRyID0gKFBUUik7XA0KPiA+ID4gK3R5cGVvZigqX3B0 cikgX3ZhbCA9IChWQUwpO1wNCj4gPiA+ICtfX2F0b21pY19zdG9yZShfcHRyLCAmX3ZhbCwgKE1P KSk7XA0KPiA+ID4gK30pKQ0KPiA+ID4gKw0KPiA+ID4gKy8qIEdlbmVyaWMgYXRvbWljIGV4Y2hh bmdlLg0KPiA+ID4gKyAqIEl0IHN0b3JlcyB0aGUgdmFsdWUgb2YgVkFMIGludG8gKlBUUi4NCj4g PiA+ICsgKiBJdCByZXR1cm5zIHRoZSBvcmlnaW5hbCB2YWx1ZSBvZiAqUFRSLg0KPiA+ID4gKyAq DQo+ID4gPiArICogVGhlIHZhbGlkIG1lbW9yeSBvcmRlciB2YXJpYW50cyBhcmU6DQo+ID4gPiAr ICogbWVtb3J5X29yZGVyX3JlbGF4ZWQNCj4gPiA+ICsgKiBtZW1vcnlfb3JkZXJfYWNxdWlyZQ0K PiA+ID4gKyAqIG1lbW9yeV9vcmRlcl9yZWxlYXNlDQo+ID4gPiArICogbWVtb3J5X29yZGVyX2Fj cV9yZWwNCj4gPiA+ICsgKiBtZW1vcnlfb3JkZXJfc2VxX2NzdA0KPiA+ID4gKyAqLw0KPiA+ID4g KyNkZWZpbmUgcnRlX2F0b21pY19leGNoYW5nZShQVFIsIFZBTCwgTU8pXCAoX19leHRlbnNpb25f XyAoe1wNCj4gPiA+ICt0eXBlb2YoUFRSKSBfcHRyID0gKFBUUik7XA0KPiA+ID4gK3R5cGVvZigq X3B0cikgX3ZhbCA9IChWQUwpO1wNCj4gPiA+ICt0eXBlb2YoKl9wdHIpIF9yZXQ7XA0KPiA+ID4g K19fYXRvbWljX2V4Y2hhbmdlKF9wdHIsICZfdmFsLCAmX3JldCwgKE1PKSk7XCBfcmV0O1wNCj4g PiA+ICt9KSkNCj4gPiA+ICsNCj4gPiA+ICsvKiBHZW5lcmljIGF0b21pYyBjb21wYXJlIGFuZCBl eGNoYW5nZS4NCj4gPiA+ICsgKiBJdCBjb21wYXJlcyB0aGUgY29udGVudHMgb2YgKlBUUiB3aXRo IHRoZSBjb250ZW50cyBvZiAqRVhQLg0KPiA+ID4gKyAqIElmIGVxdWFsLCB0aGUgb3BlcmF0aW9u IGlzIGEgcmVhZC1tb2RpZnktd3JpdGUgb3BlcmF0aW9uIHRoYXQNCj4gPiA+ICsgKiB3cml0ZXMg REVTIGludG8gKlBUUi4NCj4gPiA+ICsgKiBJZiB0aGV5IGFyZSBub3QgZXF1YWwsIHRoZSBvcGVy YXRpb24gaXMgYSByZWFkIGFuZCB0aGUgY3VycmVudA0KPiA+ID4gKyAqIGNvbnRlbnRzIG9mICpQ VFIgYXJlIHdyaXR0ZW4gaW50byAqRVhQLg0KPiA+ID4gKyAqDQo+ID4gPiArICogVGhlIHdlYWsg Y29tcGFyZV9leGNoYW5nZSBtYXkgZmFpbCBzcHVyaW91c2x5IGFuZCB0aGUgc3Ryb25nDQo+ID4g PiArICogdmFyaWF0aW9uIHdpbGwgbmV2ZXIgZmFpbHMgc3B1cmlvdXNseS4NCj4gPg0KPiA+ICJ3 aWxsIG5ldmVyIGZhaWxzIHNwdXJpb3VzbHkiIC0+ICJ3aWxsIG5ldmVyIGZhaWwiIC8gIm5ldmVy IGZhaWxzIi4NCj4gDQo+IFRoYW5rcywgSSB3aWxsIGZpeCBpdCBpbiB0aGUgbmV4dCB2ZXJzaW9u Lg0KPiANCj4gPg0KPiA+IEFuZCBJIHN1Z2dlc3QgdGhhdCB5b3UgZWxhYm9yYXRlIHdoYXQgImZh aWwiIG1lYW5zIGhlcmUsIGkuZS4gd2hhdA0KPiA+IGV4YWN0bHkgY2FuIGhhcHBlbiB3aGVuIGl0 IGZhaWxzLg0KPiANCj4gWWVzLiBUaGF0IHdvdWxkIGJlIGJldHRlci4gSSB3aWxsIHVwZGF0ZSBp dCBpbiB0aGUgbmV3IHZlcnNpb24uDQo+IEZhaWwgc3B1cmlvdXNseSBtZWFucyB0aGUgY29tcGFy ZSBleGNoYW5nZSBvcGVyYXRpb24gYWN0cyBhcyAqUFRSICE9ICpFWFANCj4gYW5kIHJldHVybiBm YWxzZSBldmVuIGlmIHRoZXkgYXJlIGVxdWFsLg0KPiANCj4gPg0KPiA+ID4gKyAqDQo+ID4gPiAr ICogSWYgREVTIGlzIHdyaXR0ZW4gaW50byAqUFRSIHRoZW4gdHJ1ZSBpcyByZXR1cm5lZCBhbmQg bWVtb3J5IGlzDQo+ID4gPiArICogYWZmZWN0ZWQgYWNjb3JkaW5nIHRvIHRoZSBtZW1vcnkgb3Jk ZXIgc3BlY2lmaWVkIGJ5IFNVQ19NTy4NCj4gPiA+ICsgKiBUaGVyZSBhcmUgbm8gcmVzdHJpY3Rp b25zIG9uIHdoYXQgbWVtb3J5IG9yZGVyIGNhbiBiZSB1c2VkIGhlcmUuDQo+ID4gPiArICoNCj4g PiA+ICsgKiBPdGhlcndpc2UsIGZhbHNlIGlzIHJldHVybmVkIGFuZCBtZW1vcnkgaXMgYWZmZWN0 ZWQgYWNjb3JkaW5nIHRvDQo+ID4gPiArICogRkFJTF9NTy4gVGhpcyBtZW1vcnkgb3JkZXIgY2Fu bm90IGJlIG1lbW9yeV9vcmRlcl9yZWxlYXNlIG5vcg0KPiA+ID4gKyAqIG1lbW9yeV9vcmRlcl9h Y3FfcmVsLiBJdCBhbHNvIGNhbm5vdCBiZSBhIHN0cm9uZ2VyIG9yZGVyIHRoYW4NCj4gPiA+ICt0 aGF0DQo+ID4gPiArICogc3BlY2lmaWVkIGJ5IFNVQ19NTy4NCj4gPiA+ICsgKi8NCj4gPiA+ICsj ZGVmaW5lIHJ0ZV9hdG9taWNfY29tcGFyZV9leGNoYW5nZV93ZWFrKFBUUiwgRVhQLCBERVMsIFNV Q19NTywNCj4gPiA+IEZBSUxfTU8pICAgIFwNCj4gPiA+ICsoX19leHRlbnNpb25fXyAoeyAgICBc DQo+ID4gPiArdHlwZW9mKFBUUikgX3B0ciA9IChQVFIpOyAgICBcDQo+ID4gPiArdHlwZW9mKCpf cHRyKSBfZGVzID0gKERFUyk7ICAgIFwNCj4gPiA+ICtfX2F0b21pY19jb21wYXJlX2V4Y2hhbmdl KF9wdHIsIChFWFApLCAmX2RlcywgMSwgICAgXA0KPiA+ID4gKyAoU1VDX01PKSwgKEZBSUxfTU8p KTsNCj4gPiAgICAgXA0KPiA+ID4gK30pKQ0KPiA+ID4gKw0KPiA+ID4gKyNkZWZpbmUgcnRlX2F0 b21pY19jb21wYXJlX2V4Y2hhbmdlX3N0cm9uZyhQVFIsIEVYUCwgREVTLCBTVUNfTU8sDQo+ID4g PiBGQUlMX01PKSAgXA0KPiA+ID4gKyhfX2V4dGVuc2lvbl9fICh7ICAgIFwNCj4gPiA+ICt0eXBl b2YoUFRSKSBfcHRyID0gKFBUUik7ICAgIFwNCj4gPiA+ICt0eXBlb2YoKl9wdHIpIF9kZXMgPSAo REVTKTsgICAgXA0KPiA+ID4gK19fYXRvbWljX2NvbXBhcmVfZXhjaGFuZ2UoX3B0ciwgKEVYUCks ICZfZGVzLCAwLCAgICBcDQo+ID4gPiArIChTVUNfTU8pLCAoRkFJTF9NTykpOw0KPiA+ICAgICBc DQo+ID4gPiArfSkpDQo+ID4gPiArDQo+ID4gPiArI2RlZmluZSBydGVfYXRvbWljX2ZldGNoX2Fk ZChQVFIsIFZBTCwgTU8pXA0KPiA+ID4gK19fYXRvbWljX2ZldGNoX2FkZCgoUFRSKSwgKFZBTCks IChNTykpICNkZWZpbmUNCj4gPiA+ICtydGVfYXRvbWljX2ZldGNoX3N1YihQVFIsIFZBTCwgTU8p XCBfX2F0b21pY19mZXRjaF9zdWIoKFBUUiksDQo+ID4gPiArKFZBTCksIChNTykpICNkZWZpbmUg cnRlX2F0b21pY19mZXRjaF9vcihQVFIsIFZBTCwgTU8pXA0KPiA+ID4gK19fYXRvbWljX2ZldGNo X29yKChQVFIpLCAoVkFMKSwgKE1PKSkgI2RlZmluZQ0KPiA+ID4gK3J0ZV9hdG9taWNfZmV0Y2hf eG9yKFBUUiwgVkFMLCBNTylcIF9fYXRvbWljX2ZldGNoX3hvcigoUFRSKSwNCj4gPiA+ICsoVkFM KSwgKE1PKSkgI2RlZmluZSBydGVfYXRvbWljX2ZldGNoX2FuZChQVFIsIFZBTCwgTU8pXA0KPiA+ ID4gK19fYXRvbWljX2ZldGNoX2FuZCgoUFRSKSwgKFZBTCksIChNTykpDQo+ID4gPiArDQo+ID4g PiArI2RlZmluZSBydGVfYXRvbWljX2FkZF9mZXRjaChQVFIsIFZBTCwgTU8pXA0KPiA+ID4gK19f YXRvbWljX2FkZF9mZXRjaCgoUFRSKSwgKFZBTCksIChNTykpICNkZWZpbmUNCj4gPiA+ICtydGVf YXRvbWljX3N1Yl9mZXRjaChQVFIsIFZBTCwgTU8pXCBfX2F0b21pY19zdWJfZmV0Y2goKFBUUiks DQo+ID4gPiArKFZBTCksIChNTykpICNkZWZpbmUgcnRlX2F0b21pY19vcl9mZXRjaChQVFIsIFZB TCwgTU8pXA0KPiA+ID4gK19fYXRvbWljX29yX2ZldGNoKChQVFIpLCAoVkFMKSwgKE1PKSkgI2Rl ZmluZQ0KPiA+ID4gK3J0ZV9hdG9taWNfeG9yX2ZldGNoKFBUUiwgVkFMLCBNTylcIF9fYXRvbWlj X3hvcl9mZXRjaCgoUFRSKSwNCj4gPiA+ICsoVkFMKSwgKE1PKSkgI2RlZmluZSBydGVfYXRvbWlj X2FuZF9mZXRjaChQVFIsIFZBTCwgTU8pXA0KPiA+ID4gK19fYXRvbWljX2FuZF9mZXRjaCgoUFRS KSwgKFZBTCksIChNTykpDQo+ID4gPiArDQo+ID4gPiArLyogU3luY2hyb25pemF0aW9uIGZlbmNl IGJldHdlZW4gdGhyZWFkcyBiYXNlZCBvbg0KPiA+ID4gKyAqIHRoZSBzcGVjaWZpZWQgbWVtb3J5 IG9yZGVyLg0KPiA+ID4gKyAqLw0KPiA+ID4gKyNkZWZpbmUgcnRlX2F0b21pY190aHJlYWRfZmVu Y2UoTU8pIF9fYXRvbWljX3RocmVhZF9mZW5jZSgoTU8pKQ0KPiA+ID4gKw0KPiA+ID4gKyNlbmRp ZiAvKiBfUlRFX0FUT01JQ19DMTFfSF8gKi8NCj4gPiA+IGRpZmYgLS1naXQgYS9saWIvbGlicnRl X2VhbC9pbmNsdWRlL21lc29uLmJ1aWxkDQo+ID4gPiBiL2xpYi9saWJydGVfZWFsL2luY2x1ZGUv bWVzb24uYnVpbGQNCj4gPiA+IGluZGV4IGJjNzNlYzIuLmRhYzFhYWMgMTAwNjQ0DQo+ID4gPiAt LS0gYS9saWIvbGlicnRlX2VhbC9pbmNsdWRlL21lc29uLmJ1aWxkDQo+ID4gPiArKysgYi9saWIv bGlicnRlX2VhbC9pbmNsdWRlL21lc29uLmJ1aWxkDQo+ID4gPiBAQCAtNTEsNiArNTEsNyBAQCBo ZWFkZXJzICs9IGZpbGVzKA0KPiA+ID4gICMgc3BlY2lhbCBjYXNlIGluc3RhbGwgdGhlIGdlbmVy aWMgaGVhZGVycywgc2luY2UgdGhleSBnbyBpbiBhDQo+ID4gPiBzdWJkaXIgIGdlbmVyaWNfaGVh ZGVycyA9IGZpbGVzKCAgJ2dlbmVyaWMvcnRlX2F0b21pYy5oJywNCj4gPiA+ICsnZ2VuZXJpYy9y dGVfYXRvbWljX2MxMS5oJywNCj4gPiA+ICAnZ2VuZXJpYy9ydGVfYnl0ZW9yZGVyLmgnLA0KPiA+ ID4gICdnZW5lcmljL3J0ZV9jcHVmbGFncy5oJywNCj4gPiA+ICAnZ2VuZXJpYy9ydGVfY3ljbGVz LmgnLA0KPiA+ID4gLS0NCj4gPiA+IDIuNy40DQo+ID4gPg0KPiA+DQo+ID4gVGh1bWJzIHVwIGZv ciB0aGUgZ29vZCBmdW5jdGlvbiBkb2N1bWVudGF0aW9uLiA6LSkNCj4gDQo+IFRoYW5rIHlvdSBm b3IgeW91ciBjb21tZW50cy4NCj4gDQo+IFRoYW5rcywNCj4gUGhpbA0KPiANCj4gPg0KPiA+DQo+ ID4gTWVkIHZlbmxpZyBoaWxzZW4gLyBraW5kIHJlZ2FyZHMNCj4gPiAtIE1vcnRlbiBCcsO4cnVw DQo+ID4NCj4gPg0KPiANCg0K