From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by sourceware.org (Postfix) with ESMTPS id 47C8F385743B for ; Thu, 12 Aug 2021 19:24:22 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 47C8F385743B Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 17CJFZoV020096; Thu, 12 Aug 2021 19:24:21 GMT Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by mx0b-00069f02.pphosted.com with ESMTP id 3acb7a472y-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 12 Aug 2021 19:24:21 +0000 Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 17CJGWru179009; Thu, 12 Aug 2021 19:24:20 GMT Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2176.outbound.protection.outlook.com [104.47.58.176]) by aserp3020.oracle.com with ESMTP id 3accrcpcsm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 12 Aug 2021 19:24:20 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OmmCQ/DTgddjOXE7Ti0a54X+VgudiE6hLhF7T3+Pmb9LnLk7AXzqzrnjKuqrrPO5GuA5visqj8OqSs2bSmdHsFyK3S7mBBfRrc+lDEzN0wmyT7XrfKNiPTTmfzraFYTeuO9qQY7Eh18ZBrQmGg3ogPt6MPSkz5wLwpBMbCdLMGdsT3xrM4nl+D2YyxOSfjeX/PJQE8SFW7O1Sj//Cxp5hFAl5EsRHutI8q+ggaB/j12M1zI3uavoHdh3E8YF+wZqveKdOc2IZC0uILP2m1AXX1RzvVYaa/ByNsRb0ysdumUW6KNotrBIGxKhsBPuEUbJUmy3IoOh5DYiE+8YPTkzpA== 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=XqIbTpE0YkqEiE/Y9TQEbjybPoGRRi/3l1mzCLWBYRg=; b=h2Slx9ZYq2M28WDdsLi6LoA5e52rUA69wtAVn4C36ikSFODemkLW2KQoz91qQpgCum5md772AJy4BhNaBC0xAMw3Um38IJgplzZEsNn98umngvlNOogYScgx8E+4ivBMaPRrK1IdlU7ZsOeMGjUv7TWZTdt5Sli3+uJOjqc9DWTlvSFWO1coAzyTFHN+k9VQjcpkJhaOEkIsDTJ2VdVLBX3uUUnljs18IvbdJJLAONNX6VCypDFvKCIEzxqBl7Y5L9OXF0zWX+Zaxi6wc300ZzFJIbi+XLZ02zOCgAM6PMthZwsG4ffClb90TqunA3mT3iSOzCSoLUO3yOXjhJ/YBQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none Received: from CH2PR10MB4344.namprd10.prod.outlook.com (2603:10b6:610:af::19) by CH0PR10MB4857.namprd10.prod.outlook.com (2603:10b6:610:c2::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.20; Thu, 12 Aug 2021 19:24:18 +0000 Received: from CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::f463:6b71:2491:d547]) by CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::f463:6b71:2491:d547%9]) with mapi id 15.20.4415.018; Thu, 12 Aug 2021 19:24:18 +0000 From: Qing Zhao To: Richard Biener CC: Martin Jambor , Jakub Jelinek , Kees Cook , Nick Alcock via Gcc-patches , Richard Biener Subject: Re: [patch][version 6] add -ftrivial-auto-var-init and variable attribute "uninitialized" to gcc Thread-Topic: [patch][version 6] add -ftrivial-auto-var-init and variable attribute "uninitialized" to gcc Thread-Index: AQHXgpcfj6SO0Rka1UmU0GU91mFncqtrSzIAgAUO6IA= Date: Thu, 12 Aug 2021 19:24:18 +0000 Message-ID: <517EA40B-9500-4090-8F03-B4A9CECC62F8@oracle.com> References: <52E29277-1403-4755-901A-528116C43FB8@oracle.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3608.120.23.2.7) x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: bc99399b-55ea-4e40-0f34-08d95dc6c7df x-ms-traffictypediagnostic: CH0PR10MB4857: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:1002; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: jII+rq34TuNSOGuOSGOFdLPtKbHpfN6hUyWXtkBGbS9TTDTPXUTX4FYLQzMoJcFm1+mNTuoFzd5hMsdjsYHh5oMZM9FsZA6uyeVB4UEdzQWrWaNHg5PJBck4ApSuj/j//dOD1YXdEAOkt4xBN3bbfvKIgASdFkO4Rmb17la8yawiVNFw+JhV8rs5NonnqYFN9+LW9qhOf8louS1mB9aCNQix3wzgXDhqYVePtPNDFgc/P4KFMcwING4bRdR5NuTs5vlFZRza/oc9Vv++vdviqoGYU8r1D4ql3tHSw9YkVkPA1dGw9X9epcFoyXak7VrQlg+7vxynFiJ3Oq20/xeeZUBhmMkxhNR3ZIdR6Jzq682Vp82QSqVx3pm+53AwH3S5AeFddXm4yrbK+Fg+//986BWj15i9f7dytZVEU+MeHUcPsUUhysiCW8odRk11aqHcUTzgM8KRFjMuL4AhhEY8asM/49J0bmZX054QMQMzHW9ksk28nASD6H8v+QoorhEPTtN9VordZ/7PjWD4YDUvakTaXrX8Lf6COIvtmoT2bEnsSCFywJ6x4VvT+2smFecBt6lFeAOYE6188ZAD9nNripxAY0SlZrEJRQUrctVjE0ntT8PP/AZQ+3vaBoXD2x6J0MOhBMZEAcKMeYfysT1F/76Bxg7y9wuRQLTJn2fjpZMNeP5E+Cn8dp9pf3VwMkuqiuXu/QkHEAxoFIFLRzlSVtLNhIHpt7Y80opsVvO7yZ0M5NxsLlcKm0phbq1B/y46nJ2hGpxOqhE9dv7BA5ZM2Q== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH2PR10MB4344.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(53546011)(8676002)(38100700002)(5660300002)(83380400001)(122000001)(66476007)(64756008)(66556008)(66446008)(6506007)(86362001)(76116006)(38070700005)(8936002)(91956017)(54906003)(508600001)(6916009)(6486002)(2906002)(2616005)(4326008)(26005)(44832011)(71200400001)(316002)(186003)(6512007)(66946007)(36756003)(33656002)(45980500001)(266184004); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NmN1RkRoSUx1N1JDR01LMGJ5NDdWQWt1cVBjZnNVcXMxbWl0bW1nUEp0MVFl?= =?utf-8?B?K2dRT3BWTU4yenFsN2ZOei81RFhaL3JRUVJpU2hBd1FzYzAySEQyU2RoTmt1?= =?utf-8?B?K0FodzVPRWtKbG9VN1NXeXZSbTc3M01hTnR6R1pVeXI2YXJKQndld0lscU9J?= =?utf-8?B?YmpVbG9mTk1ISDJnRDJsazFVMlphSDJ5V3Y5SW44d2ZaSE1RcXIyeldiWUVX?= =?utf-8?B?TmpwRm9HYjdIU0kxanZrM29mL09ieTMydWhGZ2VtMzVqNWlNNWFNQ3p6Z0pM?= =?utf-8?B?alZqeTJtTXBRNGxsK0NTNVJtSjM1WmJhSC9kQkNNK3JieWN0NjlGenQzb3Bv?= =?utf-8?B?d041RFc3cDJ2cGlTaWhnWi9VK0NvM2xCZURuY0Q1MzJheHlDSmExTG1vV0J0?= =?utf-8?B?eFdUUXJRTTBsU2xER2ZjRHgvY3cvd3BSOEZHcEE4Qnh3eUF5YjdGOXc1aG92?= =?utf-8?B?OFRRdG8rVkxkUW9RcDhoWU1NVEVJcjhFbW5lS3JzT2FWTGVGQTdwUWcwTzRF?= =?utf-8?B?c3Nhck1QbU9oY3Q5amdSSFlOMjZTNVBGVHZzRFdnb2cvdVA0SFBNSzhoOGRk?= =?utf-8?B?dU82SSsvOXUyUklOcjdCZjlNWWFTQ0Q1S0ZQT0VsRGFUTXRkYVIrSVJxMVhR?= =?utf-8?B?YUZoeGdON3c1dnJMRmZ6UGEyRlFza1BUbVoxMWZqVjFYL1dGT1BRbHRBQTEw?= =?utf-8?B?L1RJYkhiUy9ucEo0KzgxVDhsckZNUFFlNDhETVlJN3gwWTM2Vlg2eWZIVmtN?= =?utf-8?B?eEVrSTJmMkcyL2gwVXdFa1V2ZlBiMG9PSUo4a3YxMWxWZURrNlRSSGNEdG5t?= =?utf-8?B?T0Y3RStGSDcya1doSmtDdHNsSGVEUjZPY2V5WkxOVHlNeGQwYlkvaTFGMG91?= =?utf-8?B?NGljUDUyR1M1aU5HSHRTaW5UY0dQWUJWcGlUWGgyckdYeHZnSWhGUzBrZDhn?= =?utf-8?B?bVpJZnhaWG1sY3pXQ1RwMmxSREFKTy9jNTFCNjBXeGNhSTBLaFNZc3pkSlM0?= =?utf-8?B?WWU0d281L3NLVG1GMUluTkVDcWdzU05rUlhsbmdqbjdLRG5adEtrSG9VdTZX?= =?utf-8?B?MnZhZitMenNLN2NOZmtYaFcwbGtrMmozSysxbnBxbzMraXNBcEhMOEpEZzdG?= =?utf-8?B?ZGdHaDUzdWtJQUZuTzJXRmlvcy9QOVl3citVblR6TEtJanBMc0FBWFAzcmxp?= =?utf-8?B?eHJaRFhuZkRHZUFoSitKbHpudTNjZmlreHZydGQ5Vzhkd3lFdlk4WFlaZ3dD?= =?utf-8?B?L0xSamRncjlsbHk5RmxZMVZjSVdEcGJtTVJteExYM0txSHpOditTWW5XQ3dC?= =?utf-8?B?UU9INzZEWndMWU1EUVVhNUFvcnBJR2dDU3djeUQycWJlaEVBeHMxZWdMV094?= =?utf-8?B?enlLMFBpa0RWVUl6eXNDQWtEaFIzL3o5WTliTDFEdm8wNDFtNXlJVGNDVzdP?= =?utf-8?B?aGRaNUhCc1pDdWp2OXBVSUYyZUppZlQ5RjlSb3VuWVdLY3lKSFpta21yNXRB?= =?utf-8?B?QktLbnc0TFB0VTZUZUNJZW1BUkNxNmtVRlA4a3dOZ3NCb3lSbmlzNnB4WUlU?= =?utf-8?B?OGZxM09hZnlQK1FFeUNEYWpOdldDbFNuY3VVUHNyQUlJanp5aExFSVArNXM0?= =?utf-8?B?ZEs4SkFJbE56a2l1d0x2V1JXMkJSeDE3SllDdjBTTlVkd01VUzlhL1BOVHFp?= =?utf-8?B?WUNWRkNFREJhVmxyZ29SeWxDaVNHd1dBZThjZHZXQmxiUm1XZEw2aStZc1hV?= =?utf-8?Q?ZtpXZqqfKO/m7VDnXTBsmzNWb9gAdxmVqWFGiHq?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH2PR10MB4344.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: bc99399b-55ea-4e40-0f34-08d95dc6c7df X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Aug 2021 19:24:18.7370 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: pgvnts/4Kh5u4TCVIny5N61QlFiYHqJ+VbdEwTj39IM9pgsvevXw1FT2DNzeu7FylQIqkyP6OBs9AtR11d8Eeg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB4857 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=10074 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 mlxlogscore=999 malwarescore=0 adultscore=0 spamscore=0 bulkscore=0 mlxscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2107140000 definitions=main-2108120126 X-Proofpoint-GUID: _xcaWDdhJCirfrts3SWVt1pzhaEXDW6x X-Proofpoint-ORIG-GUID: _xcaWDdhJCirfrts3SWVt1pzhaEXDW6x X-Spam-Status: No, score=-4.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_BL, RCVD_IN_MSPIKE_L3, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Aug 2021 19:24:33 -0000 SGksIFJpY2hhcmQsDQoNCkZvciBSVEwgZXhwYW5zaW9uIG9mIGNhbGwgdG8gLkRFRkVSUkVEX0lO SVQsIEkgY2hhbmdlZCBteSBjb2RlIHBlciB5b3VyIHN1Z2dlc3Rpb25zIGxpa2UgZm9sbG93aW5n Og0KDQo9PT09PT09PT09PT09PT09PT09PT09DQojZGVmaW5lIElOSVRfUEFUVEVSTl9WQUxVRSAg MHhGRQ0Kc3RhdGljIHZvaWQNCmV4cGFuZF9ERUZFUlJFRF9JTklUIChpbnRlcm5hbF9mbiwgZ2Nh bGwgKnN0bXQpDQp7DQogIHRyZWUgbGhzID0gZ2ltcGxlX2NhbGxfbGhzIChzdG10KTsNCiAgdHJl ZSB2YXJfc2l6ZSA9IGdpbXBsZV9jYWxsX2FyZyAoc3RtdCwgMCk7DQogIGVudW0gYXV0b19pbml0 X3R5cGUgaW5pdF90eXBlDQogICAgPSAoZW51bSBhdXRvX2luaXRfdHlwZSkgVFJFRV9JTlRfQ1NU X0xPVyAoZ2ltcGxlX2NhbGxfYXJnIChzdG10LCAxKSk7DQogIGJvb2wgaXNfdmxhID0gKGJvb2wp IFRSRUVfSU5UX0NTVF9MT1cgKGdpbXBsZV9jYWxsX2FyZyAoc3RtdCwgMikpOw0KDQogIHRyZWUg dmFyX3R5cGUgPSBUUkVFX1RZUEUgKGxocyk7DQogIGdjY19hc3NlcnQgKGluaXRfdHlwZSA+IEFV VE9fSU5JVF9VTklOSVRJQUxJWkVEKTsNCg0KICBpZiAoaXNfdmxhIHx8ICghY2FuX25hdGl2ZV9p bnRlcnByZXRfdHlwZV9wICh2YXJfdHlwZSkpKQ0KICAgIHsNCiAgICAvKiBJZiB0aGlzIGlzIGEg VkxBIG9yIHRoZSB0eXBlIG9mIHRoZSB2YXJpYWJsZSBjYW5ub3QgYmUgbmF0aXZlbHkNCiAgICAg ICBpbnRlcnByZXRlZCwgZXhwYW5kIHRvIGEgbWVtc2V0IHRvIGluaXRpYWxpemUgaXQuICAqLw0K ICAgICAgaWYgKFRSRUVfQ09ERSAobGhzKSA9PSBTU0FfTkFNRSkNCiAgICAgICAgbGhzID0gU1NB X05BTUVfVkFSIChsaHMpOw0KICAgICAgdHJlZSB2YXJfYWRkciA9IE5VTExfVFJFRTsNCiAgICAg IGlmIChpc192bGEpDQogICAgICAgIHZhcl9hZGRyID0gVFJFRV9PUEVSQU5EIChsaHMsIDApOw0K ICAgICAgZWxzZQ0KICAgICAgICB7DQogICAgICAgICBUUkVFX0FERFJFU1NBQkxFIChsaHMpID0g MTsNCiAgICAgICAgIHZhcl9hZGRyID0gYnVpbGRfZm9sZF9hZGRyX2V4cHIgKGxocyk7DQogICAg ICAgIH0NCiAgICAgIHRyZWUgdmFsdWUgPSAoaW5pdF90eXBlID09IEFVVE9fSU5JVF9QQVRURVJO KSA/DQogICAgICAgICAgICAgICAgICAgIGJ1aWxkX2ludF9jc3QgKHVuc2lnbmVkX2NoYXJfdHlw ZV9ub2RlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTklUX1BBVFRFUk5f VkFMVUUpIDoNCiAgICAgICAgICAgICAgICAgICAgYnVpbGRfemVyb19jc3QgKHVuc2lnbmVkX2No YXJfdHlwZV9ub2RlKTsNCiAgICAgIHRyZWUgbV9jYWxsID0gYnVpbGRfY2FsbF9leHByIChidWls dGluX2RlY2xfaW1wbGljaXQgKEJVSUxUX0lOX01FTVNFVCksDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgMywgdmFyX2FkZHIsIHZhbHVlLCB2YXJfc2l6ZSk7DQogICAgICAv KiBFeHBhbmQgdGhpcyBtZW1zZXQgY2FsbC4gICovDQogICAgICBleHBhbmRfYnVpbHRpbl9tZW1z ZXQgKG1fY2FsbCwgTlVMTF9SVFgsIFRZUEVfTU9ERSAodmFyX3R5cGUpKTsNCiAgICB9DQogIGVs c2UNCiAgICB7DQogICAgLyogSWYgdGhpcyBpcyBub3QgYSBWTEEgYW5kIHRoZSB0eXBlIG9mIHRo ZSB2YXJpYWJsZSBjYW4gYmUgbmF0aXZlbHkgDQogICAgICAgaW50ZXJwcmV0ZWQsIGV4cGFuZCB0 byBhc3NpZ25tZW50IHRvIGdlbmVyYXRlIGJldHRlciBjb2RlLiAgKi8NCiAgICAgIHRyZWUgcGF0 dGVybiA9IE5VTExfVFJFRTsNCiAgICAgIHVuc2lnbmVkIEhPU1RfV0lERV9JTlQgdG90YWxfYnl0 ZXMNCiAgICAgICAgPSB0cmVlX3RvX3Vod2kgKFRZUEVfU0laRV9VTklUICh2YXJfdHlwZSkpOw0K DQogICAgICBpZiAoaW5pdF90eXBlID09IEFVVE9fSU5JVF9QQVRURVJOKQ0KICAgICAgICB7DQog ICAgICAgICAgdW5zaWduZWQgY2hhciAqYnVmID0gKHVuc2lnbmVkIGNoYXIgKikgeG1hbGxvYyAo dG90YWxfYnl0ZXMpOw0KICAgICAgICAgIG1lbXNldCAoYnVmLCBJTklUX1BBVFRFUk5fVkFMVUUs IHRvdGFsX2J5dGVzKTsNCiAgICAgICAgICBwYXR0ZXJuID0gbmF0aXZlX2ludGVycHJldF9leHBy ICh2YXJfdHlwZSwgYnVmLCB0b3RhbF9ieXRlcyk7DQogICAgICAgICAgZ2NjX2Fzc2VydCAocGF0 dGVybik7DQogICAgICAgIH0NCg0KICAgICAgdHJlZSBpbml0ID0gKGluaXRfdHlwZSA9PSBBVVRP X0lOSVRfUEFUVEVSTikgPw0KICAgICAgICAgICAgICAgICAgIHBhdHRlcm4gOg0KICAgICAgICAg ICAgICAgICAgIGJ1aWxkX3plcm9fY3N0ICh2YXJfdHlwZSk7DQogICAgICBleHBhbmRfYXNzaWdu bWVudCAobGhzLCBpbml0LCBmYWxzZSk7DQogICAgfQ0KfQ0KPT09PT09PT09PT09PT09PT09PT09 PT09PT09DQoNCk5vdywgSSB1c2VkIOKAnGNhbl9uYXRpdmVfaW50ZXJwcmV0X3R5cGVfcCAodmFy X3R5cGUp4oCdIGluc3RlYWQgb2Yg4oCcdXNlX3JlZ2lzdGVyX2Zvcl9kZWNsIChsaHMp4oCdIHRv IGRlY2lkZSANCndoZXRoZXIgdG8gdXNlIOKAnG1lbXNldOKAnSBvciB1c2Ug4oCcYXNzaWdu4oCd IHRvIGV4cGFuZCB0aGlzIGZ1bmN0aW9uLg0KDQpIb3dldmVyLCB0aGlzIGV4cG9zZWQgYW4gYnVn IHRoYXQgaXMgdmVyeSBoYXJkIHRvIGJlIGFkZHJlc3NlZDoNCg0KKioqKioqKkZvciB0aGUgdGVz dGluZyBjYXNlOiB0ZXN0IHN1aXRlL2djYy5kZy91bmluaXQtSS5jOg0KDQovKiB7IGRnLWRvIGNv bXBpbGUgfSAqLw0KLyogeyBkZy1vcHRpb25zICItTzIgLVd1bmluaXRpYWxpemVkIiB9ICovDQoN CmludCBzeXNfbXNnY3RsICh2b2lkKQ0Kew0KICBzdHJ1Y3QgeyBpbnQgbW9kZTsgfSBzZXRidWY7 DQogIHJldHVybiBzZXRidWYubW9kZTsgIC8qIHsgZGctd2FybmluZyAiJ3NldGJ1ZlwubW9kZScg aXMgdXNlZCIgfSAqLw0KPT0NCg0KKioqKioqdGhlIGFib3ZlIGF1dG8gdmFyIOKAnHNldGJ1ZuKA nSBoYXMg4oCcc3RydWN04oCdIHR5cGUsIHdoaWNoIOKAnGNhbl9uYXRpdmVfaW50ZXJwcmV0X3R5 cGVfcCh2YXJfdHlwZSnigJ0gaXMgZmFsc2UsIHRoZXJlZm9yZSwgDQpFeHBhbmRpbmcgdGhpcyAu REVGRVJSRURfSU5JVCBjYWxsIHdlbnQgZG93biB0aGUg4oCcbWVtc2V04oCdIGV4cGFuc2lvbiBy b3V0ZS4gDQoNCkhvd2V2ZXIsIHRoaXMgc3RydWN0dXJlIHR5cGUgY2FuIGJlIGZpdHRlZCBpbnRv IGEgcmVnaXN0ZXIsIHRoZXJlZm9yZSBjYW5ub3QgYmUgdGFrZW4gYWRkcmVzcyBhbnltb3JlIGF0 IHRoaXMgc3RhZ2UsIGV2ZW4gdGhvdWdoIEkgdHJpZWQ6DQoNCiAgICAgICAgIFRSRUVfQUREUkVT U0FCTEUgKGxocykgPSAxOw0KICAgICAgICAgdmFyX2FkZHIgPSBidWlsZF9mb2xkX2FkZHJfZXhw ciAobGhzKTsNCg0KVG8gY3JlYXRlIGFuIGFkZHJlc3MgdmFyaWFibGUgZm9yIGl0LCB0aGUgZXhw YW5zaW9uIHN0aWxsIGZhaWxlZCBhdCBleHByLmM6IGxpbmUgODQxMjoNCmR1cmluZyBSVEwgcGFz czogZXhwYW5kDQovaG9tZS9vcGMvV29yay9HQ0MvbGF0ZXN0LWdjYy9nY2MvdGVzdHN1aXRlL2dj Yy5kZy9hdXRvLWluaXQtdW5pbml0LUkuYzo2OjI0OiBpbnRlcm5hbCBjb21waWxlciBlcnJvcjog aW4gZXhwYW5kX2V4cHJfYWRkcl9leHByXzEsIGF0IGV4cHIuYzo4NDEyDQoweGQwNDEwNCBleHBh bmRfZXhwcl9hZGRyX2V4cHJfMQ0KCS4uLy4uL2xhdGVzdC1nY2MvZ2NjL2V4cHIuYzo4NDEyDQow eGQwNGE5NSBleHBhbmRfZXhwcl9hZGRyX2V4cHINCgkuLi8uLi9sYXRlc3QtZ2NjL2djYy9leHBy LmM6ODUyNQ0KMHhkMTM1OTIgZXhwYW5kX2V4cHJfcmVhbF8xKHRyZWVfbm9kZSosIHJ0eF9kZWYq LCBtYWNoaW5lX21vZGUsIGV4cGFuZF9tb2RpZmllciwgcnR4X2RlZioqLCBib29sKQ0KCS4uLy4u L2xhdGVzdC1nY2MvZ2NjL2V4cHIuYzoxMTc0MQ0KMHhkMDUxNDIgZXhwYW5kX2V4cHJfcmVhbCh0 cmVlX25vZGUqLCBydHhfZGVmKiwgbWFjaGluZV9tb2RlLCBleHBhbmRfbW9kaWZpZXIsIHJ0eF9k ZWYqKiwgYm9vbCkNCgkuLi8uLi9sYXRlc3QtZ2NjL2djYy9leHByLmM6ODcxMw0KMHhhZWQxZDMg ZXhwYW5kX2V4cHINCgkuLi8uLi9sYXRlc3QtZ2NjL2djYy9leHByLmg6MzAxDQoweGFmMGQ4OSBn ZXRfbWVtb3J5X3J0eA0KCS4uLy4uL2xhdGVzdC1nY2MvZ2NjL2J1aWx0aW5zLmM6MTM3MA0KMHhh ZmI0ZmIgZXhwYW5kX2J1aWx0aW5fbWVtc2V0X2FyZ3MNCgkuLi8uLi9sYXRlc3QtZ2NjL2djYy9i dWlsdGlucy5jOjQxMDINCjB4YWZhY2RlIGV4cGFuZF9idWlsdGluX21lbXNldCh0cmVlX25vZGUq LCBydHhfZGVmKiwgbWFjaGluZV9tb2RlKQ0KCS4uLy4uL2xhdGVzdC1nY2MvZ2NjL2J1aWx0aW5z LmM6Mzg4Ng0KMHhlOTdmYjMgZXhwYW5kX0RFRkVSUkVEX0lOSVQNCg0KKioqKioqVGhhdOKAmXMg dGhlIG1ham9yIHJlYXNvbiB3aHkgSSBjaG9zZSDigJx1c2VfcmVnaXN0ZXJfZm9yX2RlY2wobGhz KeKAnSB0byBkZWNpZGUg4oCcbWVtc2V04oCdIGV4cGFuc2lvbiBvciDigJxhc3NpZ27igJ0gZXhw YW5zaW9uLCDigJxtZW1zZXTigJ0gZXhwYW5zaW9uDQpuZWVkcyB0byB0YWtlIGFkZHJlc3Mgb2Yg dGhlIHZhcmlhYmxlLCBpZiB0aGUgdmFyaWFibGUgaGFzIGJlZW4gZGVjaWRlZCB0byBmaXQgaW50 byBhIHJlZ2lzdGVyLCB0aGVuIGl0cyBhZGRyZXNzIGNhbm5vdCB0YWtlbiBhbnltb3JlIGF0IHRo aXMgc3RhZ2UuDQoNCioqKioqKnVzaW5nIOKAnGNhbl9uYXRpdmVfaW50ZXJwcmV0X3R5cGVfcOKA nSBkaWQgbWFrZSB0aGUg4oCccGF0dGVybuKAnSBnZW5lcmF0aW9uIHBhcnQgbXVjaCAgY2xlYW5l ciBhbmQgc2ltcGxlciwgaG93ZXZlciwgbG9va3MgbGlrZSBpdCBkaWRu4oCZdCB3b3JrIGNvcnJl Y3RseS4NCg0KQmFzZWQgb24gdGhpcywgSeKAmWQgbGlrZSB0byBrZWVwIG15IHByZXZpb3VzIGlt cGxlbWVudGF0aW9uIGJ5IHVzaW5nIOKAnHVzZV9yZWdpc3Rlcl9mb3JfZGVjbOKAnSB0byBkZWNp ZGUgd2hldGhlciB0byB0YWtlIOKAnG1lbXNldOKAnSBleHBhbnNpb24gb3Ig4oCcYXNzaWdu4oCd IGV4cGFuc2lvbi4NClRoZXJlZm9yZSwgSSBtaWdodCBzdGlsbCBuZWVkIHRvIGtlZXAgdGhlIOKA nFVHTFnigJ0gIGltcGxlbWVudGF0aW9uIG9mIGdlbmVyYXR0aW5nIOKAnHBhdHRlcm7igJ0gY29u c3RhbnQgZm9yIGRpZmZlcmVudCB0eXBlcz8NCg0KTGV0IG1lIGtub3cgeW91ciBvcGluaW9uIG9u IHRoaXMuDQoNClRoYW5rcyBhIGxvdCBmb3IgdGhlIGhlbHAuDQoNClFpbmcNCg0KDQo+IE9uIEF1 ZyA5LCAyMDIxLCBhdCA5OjA5IEFNLCBSaWNoYXJkIEJpZW5lciA8cmd1ZW50aGVyQHN1c2UuZGU+ IHdyb3RlOg0KPiANCj4gT24gVHVlLCAyNyBKdWwgMjAyMSwgUWluZyBaaGFvIHdyb3RlOg0KPiAN Cj4gKyAgICAgICAgY3JlYXRlZCBkdXJpbmcgZ2ltcGxpZmljYXRpb24gcGhhc2UuICBSZWZlciB0 byBnaW1wbGlmeV92bGFfZGVjbA0KPiArICAgICAgICBmb3IgZGV0YWlscy4gICovDQo+ICsgICAg ICB0cmVlIHZhcl9kZWNsID0gKFRSRUVfQ09ERSAodmFyKSA9PSBTU0FfTkFNRSkgPw0KPiArICAg ICAgICAgICAgICAgICAgICAgIFNTQV9OQU1FX1ZBUiAodmFyKSA6IHZhcjsNCj4gKyAgICAgIGdj Y19hc3NlcnQgKERFQ0xfSEFTX1ZBTFVFX0VYUFJfUCAodmFyX2RlY2wpKTsNCj4gKyAgICAgIGdj Y19hc3NlcnQgKFRSRUVfQ09ERSAoREVDTF9WQUxVRV9FWFBSICh2YXJfZGVjbCkpID09IA0KPiBJ TkRJUkVDVF9SRUYpOw0KPiArICAgICAgLyogR2V0IHRoZSBhZGRyZXNzIG9mIHRoaXMgdmxhIHZh cmlhYmxlLiAgKi8NCj4gKyAgICAgIHZsYWFkZHIgPSBUUkVFX09QRVJBTkQgKERFQ0xfVkFMVUVf RVhQUiAodmFyX2RlY2wpLCAwKTsNCj4gDQo+IGVyciAtIGlzbid0IHRoZSBhZGRyZXNzIG9mIHRo ZSBkZWNsIHJlcHJlc2VudGVkIGJ5IHRoZSBMSFMgDQo+IHJlZ2FyZGxlc3Mgd2hldGhlciB0aGlz IGlzIGEgVkxBIG9yIG5vdD8gIExvb2tpbmcgYXQgREVDTF9WQUxVRV9FWFBSDQo+IGxvb2tzIHF1 aXRlIGZyYWdpbGUgc2luY2UgdGhhdCdzIG5vdCBzdGggZGF0YSBkZXBlbmRlbmNlIGhvbm9ycy4N Cj4gSXQgbG9va3MgeW91IG9ubHkgcGFydGx5IGdpbXBsaWZ5IHRoZSBidWlsZCBpbml0IGhlcmU/ ICBBbGwNCj4gREVDTF9WQUxVRV9FWFBScyBzaG91bGQgaGF2ZSBiZWVuIHJlc29sdmVkLg0KPiAN Cj4gKyAgaWYgKGlzX3ZsYSB8fCAoIXVzZV9yZWdpc3Rlcl9mb3JfZGVjbCAodmFyKSkpDQo+IC4u Lg0KPiArICBlbHNlDQo+ICsgICAgew0KPiArICAgIC8qIElmIHRoaXMgdmFyaWFibGUgaXMgaW4g YSByZWdpc3RlciwgdXNlIGV4cGFuZF9hc3NpZ25tZW50IG1pZ2h0DQo+ICsgICAgICAgZ2VuZXJh dGUgYmV0dGVyIGNvZGUuICAqLw0KPiANCj4geW91IGNvbXB1dGUgdGhlIHBhdHRlciBpbml0aWFs aXplciBldmVuIHdoZW4gbm90IG5lZWRpbmcgaXQsDQo+IHRoYXQncyB3YXN0ZWZ1bC4gIEl0J3Mg YWxzbyBxdWl0ZSB1Z2x5LCBJTUhPIHlvdSBzaG91bGQNCj4gdXNlIGNhbl9uYXRpdmVfaW50ZXJw cmV0X3R5cGVfcCAodmFyX3R5cGUpIGFuZCBuYXRpdmVfaW50ZXJwcmV0DQo+IGEgY2hhciBbXSBh cnJheSBpbml0aWFsaXplZCB0byB0aGUgcGF0dGVybiBhbmQgaWYNCj4gIWNhbl9uYXRpdmVfaW50 ZXJwcmV0X3R5cGVfcCAoKSBnbyB0aGUgbWVtc2V0IHJvdXRlLg0K