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 8819439874E1 for ; Wed, 18 Aug 2021 14:39:30 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 8819439874E1 Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 17IEWUaL031666; Wed, 18 Aug 2021 14:39:27 GMT Received: from aserp3030.oracle.com (aserp3030.oracle.com [141.146.126.71]) by mx0b-00069f02.pphosted.com with ESMTP id 3age7mtwep-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 18 Aug 2021 14:39:27 +0000 Received: from pps.filterd (aserp3030.oracle.com [127.0.0.1]) by aserp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 17IEYxl5034002; Wed, 18 Aug 2021 14:39:26 GMT Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2174.outbound.protection.outlook.com [104.47.56.174]) by aserp3030.oracle.com with ESMTP id 3ae3vhkcd6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 18 Aug 2021 14:39:26 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Cqy8SQpxumb+iCh22Fd19l+Dfur6TP/v2pqpJuv12VsaTXd4x4SjStBCmfxtAs8HfugkspxhyHp+4NEa6PLOVD79FmBgF/lH71fOMiASo3nKdlR8CncVccMCrOAvSJ98b3UxAIa17s7tHtoiB6YJNSUrCsGEU15lOQowT2RGxuaMDFZiJw3IyIoyai2nYlWZmk+cBTNIU6pVJ3oGTr9ig240zbYrwfSgDzxx+Keo9VGjKjXrPydoDTcpiV1bNe68141oWvPAsgQVJ5upAr/npHFhwJCn8M44642YISLM0CyztrtiI9o5XsIojf5kss53RPv1jJEd5PwwTdgE+RV+0g== 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=IB3f9bTAHKerjCL475PHoaBe1tvbw19qlE/E9+gSx+s=; b=DtYE6rYh3OH1P84l/s6bcPu+xOgfKhZAujcERMrn1AtTftL5tMFMgBwwkc8xwfLfF9uivKAz0ICagFEWFyGJ1+k0lF0slVwx8D5CANhpIqYPVZumphGlcXAAIxUQbw0zty6eddNjxpfwPopm5QX6kjkuEiacq7Japhsr4aSKteHjPmGxBBzpcVmNvO9WCHX1ZVBrYEPSLTXSVKn8X9zZiVHf1L3AeZ54BKnQUvuMxEJoB9yhXRJA9XFWuaCkCAFYAcQf2jb8Ar5bouFIElwyMH8YkUttkGaRrEZ66AH1S4z4toyBvN/fB0cv+TcTI77JZP4FusAyJGRzj51BmwI6xw== 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 CH2PR10MB4149.namprd10.prod.outlook.com (2603:10b6:610:a7::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.22; Wed, 18 Aug 2021 14:39:24 +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.4436.019; Wed, 18 Aug 2021 14:39:24 +0000 From: Qing Zhao To: Richard Biener CC: kees Cook , Jakub Jelinek , Richard Sandiford , Nick Alcock via Gcc-patches 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: AQHXgpcfj6SO0Rka1UmU0GU91mFncqtrSzIAgAApjACAAPr8gIAAZYMAgAAKVgCAAAy9gIAABZoAgABR/YCAACR6AIAAkCQAgABtVACAAAEPAIAABLkAgAABQACAABmfAIAABkYAgAAIEICAAAlUAIAAPDYAgAb8YoCAAKEtgIABdUUAgABduYCAALKvgIAAeuGA Date: Wed, 18 Aug 2021 14:39:24 +0000 Message-ID: <2AD42F6C-3224-459B-A065-C9E2E0915412@oracle.com> References: <52E29277-1403-4755-901A-528116C43FB8@oracle.com> <6FD42B95-F73D-4B75-B83A-BAC4925B1714@oracle.com> <9DD34DA7-4CD7-48B7-B5E4-A4107B84F5D8@oracle.com> <7BF55F94-3C5C-416B-A5D2-8D1EFD1AC89B@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: 08a004d1-b49d-4e96-c22a-08d96255f959 x-ms-traffictypediagnostic: CH2PR10MB4149: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:163; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: i/lgGk0qK/47CeYO6Ly/OQGzVKdKyvNdO//JgfILloceIXq1wM+WIZ5GCvqtfWJBPoKDE6Jfg1Aa2DHCJpgrfqX+JgvlbiBh6Z7Gzereo0FbwLGa4fc7EOqrtdPHRwA5nk2GwprQhF7PyJMbeEgr6urflk0hRiw++vDKVis+1oixBQEvaZ/mCEp5YVXgk2gLMP/oos0nyfH6bCl5C4NW3hz1qlU2laUilD8aRjddLfLgDdv05MsX/Xi7kRZMGW2TWxhauCiJT9GGSV1JWbEHqkyIW0L+Dr0u+4xX3zhRoGcx6Oo+05Iwt0xbesXyO2rbsiyGQoLBL912m6iIjQzz5EKyMi7/tnVeiAzp1loArCkfs7VQfBdhbsEfzqHzzsQP3UFerHxueUTAVK7ACdOT0t1XNIGYuhSzCtMAPvvpUPTUCB6aOAgmAFhAyuz4/RExQxz65wwUhHyyB+BxcwjZhJj8wEPf3m1lYLTDmEVCiu/XCBCQTpsdmgPlHLUH+VD0+NeF5DzLYWcuMwHwqoGr6L8h1ClTs9zlf4nCYx9ra6ibrfl7QDlnI4sEVFt77/OsOCLTzKY7Hh7d5bXMB1e5jsVOq6Vq06Wu/uraxD6/oBbSbTO0TEROBKloSoMCCeB50fEv6V/VMAAiEHN6nJP1N1SeTlQjrjPkZbDw5CbODAyTNxf+IG7nHxsunf3XHvpvVoPAmSyoAUW5cDDmm/um6TwdlfdIJvHAe5E8dpEHOT1uIOqa+YBpRmtlTaYnv/3d 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)(6916009)(2906002)(54906003)(8936002)(38070700005)(508600001)(36756003)(8676002)(44832011)(6486002)(64756008)(71200400001)(66946007)(76116006)(91956017)(316002)(86362001)(33656002)(66446008)(66476007)(66556008)(186003)(4326008)(6512007)(53546011)(2616005)(83380400001)(122000001)(38100700002)(5660300002)(6506007)(45980500001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZktvdVg1ZWlJb05wSDBhZ3VZaUxTdzhRRXl0T3oyaXNlTnBDdTVaSmo2WkFB?= =?utf-8?B?NzZmemlZQythWnRZai9KY1N6ZHJxdmN2NHRIV2c5ZUc3cnZsL29iQUxMUXV5?= =?utf-8?B?NVpibi80aG8vYnZiQ0VrbjZCb1h0SlZEZEd4NjRQaDdMVmU1K1JwYnFwcTBh?= =?utf-8?B?WWdJV3JRVHdFeWxNLzM2akJnUStUOTJza21KRDdjRzFpYVpLNlNhM0pQb3dX?= =?utf-8?B?NFFUMkQ4azNWRDZhVzBmOTQ2MmVRaGtob1BjY0taMlZLSnlLQjg4UEFaYzFx?= =?utf-8?B?WjVXMG5WMWlkZFJXWlQ2VlVoaS9PRjV1V3BtUUFueERHaVViR2c4ZzJIS1JJ?= =?utf-8?B?VFQ4d2wybW5NUEVSd1JwbC8yMHEveStiUVlLSnZuVDZkeHo5Zm9qYnAxZ1Bz?= =?utf-8?B?dElLRXowcUxUWC9wRFJla3VqdVlXOExtNjFEcDcrYURqL0lxNTc3RnRiVkF5?= =?utf-8?B?Y29rejFyMWR5NHRkbDczakg0OElGaTJIdi84b0pwbXYxaStmTG53cytSSjhP?= =?utf-8?B?c3duTlN6N3EySXRpTUFkUTJnMUMybVBvdCt4VEt2VTFKWVA4TWVuOCtybjZK?= =?utf-8?B?SWw5L2ZmaU9IUk54VlEvdjF2aXl2SmM2VlRuR1NBczlrSVBZWlpGSXJGa0FB?= =?utf-8?B?cDlxREpoOEtua05nMTlZWFhiTnZVbUFRWkZhdVd6TmJvOHFWNHkvdGVCeEpZ?= =?utf-8?B?ZVJnRlVsWWJrbGlpS1NiT0g4NVJFbmd1UC9GV2JHV1FRNysxZUdjbDVrTHdF?= =?utf-8?B?a1RkVmp1R2FnbEZSZUx0M015d0pBbVlqS2NXQ2N1YTJWc25kak9GcTN6MUxB?= =?utf-8?B?M2w0K2xGMkU0N0hKM3BseWVNSlRNNlZSTlJMQnNacTIvTlZSWlNMWURXdkJ6?= =?utf-8?B?MnoyOFAzbGFnSERvZ05DTW9QcTJsQ2QvaEsrQ3lray82ZDl0VDZzek9Ya3Fy?= =?utf-8?B?a1MvQ0lrSVBqeDF0bnFubjBqQ0UvSkxsOTR0Y3NDSS8yK05UKzBoSUt5S0Rx?= =?utf-8?B?TUZCSHduK0JpWXBjUjhkcTR5eXJXRVpndnJndnpQWmZtSm5rUW95Y2NpREZJ?= =?utf-8?B?dzN4V1ZvdTloM0REUEtBa0lQS2NCcFFkYWtHRGYvV1JrdGo4R29CZ1g4YU4x?= =?utf-8?B?c0Via0ZpYlVRN0N3RmFINW9ycTNQd2tlOEREb0hOdDFObzdkcjBtMFJybUkr?= =?utf-8?B?Z21GVE83WitvYXJtTm43NHFnT1JBWndpcHR4TjZ2RUZCcHBkQVFaUm9KQ3Ex?= =?utf-8?B?cENnaHJRWnltT09haFBvcldNU3RpUkV2K0kwcU1jakFzbVdTUGZsRjJVZStL?= =?utf-8?B?bEVvN3Ezd3VWUzV4Wlp6R3Fjc0VtbW9EaDNiKzF4SzZMeE5kUGE0aEwwcE1H?= =?utf-8?B?clh1RmEwRlB0dms4MWZ3YWVobGNVSkpFUHI3cWV0K3lHZmI0M3BPTkdqeitv?= =?utf-8?B?QlJtdjIvRzhsMU9jbU9KM0g0eG1QcGp1SldnZ1RLNUh2OHZ3L2FlcVpyRXVW?= =?utf-8?B?NzdEUmNILy9WaS9iWFYra01uQ2loYzEwL1E2Q2ZCZUEwNzNRY3Vtc1I4cXFU?= =?utf-8?B?Z2hNYUhPYk9ydzd4VDBvZnR2Zy9qMnRWeXUzMkl6L1VaeUdhMzBIWXZrdGZt?= =?utf-8?B?dWtwd3pNZ2c1RHRGVy9MSUdxMldxaHhiY2FBRFV0MjAyVSt4QmpjbS8zSllK?= =?utf-8?B?RjBYdmpjeXo2TmJVaHgwcDl1ZW9TZzlSZFdwNFVGY1YvL3A2VERGM0ovVWlr?= =?utf-8?B?cVhuWlgzZ29zTmtmRjlCVXQwSnJYUlovZGVqaG5LRzdsNkxBWHVGbzdFMGZD?= =?utf-8?Q?2cNHBiplHnALiaRjV9alpXchL4K0UaReIO5JM=3D?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: <72CB75C623D0434F9E717E4D23392E2E@namprd10.prod.outlook.com> 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: 08a004d1-b49d-4e96-c22a-08d96255f959 X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Aug 2021 14:39:24.3383 (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: zUry0rl6f2EsT7i4kPD20WRskPlCtpsYLTvv/vwwRuy8S7z4eT6DqgfoswYBKJo81IGTCF9l8uU0sVqBNX2wqA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR10MB4149 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=10080 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 adultscore=0 mlxscore=0 malwarescore=0 mlxlogscore=999 spamscore=0 bulkscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2107140000 definitions=main-2108180091 X-Proofpoint-ORIG-GUID: Kfb_ZVDuCqg_084x0lKPIf95aS6yaJao X-Proofpoint-GUID: Kfb_ZVDuCqg_084x0lKPIf95aS6yaJao 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: Wed, 18 Aug 2021 14:39:41 -0000 DQoNCj4gT24gQXVnIDE4LCAyMDIxLCBhdCAyOjE5IEFNLCBSaWNoYXJkIEJpZW5lciA8cmd1ZW50 aGVyQHN1c2UuZGU+IHdyb3RlOg0KPiANCj4gT24gVHVlLCAxNyBBdWcgMjAyMSwgUWluZyBaaGFv IHdyb3RlOg0KPiANCj4+IA0KPj4gDQo+Pj4gT24gQXVnIDE3LCAyMDIxLCBhdCAxMDowNCBBTSwg UWluZyBaaGFvIHZpYSBHY2MtcGF0Y2hlcyA8Z2NjLXBhdGNoZXNAZ2NjLmdudS5vcmc+IHdyb3Rl Og0KPj4+IA0KPj4+IA0KPj4+IA0KPj4+PiBPbiBBdWcgMTYsIDIwMjEsIGF0IDExOjQ4IEFNLCBR aW5nIFpoYW8gdmlhIEdjYy1wYXRjaGVzIDxnY2MtcGF0Y2hlc0BnY2MuZ251Lm9yZz4gd3JvdGU6 DQo+Pj4+IA0KPj4+Pj4+IEZyb20gdGhlIGFib3ZlIElSIGZpbGUgYWZ0ZXIg4oCcRlJF4oCdLCB3 ZSBjYW4gc2VlIHRoYXQgdGhlIG1ham9yIGlzc3VlIHdpdGggdGhpcyBJUiBpczoNCj4+Pj4+PiAN Cj4+Pj4+PiBUaGUgYWRkcmVzcyB0YWtlbiBhdXRvIHZhcmlhYmxlIOKAnGFsdF9yZWxvY+KAnSBo YXMgYmVlbiBjb21wbGV0ZWx5IHJlcGxhY2VkIGJ5IHRoZSB0ZW1wb3JhcnkgdmFyaWFibGUg4oCc XzHigJ0gaW4gYWxsDQo+Pj4+Pj4gdGhlIHVzZXMgb2YgdGhlIG9yaWdpbmFsIOKAnGFsdF9yZWxv Y+KAnS4gDQo+Pj4+PiANCj4+Pj4+IFdlbGwsIHRoaXMgY2FuIGhhcHBlbiB3aXRoIHJlZ3VsYXIg Y29kZSBhcyB3ZWxsLCB0aGVyZSdzIG5vIG5lZWQgZm9yDQo+Pj4+PiAuREVGRVJSRURfSU5JVC4g IFRoaXMgaXMgdGhlIHVzdWFsIHByb2JsZW0gd2l0aCByZXBvcnRpbmcgdW5pbml0aWFsaXplZA0K Pj4+Pj4gdXNlcyBsYXRlLg0KPj4+Pj4gDQo+Pj4+PiBJTUhPIHRoaXMgc2hvdWxkbid0IGJlIGEg YmxvY2tlci4gIFRoZSBnb2FsIG9mIHplcm8gInJlZ3Jlc3Npb25zIiB3cnQNCj4+Pj4+IC1XdW5p bml0aWFsaXplZCBpc24ndCByZWFsbHkgYWNoaWV2YWJsZS4NCj4+Pj4gDQo+Pj4+IE9rYXkuIFNv dW5kcyByZWFzb25hYmxlIHRvIG1lIHRvby4NCj4+Pj4gDQo+Pj4+PiANCj4+Pj4+PiBUaGUgbWFq b3IgcHJvYmxlbSB3aXRoIHN1Y2ggSVIgaXMsICBkdXJpbmcgdW5pbml0aWFsaXplZCBhbmFseXNp cyBwaGFzZSwgdGhlIG9yaWdpbmFsIHVzZSBvZiDigJxhbHRfcmVsb2PigJ0gZGlzYXBwZWFyZWQg Y29tcGxldGVseS4NCj4+Pj4+PiBTbywgdGhlIHdhcm5pbmcgY2Fubm90IGJlIHJlcG9ydGVkLg0K Pj4+Pj4+IA0KPj4+Pj4+IA0KPj4+Pj4+IE15IHF1ZXN0aW9uczoNCj4+Pj4+PiANCj4+Pj4+PiAx LiBJcyBpdCBwb3NzaWJsZSB0byBnZXQgdGhlIG9yaWdpbmFsIOKAnGFsdF9yZWxvY+KAnSB0aHJv dWdoIHRoZSB0ZW1wb3JhcnkgdmFyaWFibGUg4oCcXzHigJ0gd2l0aCBzb21lIGF2YWlsYWJsZSBp bmZvcm1hdGlvbiByZWNvcmRlZCBpbiB0aGUgSVI/DQo+Pj4+Pj4gMi4gSWYgbm90LCB0aGVuIHdl IGhhdmUgdG8gcmVjb3JkIHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiDigJxhbHRfcmVsb2PigJ0g YW5kIOKAnF8x4oCdIHdoZW4gdGhlIG9yaWdpbmFsIOKAnGFsdF9yZWxvY+KAnSBpcyByZXBsYWNl ZCBieSDigJxfMeKAnSBhbmQgZ2V0IHN1Y2ggcmVsYXRpb25zaGlwIGR1cmluZw0KPj4+Pj4+IFVu aW5pdGlhbGl6ZWQgYW5hbHlzaXMgcGhhc2UuICBJcyB0aGlzIGRvYWJsZT8NCj4+Pj4+IA0KPj4+ Pj4gV2VsbCwgeW91IGNvdWxkIGFkZCBhIGZha2UgYXJndW1lbnQgdG8gLkRFRkVSUkVEX0lOSVQg Zm9yIHRoZSBwdXJwb3NlIG9mDQo+Pj4+PiBkaWFnbm9zdGljcy4gIFRoZSBkaWZmaWN1bHR5IGlz IHRvIGF2b2lkIHRyYWNraW5nIGl0IGFzIGFjdHVhbCB1c2Ugc28NCj4+Pj4+IHlvdSBjb3VsZCBm b3IgZXhhbXBsZSBwYXNzIGEgc3RyaW5nIHdpdGggdGhlIGRlY2xhcmF0aW9ucyBuYW1lIHRob3Vn aA0KPj4+Pj4gdGhpcyB3b3VsZG4ndCBnaXZlIHRoZSBhc3NvY2lhdGlvbiB3aXRoIHRoZSBhY3R1 YWwgZGVjbC4NCj4+Pj4gR29vZCBzdWdnZXN0aW9uLCBJIGNhbiB0cnkgdGhpcyBhIGxpdHRsZSBi aXQuIA0KPj4+IA0KPj4+IEkgdHJpZWQgdGhpcyB5ZXN0ZXJkYXksIGFkZGVkIHRoZSA0dGggYXJn dW1lbnQgdG8gLkRFRkVSUkVEX0lOSVQgYXM6DQo+Pj4gDQo+Pj4gICAxc3QgYXJndW1lbnQ6IFNJ WkUgb2YgdGhlIERFQ0w7DQo+Pj4gICAybmQgYXJndW1lbnQ6IElOSVRfVFlQRTsNCj4+PiAgIDNy ZCBhcmd1bWVudDogSVNfVkxBLCAwIE5PLCAxIFlFUzsNCj4+PiArICAgNHRoIGFyZ3VtZW50OiBU aGUgTkFNRSBmb3IgdGhlIERFQ0w7DQo+Pj4gDQo+Pj4gLSAgIGFzIExIUyA9IERFRkVSUkVEX0lO SVQgKFNJWkUgb2YgdGhlIERFQ0wsIElOSVRfVFlQRSwgSVNfVkxBKQ0KPj4+ICsgICBhcyBMSFMg PSBERUZFUlJFRF9JTklUIChTSVpFIG9mIHRoZSBERUNMLCBJTklUX1RZUEUsIElTX1ZMQSwgTkFN RSkNCj4+PiANCj4+PiArICB0cmVlIG5hbWVfbm9kZQ0KPj4+ICsgICAgPSBidWlsZF9zdHJpbmdf bGl0ZXJhbCAoSURFTlRJRklFUl9MRU5HVEggKERFQ0xfTkFNRSAoZGVjbCkpLA0KPj4+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICBJREVOVElGSUVSX1BPSU5URVIgKERFQ0xfTkFNRSAoZGVj bCkpKTsNCj4+PiANCj4+PiAgdHJlZSBjYWxsID0gYnVpbGRfY2FsbF9leHByX2ludGVybmFsX2xv YyAoVU5LTk9XTl9MT0NBVElPTiwgSUZOX0RFRkVSUkVEX0lOSVQsDQo+Pj4gLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUkVFX1RZUEUgKGRlY2wpLCAzLA0KPj4+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJFRV9UWVBFIChk ZWNsKSwgNCwNCj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBk ZWNsX3NpemUsIGluaXRfdHlwZV9ub2RlLA0KPj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgaXNfdmxhX25vZGUpOw0KPj4+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgaXNfdmxhX25vZGUsIG5hbWVfbm9kZSk7DQo+Pj4gDQo+ Pj4gDQo+Pj4gQW5kIGdvdCB0aGUgZm9sbG93aW5nIElSIGluIC51bmluaXQxIGR1bXA6DQo+Pj4g DQo+Pj4gDQo+Pj4g4oCmLg0KPj4+IA0KPj4+IF8xID0gLkRFRkVSUkVEX0lOSVQgKDQsIDIsIDAs ICYiYWx0X3JlbG9jIlswXSk7DQo+Pj4gaWYgKF8xICE9IDApDQo+Pj4g4oCmLg0KPj4+IA0KPj4+ IA0KPj4+IE15IHF1ZXN0aW9uczoNCj4+PiANCj4+PiAxLiBJcyDigJxidWlsZF9zdHJpbmdfbGl0 ZXJhbOKAnSB0aGUgY29ycmVjdCB1dGlsaXR5IHJvdXRpbmUgdG8gdXNlIGZvciB0aGlzIG5ldyBh cmd1bWVudD8gDQo+Pj4gMi4gV2lsbCBTdWNoIHN0cmluZyBsaXRlcmFsIG5vZGVzIGhhdmUgcG90 ZW50aWFsIG90aGVyIGltcGFjdD8NCj4+IA0KPj4gSSB0cmllZCB0byBnZXQgdGhlIDR0aCBhcmd1 bWVudCBmcm9tIHRoZSBjYWxsIHRvIC5ERUZFUkVEX0lOSVQgZHVyaW5nIHVuaW5pdGlhbGl6ZWQg dmFyaWFibGUgYW5hbHlzaXMgaW4gdHJlZS1zc2EtdW5pbml0LmM6DQo+PiANCj4+IEBAIC0xOTcs MTggKzE5NywyNSBAQCB3YXJuX3VuaW5pdCAoZW51bSBvcHRfY29kZSB3YywgdHJlZSB0LCB0cmVl IGV4cHIsIHRyZWUgdmFyLA0KPj4gICAgICB0aGUgQ09NUExFWF9FWFBScyByZWFsIHBhcnQgaW4g dGhhdCBjYXNlLiAgU2VlIFBSNzE1ODEuICAqLw0KPj4gICBpZiAoZXhwciA9PSBOVUxMX1RSRUUN Cj4+ICAgICAgICYmIHZhciA9PSBOVUxMX1RSRUUNCj4+IC0gICAgICAmJiBTU0FfTkFNRV9WQVIg KHQpID09IE5VTExfVFJFRQ0KPj4gLSAgICAgICYmIGlzX2dpbXBsZV9hc3NpZ24gKFNTQV9OQU1F X0RFRl9TVE1UICh0KSkNCj4+IC0gICAgICAmJiBnaW1wbGVfYXNzaWduX3Joc19jb2RlIChTU0Ff TkFNRV9ERUZfU1RNVCAodCkpID09IENPTVBMRVhfRVhQUikNCj4+IC0gICAgew0KPj4gLSAgICAg IHRyZWUgdiA9IGdpbXBsZV9hc3NpZ25fcmhzMSAoU1NBX05BTUVfREVGX1NUTVQgKHQpKTsNCj4+ IC0gICAgICBpZiAoVFJFRV9DT0RFICh2KSA9PSBTU0FfTkFNRQ0KPj4gLSAgICAgICAgICYmIGhh c191bmRlZmluZWRfdmFsdWVfcCAodikNCj4+IC0gICAgICAgICAmJiB6ZXJvcCAoZ2ltcGxlX2Fz c2lnbl9yaHMyIChTU0FfTkFNRV9ERUZfU1RNVCAodCkpKSkNCj4+ICsgICAgICAmJiBTU0FfTkFN RV9WQVIgKHQpID09IE5VTExfVFJFRSkNCj4+ICsgICAgew0KPj4gKyAgICAgIGlmIChpc19naW1w bGVfYXNzaWduIChTU0FfTkFNRV9ERUZfU1RNVCAodCkpDQo+PiArICAgICAgICAgJiYgKGdpbXBs ZV9hc3NpZ25fcmhzX2NvZGUgKFNTQV9OQU1FX0RFRl9TVE1UICh0KSkgPT0gQ09NUExFWF9FWFBS KSkNCj4+ICAgICAgICB7DQo+PiAtICAgICAgICAgZXhwciA9IFNTQV9OQU1FX1ZBUiAodik7DQo+ PiAtICAgICAgICAgdmFyID0gZXhwcjsNCj4+ICsgICAgICAgICB0cmVlIHYgPSBnaW1wbGVfYXNz aWduX3JoczEgKFNTQV9OQU1FX0RFRl9TVE1UICh0KSk7DQo+PiArICAgICAgICAgaWYgKFRSRUVf Q09ERSAodikgPT0gU1NBX05BTUUNCj4+ICsgICAgICAgICAgICAgJiYgaGFzX3VuZGVmaW5lZF92 YWx1ZV9wICh2KQ0KPj4gKyAgICAgICAgICAgICAmJiB6ZXJvcCAoZ2ltcGxlX2Fzc2lnbl9yaHMy IChTU0FfTkFNRV9ERUZfU1RNVCAodCkpKSkNCj4+ICsgICAgICAgICAgIHsNCj4+ICsgICAgICAg ICAgICAgZXhwciA9IFNTQV9OQU1FX1ZBUiAodik7DQo+PiArICAgICAgICAgICAgIHZhciA9IGV4 cHI7DQo+PiArICAgICAgICAgICB9DQo+PiAgICAgICAgfQ0KPj4gKyAgICAgIGVsc2UgaWYgKGdp bXBsZV9jYWxsX2ludGVybmFsX3AgKFNTQV9OQU1FX0RFRl9TVE1UICh0KSwgSUZOX0RFRkVSUkVE X0lOSVQpKQ0KPj4gKyAgICAgIHsNCj4+ICsgICAgICAgZXhwciA9IGdpbXBsZV9jYWxsX2FyZyAo U1NBX05BTUVfREVGX1NUTVQgKHQpLCAzKTsNCj4+ICsgICAgICAgdmFyID0gZXhwcjsNCj4+ICsg ICAgICB9DQo+PiAgICAgfQ0KPj4gDQo+PiBIb3dldmVyLCB0aGlzIDR0aCBhcmd1bWVudCBpcyBu b3QgYSByZWd1bGFyIHZhcmlhYmxlLCBpdOKAmXMganVzdCBhbiBBRERSX0VYUFIgdGhhdCBpbmNs dWRlcyB0aGUgY29uc3RhbnQgc3RyaW5nIGZvciB0aGUgbmFtZSBvZiANCj4+IHRoZSBkZWxldGVk IHZhcmlhYmxlLiANCj4+IElmIHdl4oCZZCBsaWtlIHRvIHJlcG9ydCB0aGUgd2FybmluZyBiYXNl ZCBvbiB0aGlzIEFERFJfRVhQUiwgYSBjb21wbGV0ZSBuZXcgY29kZSB0byByZXBvcnQgdGhlIHdh cm5pbmdzIG90aGVyIHRoYW4gdGhlIGN1cnJlbnQgb25lIHRoYXQgYmFzZWQgb24gDQo+PiDigJxW YXJpYWJsZXPigJ0gbmVlZCB0byBiZSBhZGRlZCwgdGhpcyBtaWdodCBtYWtlIHRoZSBjb2RlIHZl cnkgdWdseS4gDQo+PiANCj4+IE15IHF1ZXN0aW9uczoNCj4+IA0KPj4gMS4gSXMgdGhlcmUgYmV0 dGVyIHdheSB0byBkbyB0aGlzPw0KPiANCj4gQWRkaW5nIGEgdmFyaWFibGUgYXMgZXh0cmEgYXJn dW1lbnQgd29uJ3Qgd29yaywgc28gbm8sIEkgZG9uJ3Qgc2VlIGEgbmljZQ0KPiB3YXkgb2YgY2Fy cnlpbmcgdGhlIGV4dHJhIGluZm9ybWF0aW9uLiAgQnR3LCBpZiB5b3UgbWFrZSBzdXJlIHRvIHNl dA0KPiB0aGUgbG9jYXRpb24gb2YgdGhlIC5ERUZFUlJFRF9JTklUIGNhbGwgdG8gdGhlIERFQ0xf U09VUkNFX0xPQ0FUSU9ODQo+IG9mIHRoZSBkZWNsIHdlIGluaXRpYWxpemUsDQoNClRoaXMgc2hv dWxkIGJlIGVhc3kgdG8gZG8uDQoNCj4gd2Ugc2hvdWxkIGJlIGFibGUgdG8gZGlhZ25vc2Ugc3Ro IGxpa2UNCj4gDQo+IHdhcm5pbmc6IHZhcmlhYmxlIGlzIHVzZWQgdW5pbml0aWFsaXplZA0KPiBu b3RlOiB2YXJpYWJsZSBkZWNsYXJlZCBoZXJlDQoNCkkuZSwgcmVwb3J0IHRoZSB3YXJuaW5ncyB3 aXRob3V0IHRoZSBuYW1lIG9mIHRoZSB2YXJpYWJsZT8NCj4gDQo+IGFuZCBwb2ludCB0byB0aGUg Y29ycmVjdCBkZWNsYXJ0aW9uIHBvaW50IHdoaWNoIHNob3VsZCByZXZlYWwgdGhlDQo+IHZhcmlh YmxlIG5hbWUgKHRvIHRoZSB1c2VyLCBub3QgdG8gdGhlIGNvbXBpbGVyKS4NCj4gDQo+PiAxLiBB cyB5b3UgbWVudGlvbmVkIGJlZm9yZSwgaXTigJlzIHZlcnkgdW5yZWFsaXN0aWMgdG8gbWVldCB0 aGUgZ29hbCBvZiDigJx6ZXJvIHJlZ3Jlc3Npb27igJ0gZm9yIC1XdW5pbml0aWFsaXplZCwgY2Fu IHdlIGxlYXZlIHRoaXMgcGFydCBvZiB3b3JrIGluIGEgbGF0ZXIgcGF0Y2ggdG8gaW1wcm92ZQ0K Pj4gVGhlIHdhcm5pbmcgZm9yIOKAnGFkZHJlc3MgdGFrZW7igJ0gYXV0byB2YXJpYWJsZXM/DQo+ IA0KPiBZZXMsIGFzIHNhaWQsIEknZCBzaW1wbHkgaWdub3JlIHRoaXMgcGFydGljdWxhciBpc3N1 ZSBmb3Igbm93IHNpbmNlIEkNCj4gZG9uJ3Qgc2VlIGEgZ29vZCB3YXkgdG8gZml4IGl0Lg0KDQpP a2F5LCBJIHdpbGwganVzdCBpZ25vcmUgdGhpcyBpc3N1ZSBmb3Igbm93IGFuZCByZXNvbHZlIGl0 IGluIGEgbGF0ZXIgcGF0Y2guDQoNCkhvdyBhYm91dCB0aGUgdGVzdGluZyBjYXNlcyB0aGF0IGFy ZSBjdXJyZW50bHkgZmFpbGVkIGR1ZSB0byB0aGlzIGlzc3VlPyBTaG91bGQgSSBrZWVwIHRoZW0g YnV0IG1hcmsgdGhlbSBhcyBleHBlY3RlZCBmYWlsdXJlPw0KDQpRaW5nDQoNCj4gDQo+IFJpY2hh cmQuDQoNCg==