From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by sourceware.org (Postfix) with ESMTPS id 715F3385AC24 for ; Wed, 18 Aug 2021 16:02:25 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 715F3385AC24 Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 17IG2KHm017013; Wed, 18 Aug 2021 16:02:23 GMT Received: from aserp3030.oracle.com (aserp3030.oracle.com [141.146.126.71]) by mx0b-00069f02.pphosted.com with ESMTP id 3agu24hhg1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 18 Aug 2021 16:02:22 +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 17IFsxXj134135; Wed, 18 Aug 2021 16:02:19 GMT Received: from nam02-sn1-obe.outbound.protection.outlook.com (mail-sn1anam02lp2044.outbound.protection.outlook.com [104.47.57.44]) by aserp3030.oracle.com with ESMTP id 3ae3vhqe3p-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 18 Aug 2021 16:02:19 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Q4BOmGSAzRHA+zIk4371wd/MCe9MN2NhwYEPnzD8QjvM0qOqfq7CoN6uFVRMwmBfsIfuFnr7juBmBfP1Hb0dOg+UjbdVDSIXDc5ixhyEYhvLBAsvPTmGzBBcIcQJCx3+PfebbLwsuqh5vTHnn+41KjUOTzzD/7JhK5dFUGFog1GEXJDvR3tjAawQHxdQcizNM2O1x+GONcYOcXFiQHi7B5mFLnIgK0xZQYhsBDdwKGtrWMAwx3QRPYUfCAi9V22Zwtt95PULhSe/4n/ARHnQ3mvm7yh1xP8pTGCGNibBzdfRp/3HUqNA5NnYmkytM1pCTLTlth50zTo5Edq/ny5Z0w== 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=68KJZ7+kfyCh+BcsHPXmekP4bJs5oGWADajxVkWuV7Q=; b=kP55c2jqwEvBVee5UrvtrZdlR7ND6SyGu0KsdvpDaL/ghOr2a4yMs7W7aGn/hiX5aARsy8h2Gt13KZUbaWeIyeyaWuensOOl5xc/BaXveBV0jpaANc7Lyaa38eTp1dWAzlHQnhpqtNiP2onoMRR3NF2xoDGlf6HAOVN+G05qq508Yn5qkLwOR7men1+peOoRRViyxemnb9JB2fYUxMCuXwHMCAPrTDt+fkD1eyQDYQ9LrlxOj7IwZOectWY+0tpKRefAf2Jrciq24dSmaSZQY5l7AEQeUppGccuSm37V3+Qfq+bmDOmTQqj21RJ5ew7iLnIabJF62tvPOmNTMStWVA== 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 CH2PR10MB3944.namprd10.prod.outlook.com (2603:10b6:610:f::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16; Wed, 18 Aug 2021 16:02:17 +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 16:02:17 +0000 From: Qing Zhao To: Richard Biener CC: Jakub Jelinek , Nick Alcock via Gcc-patches , Kees Cook 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: AQHXgpcfj6SO0Rka1UmU0GU91mFncqtrSzIAgAUO6ICABYSmgIAAh5qAgAEYkwCAAGpqAIAAFZqAgAD9noCAAJMVgA== Date: Wed, 18 Aug 2021 16:02:17 +0000 Message-ID: <7AD092FB-62D6-4C87-B141-FD649E7B3F93@oracle.com> References: <52E29277-1403-4755-901A-528116C43FB8@oracle.com> <517EA40B-9500-4090-8F03-B4A9CECC62F8@oracle.com> <8B2F93E8-C3AC-49D2-B764-D4DD8A150A52@oracle.com> <786F370D-4A45-4F66-846C-A3437A162A65@oracle.com> <986D883E-A346-456A-B335-4185D4B136B5@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: 7702183f-e454-414d-a868-08d962618da0 x-ms-traffictypediagnostic: CH2PR10MB3944: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: S41w8HEfbmae9TpteWYqBijkKfpxcAViynCNX+KqL0rvNt1dRdmhOuSYG4Gk6qXjp59Wozr7iqDmxfs0YeM6q19HM8WWgsfPcIGAOj6/QaBQDMrGltn0C1ejRR1ZRlbKMFr9+0cKB4iuNT9/qNeAllU/m0mL9tW3aQ8Ks6qKwF+/JQ4i+IHeAnDvISsqIiEZwtPhoCVvIvfGzWY+afybB6rHrsDHP4UOakMeDQvb2TdrxoaxtNsih9RUfLGIMnV7f7PGtwsx8XRkj0RkFTqXQDe+Vu8elQbO87gh/hfIJOInxoxPLuFBUDUkLxszII5O4C29S68Q5DVKJ8VIhKArTE4tW4DbHVLv9aVLYdS2t+WRNpkgFgp2JZpOeLggfbXQCJ861op+TJ9cfawm3xCo1HS6rtoiHs2xAKNn5wCSnZmcGFREpuPPdmN/WY9CHvvZKsw83Fs8COgqIT7lAWpGUS5A+jVpDMSFWitH56fKZNargN8ptJfQMx4Z9T6RAz1yJYq95uGkXTqEX9uq8XnlZuKOPcARSRLBG97379JR3+zOBLGswNG9SLTOCl2zW3uGJ2pU0Wx2TqF5XVrmujrxtFxuMwdU2BkNoTBbcpALZFO0xkHJvQ1M6dDrc/CfnaagW2nSGBsQzmvjPW7YOjDs1d7H+a/F/z9vhr4yUOIwQX8rvCqQECv3JDi5m574eDjKIKu+h4IYEUpxf85vQTDxbKoXH20cb2YjCxmj2W5PdsOQMZTXq09/VYekD0pNb9UW 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:(396003)(136003)(366004)(346002)(376002)(39860400002)(122000001)(66574015)(53546011)(2616005)(66556008)(186003)(6512007)(66446008)(86362001)(71200400001)(38100700002)(91956017)(6486002)(5660300002)(66946007)(8936002)(54906003)(76116006)(2906002)(66476007)(478600001)(64756008)(83380400001)(33656002)(44832011)(8676002)(4326008)(6916009)(38070700005)(36756003)(316002)(6506007)(45980500001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZEpxaDVtVXl3ZFJBOVMwcitRM0s5d1FPcW9wZC80ZXJqb0lnaXZRMG00U1o0?= =?utf-8?B?V1hZa0pxRTBCb2tQWmxmaVByNW05L0sza0J0U3JLRFkwRlNrWXB3ZENXVGs3?= =?utf-8?B?bFVBU0tTV0JOK24vL09GM0FjU3U5MWVpM0pzYjNOYzV6bmNKYUNSU2ZVRm5I?= =?utf-8?B?eXZnRUViOWxhK3JNeXBJd3hDa0d2UWgyTHlhZ1ZaMTdMVGtadHI5L3F5VGZR?= =?utf-8?B?WFhNTUxYU2FzKzM5bjRtek1OdThFTy9veVFoRDhJSWRqQU9JMEZRRDVNOURt?= =?utf-8?B?WHQzQUZpSzJpclNYRnVNb3F5SzgyWFYxdWllc01peFJ3VnF6aUE1M21iQUd0?= =?utf-8?B?N3N6djNzajZPSTRYeC9McDkzZkpqQncybW9YRmN2Rm5OMEFKMjRkUFJKTlVS?= =?utf-8?B?K0dDT0UrVmJncURYaFo5YVpPS3pvUDJhWS9vVE5PUVNkZ1VXaXhKY3hQMnBR?= =?utf-8?B?YXowMEY1aXhlTG1kYUZacWRZNVY3dVVCYTZ6N2tnSXVvT05aLzlhQ2JXdjJs?= =?utf-8?B?MDdlSU9vdkpCaXhJOVJCanZGeWRIVGptNE5pcWVIZG5nWmpwR0xKM25hTzhD?= =?utf-8?B?cGZRVWFHTkY5VzdoNmxXODRsMUhHRXBGNFZYYUUvWnFSaHh2QzZNall6cGF0?= =?utf-8?B?TFRBN3NVbUZPM1BIZ1YvT3crUzlJazFoVW5rVDI2UUFXZXl1VDRKWUpMbFhv?= =?utf-8?B?TzN3SWZVRnYxOWt4dmh4a0lIZFFDZmMvMHVEUjNubFpRcTkxWk11cHNKMnVK?= =?utf-8?B?Ukx6UDNnV2dYY21temNpbEZyYm9yMUdFWmZVQ0h6VkVDQ3RkbjNJdU5JY216?= =?utf-8?B?SnNIVHhYSnJsL1dKdEhWQ0hyQzh1M1JRU1JCMFlyN3lxUlVwTlJVWnJrRk1h?= =?utf-8?B?QWRQRzk1ZTIyendNaWJ4Ky9TL1BtdjByd2ZwdHh4QmV0bk41dHJYMUhJY0Yz?= =?utf-8?B?NmlIbjNVd3ZUaHk2YXVvbFFGdGkvSzFZS0pwaHBOeUNld2RRV1JIYWF6YXdv?= =?utf-8?B?dGR5Yi9EL2hXSGU3Ny8xVzlzc25vU0tQT2o0RDdtdm1RNHpnNHJyN1Q5RTRy?= =?utf-8?B?cGtYSUJmRFg3dXZ3cVBpd2FtNTNHZVBIYndLRExnV0x0Q0pGeXA1Y012Vko1?= =?utf-8?B?ZnJCM1E5a0FxTTJZeVRJSmptRWlFdnlJOWFzUEpvdXArWFJJOGQyamFvM25Z?= =?utf-8?B?QWFWMENOdm4vMHZuWmliS0VCMUwvZTNFWDdNaXFDUk5ESDVtYWhWaUZ3a3Jo?= =?utf-8?B?T2pBRHdpcS9WK1NQbTBKQXJzZ3cwQlJoK0l2MENhZzVySDdRdHZVbTIzQTFk?= =?utf-8?B?MHdCSGVPeDVRaklxZ2pDbm1hdlpvWjl3dDMwVkVZWlBVL3pTYW5WcEhGM2lW?= =?utf-8?B?a0ptZTNvcUFLdDlIYTBIcXVqdmExdVNqUUIxcHNvRnl1b0NXZDJ2ZjN1UTRG?= =?utf-8?B?UGs2MWRqZVVLeGVIQ2xZbSs3TUZXOWhKM3M0YXJDRU9Vb2VaK2wxSVlBb2hT?= =?utf-8?B?M1FjRVV0V3lIcTZnUGMwMGp3ekxLMnYxWSs3c3R5NGhvTDdGYlFwNXNwT014?= =?utf-8?B?N0ZRdkhydExDM2pmeGtiSFQ2REVpelVHeEpUVlVPS0x0VWtGeEJUNVh3ZjFE?= =?utf-8?B?NENiUTVUckNDVFZ6NzRUQytGT0FoTndIZGdzYll6WDR1djRISExYVnQwNUYv?= =?utf-8?B?cUxGclVPS3VaR2FNSjZ4Wno2ZTc1RjhaOVFLM3pFOUgyd0ZlZldDNnRnbXRw?= =?utf-8?B?bkxOaWt3WEMzNFNvSW1uUFdubXYycXN0OHI5REYwVnIrV2hwVDgxS0h3U1E3?= =?utf-8?Q?EVC8uxMaVsfDpufjGxBlYLX9m0dYXsppXXWVM=3D?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: <7ACDFB67F9F3A14E842599A1A75640BB@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: 7702183f-e454-414d-a868-08d962618da0 X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Aug 2021 16:02:17.5797 (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: f9p1/q0DM6/ZOAAmEWxUiyMXpCoOSSnHAjdRb1uO2hAE+8Dp54wHqpjKq1rInraJyXPPp+RBOCfJ9Gkcy5F3OA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR10MB3944 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-2108180100 X-Proofpoint-GUID: YR1FzEcq8G9KiBsmbbuDsdpC2UhXH7g0 X-Proofpoint-ORIG-GUID: YR1FzEcq8G9KiBsmbbuDsdpC2UhXH7g0 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 16:02:36 -0000 DQoNCj4gT24gQXVnIDE4LCAyMDIxLCBhdCAyOjE1IEFNLCBSaWNoYXJkIEJpZW5lciA8cmd1ZW50 aGVyQHN1c2UuZGU+IHdyb3RlOg0KPiANCj4gT24gVHVlLCAxNyBBdWcgMjAyMSwgUWluZyBaaGFv IHdyb3RlOg0KPiANCj4+IA0KPj4gDQo+Pj4gT24gQXVnIDE3LCAyMDIxLCBhdCA5OjUwIEFNLCBR aW5nIFpoYW8gdmlhIEdjYy1wYXRjaGVzIDxnY2MtcGF0Y2hlc0BnY2MuZ251Lm9yZz4gd3JvdGU6 DQo+Pj4gDQo+Pj4gDQo+Pj4gDQo+Pj4+IE9uIEF1ZyAxNywgMjAyMSwgYXQgMzoyOSBBTSwgUmlj aGFyZCBCaWVuZXIgPHJndWVudGhlckBzdXNlLmRlPiB3cm90ZToNCj4+Pj4gDQo+Pj4+IE9uIE1v biwgMTYgQXVnIDIwMjEsIFFpbmcgWmhhbyB3cm90ZToNCj4+Pj4gDQo+Pj4+PiBNeSBjdXJyZW50 IGNvZGUgZm9yIGV4cGFuZF9ERUZFUlJFRF9JTklUIGlzIGxpa2UgdGhlIGZvbGxvd2luZywgY291 bGQgeW91IGNoZWNrIGFuZCBzZWUgd2hldGhlciB0aGVyZSBpcyBhbnkgaXNzdWUgZm9yIGl0Og0K Pj4+Pj4gDQo+Pj4+PiAjZGVmaW5lIElOSVRfUEFUVEVSTl9WQUxVRSAgMHhGRQ0KPj4+Pj4gc3Rh dGljIHZvaWQNCj4+Pj4+IGV4cGFuZF9ERUZFUlJFRF9JTklUIChpbnRlcm5hbF9mbiwgZ2NhbGwg KnN0bXQpDQo+Pj4+PiB7DQo+Pj4+PiB0cmVlIGxocyA9IGdpbXBsZV9jYWxsX2xocyAoc3RtdCk7 DQo+Pj4+PiB0cmVlIHZhcl9zaXplID0gZ2ltcGxlX2NhbGxfYXJnIChzdG10LCAwKTsNCj4+Pj4+ IGVudW0gYXV0b19pbml0X3R5cGUgaW5pdF90eXBlDQo+Pj4+PiAgPSAoZW51bSBhdXRvX2luaXRf dHlwZSkgVFJFRV9JTlRfQ1NUX0xPVyAoZ2ltcGxlX2NhbGxfYXJnIChzdG10LCAxKSk7DQo+Pj4+ PiBib29sIGlzX3ZsYSA9IChib29sKSBUUkVFX0lOVF9DU1RfTE9XIChnaW1wbGVfY2FsbF9hcmcg KHN0bXQsIDIpKTsNCj4+Pj4+IA0KPj4+Pj4gdHJlZSB2YXJfdHlwZSA9IFRSRUVfVFlQRSAobGhz KTsNCj4+Pj4+IGdjY19hc3NlcnQgKGluaXRfdHlwZSA+IEFVVE9fSU5JVF9VTklOSVRJQUxJWkVE KTsNCj4+Pj4+IA0KPj4+Pj4gaWYgKGlzX3ZsYSB8fCAoIXVzZV9yZWdpc3Rlcl9mb3JfZGVjbCAo bGhzKSkpDQo+Pj4+PiAgew0KPj4+Pj4gICAgaWYgKFRSRUVfQ09ERSAobGhzKSA9PSBTU0FfTkFN RSkNCj4+Pj4+ICAgICAgbGhzID0gU1NBX05BTUVfVkFSIChsaHMpOw0KPj4+PiANCj4+Pj4gdGhp cyBzaG91bGQgbm90IGJlIG5lY2Vzc2FyeSAoaW4gZmFjdCB5b3Ugc2hvdWxkbid0IHNlZSBhIFNT QV9OQU1FDQo+Pj4+IGhlcmUsIGlmIHlvdSBkbyB0aGVuIHVzaW5nIFNTQV9OQU1FX1ZBUiBpcyB3 cm9uZykNCj4+PiBZb3UgbWVhbiBkdXJpbmcgUlRMIGV4cGFuc2lvbiBwaGFzZSwgYWxsIFNTQV9O QU1FcyBhcmUgZ29uZSBhbHJlYWR5Pw0KPj4gDQo+PiBBY3R1YWxseSwgdGhlIGxocyBjb3VsZCBi ZSBTU0FfTkFNRSBoZXJlLCANCj4+IA0KPj4gQnJlYWtwb2ludCAxLCBleHBhbmRfREVGRVJSRURf SU5JVCAoc3RtdD0weDdmZmZlOTZhZTM0OCkgYXQgLi4vLi4vbGF0ZXN0LWdjYy9nY2MvaW50ZXJu YWwtZm4uYzozMDIxDQo+PiAzMDIxCSAgICAgIG1hcmtfYWRkcmVzc2FibGUgKGxocyk7DQo+PiAo Z2RiKSBjYWxsIGRlYnVnX3RyZWUobGhzKQ0KPj4gPHNzYV9uYW1lIDB4N2ZmZmU5NTg0ZTU4DQo+ PiAgICB0eXBlIDxyZWFsX3R5cGUgMHg3ZmZmZTk1OWIyYTAgZmxvYXQgc2l6ZXMtZ2ltcGxpZmll ZCBTRg0KPj4gICAgICAgIHNpemUgPGludGVnZXJfY3N0IDB4N2ZmZmU5NTc5ZjQ4IGNvbnN0YW50 IDMyPg0KPj4gICAgICAgIHVuaXQtc2l6ZSA8aW50ZWdlcl9jc3QgMHg3ZmZmZTk1NzlmNjAgY29u c3RhbnQgND4NCj4+ICAgICAgICBhbGlnbjozMiB3YXJuX2lmX25vdF9hbGlnbjowIHN5bXRhYjow IGFsaWFzLXNldCAyIGNhbm9uaWNhbC10eXBlIDB4N2ZmZmU5NTliMmEwIHByZWNpc2lvbjozMg0K Pj4gICAgICAgIHBvaW50ZXJfdG9fdGhpcyA8cG9pbnRlcl90eXBlIDB4N2ZmZmU5NTliN2UwPj4N Cj4+ICAgIHZpc2l0ZWQgdmFyIDx2YXJfZGVjbCAweDdmZmZmN2ZmN2JkMCB0ZW1wMT4NCj4+ICAg IGRlZl9zdG10IHRlbXAxXzUgPSAuREVGRVJSRURfSU5JVCAoNCwgMiwgMCwgJiJ0ZW1wMSJbMF0p Ow0KPj4gICAgdmVyc2lvbjo1Pg0KPj4gDQo+PiB3aGVuIEkgZGVsZXRlZDoNCj4+IA0KPj4gaWYg KFRSRUVfQ09ERSAobGhzKSA9PSBTU0FfTkFNRQ0KPj4gICBsaHMgPSBTU0FfTkFNRV9WQVIgKGxo cyk7DQo+IA0KPiBidXQgdGhlbiB1c2luZyBTU0FfTkFNRV9WQVIgaXMgYnJva2VuLiAgSSBzdXNw ZWN0IHVzZV9yZWdpc3Rlcl9mb3JfZGVjbA0KPiBpc24ndCB0aGUgY29ycmVjdCB0aGluZyB0byBs b29rIGF0LiAgSSB0aGluayB3ZSBuZWVkIHRvIGxvb2sgYXQgd2hhdA0KPiB0aGUgTEhTIGV4cGFu ZGVkIHRvIGlmIGl0IGlzIGEgU1NBX1ZBUl9QICh0aGF0IGluY2x1ZGVzIFNTQSBuYW1lcw0KPiBi dXQgYWxzbyBwbGFpbiBERUNMcyBidXQgbm90IHdoYXQgd2UgZ2V0IGZyb20gVkxBcyB3aGVyZSB3 ZSdkIHNlZQ0KPiAqcHRyKS4gIFNvIHN0aCBsaWtlDQo+IA0KPiAgYm9vbCByZWdfbGhzOw0KPiAg aWYgKFNTQV9WQVJfUCAobGhzKSkNCj4gICAgew0KPiAgICAgIHJ0eCB0ZW0gPSBleHBhbmRfZXhw ciAobGhzLCBOVUxMX1JUWCwgVk9JRG1vZGUsIEVYUEFORF9XUklURSk7DQo+ICAgICAgcmVnX2xo cyA9ICFNRU1fUCAodGVtKTsNCj4gICAgICAvKiBJZiBub3QgTUVNX1AgcmVnX2xocyBzaG91bGQg YmUgUkVHX1Agb3IgU1VCUkVHX1AgKGJ1dCBtYXliZQ0KPiAgICAgICAgIGFsc28gQ09OQ0FUIG9y IGxvd3BhcnQuLi4/KSAgKi8NCj4gICAgfQ0KPiAgZWxzZQ0KPiAgICB7DQo+ICAgICAgZ2NjX2Fz c2VydCAoaXNfdmxhKTsNCj4gICAgICByZWdfbGhzID0gZmFsc2U7DQo+ICAgIH0NCj4gDQo+ICBp ZiAoIXJlZ19saHMpDQo+ICAgIG1lbXNldCBwYXRoDQo+ICBlbHNlDQo+ICAgIGV4cGFuZF9hc3Np Z25tZW50IHBhdGgNCg0KQWZ0ZXIgbWFraW5nIHRoZSBmb2xsb3dpbmcgY2hhbmdlOg0KDQorICBi b29sIHJlZ19saHMgPSB0cnVlOw0KIA0KICAgdHJlZSB2YXJfdHlwZSA9IFRSRUVfVFlQRSAobGhz KTsNCiAgIGdjY19hc3NlcnQgKGluaXRfdHlwZSA+IEFVVE9fSU5JVF9VTklOSVRJQUxJWkVEKTsN CiANCi0gIGlmIChpc192bGEgfHwgKCF1c2VfcmVnaXN0ZXJfZm9yX2RlY2wgKGxocykpKQ0KKyAg aWYgKFNTQV9WQVJfUCAobGhzKSkNCisgICAgew0KKyAgICAgIHJ0eCB0ZW0gPSBleHBhbmRfZXhw ciAobGhzLCBOVUxMX1JUWCwgVk9JRG1vZGUsIEVYUEFORF9XUklURSk7DQorICAgICAgcmVnX2xo cyA9ICFNRU1fUCAodGVtKTsNCisgICAgfQ0KKyAgZWxzZQ0KKyAgICB7DQorICAgICAgZ2NjX2Fz c2VydCAoaXNfdmxhKTsNCisgICAgICByZWdfbGhzID0gZmFsc2U7DQorICAgIH0NCisNCisgIGlm ICghcmVnX2xocykNCiAgICAgew0KDQpJIGdvdCBleGFjdGx5IHRoZSBzYW1lIGludGVybmFsIGVy cm9yIHRoYXQgZmFpbGVkIGF0IGV4cHIuYzoNCg0KIDg0MzYgICAvKiBXZSBtdXN0IGhhdmUgbWFk ZSBwcm9ncmVzcy4gICovDQogODQzNyAgIGdjY19hc3NlcnQgKGlubmVyICE9IGV4cCk7DQoNCg0K TG9va3MgbGlrZSBmb3IgdGhlIGZvbGxvd2luZyBjb2RlOg0KDQozMDI2ICAgaWYgKCFyZWdfbGhz KQ0KMzAyNyAgICAgew0KMzAyOCAgICAgLyogSWYgdGhpcyBpcyBhIFZMQSBvciB0aGUgdmFyaWFi bGUgaXMgbm90IGluIHJlZ2lzdGVyLA0KMzAyOSAgICAgICAgZXhwYW5kIHRvIGEgbWVtc2V0IHRv IGluaXRpYWxpemUgaXQuICAqLw0KMzAzMCAgICAgICBtYXJrX2FkZHJlc3NhYmxlIChsaHMpOw0K MzAzMSAgICAgICB0cmVlIHZhcl9hZGRyID0gYnVpbGRfZm9sZF9hZGRyX2V4cHIgKGxocyk7DQoz MDMyIA0KMzAzMyAgICAgICB0cmVlIHZhbHVlID0gKGluaXRfdHlwZSA9PSBBVVRPX0lOSVRfUEFU VEVSTikgPw0KMzAzNCAgICAgICAgICAgICAgICAgICAgIGJ1aWxkX2ludF9jc3QgKGludGVnZXJf dHlwZV9ub2RlLA0KMzAzNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElOSVRf UEFUVEVSTl9WQUxVRSkgOg0KMzAzNiAgICAgICAgICAgICAgICAgICAgIGludGVnZXJfemVyb19u b2RlOw0KMzAzNyAgICAgICB0cmVlIG1fY2FsbCA9IGJ1aWxkX2NhbGxfZXhwciAoYnVpbHRpbl9k ZWNsX2ltcGxpY2l0IChCVUlMVF9JTl9NRU1TRVQpLA0KMzAzOCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgMywgdmFyX2FkZHIsIHZhbHVlLCB2YXJfc2l6ZSk7DQozMDM5ICAg ICAgIC8qIEV4cGFuZCB0aGlzIG1lbXNldCBjYWxsLiAgKi8NCjMwNDAgICAgICAgZXhwYW5kX2J1 aWx0aW5fbWVtc2V0IChtX2NhbGwsIE5VTExfUlRYLCBUWVBFX01PREUgKHZhcl90eXBlKSk7DQoz MDQxICAgICB9DQoNCkF0IGxpbmUgMzAzMCwg4oCcbGhz4oCdIGNvdWxkIGJlIGEgU1NBX05BTUUu DQoNCk15IHF1ZXN0aW9ucyBhcmU6DQoNCjEuIENvdWxkIHRoZSByb3V0aW5lIOKAnG1hcmtfYWRk cmVzc2FibGXigJ0gYW5kIOKAnGJ1aWxkX2ZvbGRfYWRkcl9leHBy4oCdIGJlIGFwcGxpZWQgb24g U1NBX05BTUU/DQoyLiBDb3VsZCB0aGUgcm91dGluZSDigJxleHBhbmRfYnVpbHRpbl9tZW1zZXTi gJ0gYmUgYXBwbGllZCBvbiB0aGUgbWVtc2V0IGNhbGwgd2hvc2Ug4oCcREVTVOKAnSBpcw0KICAg IGFuIGFkZHJlc3MgZXhwcmVzc2lvbiBvbiBTU0FfTkFNRT8gDQozLiBXaXRoaW4g4oCcZXhwYW5k X0RFRkVSUkVEX0lOSVTigJ0sIGNhbiBJIGNhbGwg4oCcZXhwYW5kX2J1aWx0aW5fbWVtc2V04oCd IHRvIGV4cGFuZCAuREVGRVJSRURfSU5JVD8NCg0KSSBzdXNwZWN0IHRoYXQgb25lIG9mIHRoZSBh Ym92ZSAzIG1pZ2h0IGJlIHRoZSBpc3N1ZSwgYnV0IG5vdCBzdXJlIHdoaWNoIG9uZT8NCg0KVGhh bmtzIGEgbG90Lg0KDQpRaW5nDQogICANCg0KDQo+IGJvb2wgcmVnX2xoczsNCj4gIGlmIChTU0Ff VkFSX1AgKGxocykpDQo+ICAgIHsNCj4gICAgICBydHggdGVtID0gZXhwYW5kX2V4cHIgKGxocywg TlVMTF9SVFgsIFZPSURtb2RlLCBFWFBBTkRfV1JJVEUpOw0KPiAgICAgIHJlZ19saHMgPSAhTUVN X1AgKHRlbSk7DQo+ICAgICAgLyogSWYgbm90IE1FTV9QIHJlZ19saHMgc2hvdWxkIGJlIFJFR19Q IG9yIFNVQlJFR19QIChidXQgbWF5YmUNCj4gICAgICAgICBhbHNvIENPTkNBVCBvciBsb3dwYXJ0 Li4uPykgICovDQo+ICAgIH0NCj4gIGVsc2UNCj4gICAgew0KPiAgICAgIGdjY19hc3NlcnQgKGlz X3ZsYSk7DQo+ICAgICAgcmVnX2xocyA9IGZhbHNlOw0KPiAgICB9DQoNCg0KPiANCj4+IE1hbnkg dGVzdGluZyBjYXNlcyBmYWlsZWQgd2l0aCBpbnRlcm5hbCBjb21waWxlciBlcnJvcjoNCj4+IA0K Pj4gL2hvbWUvb3BjL1dvcmsvR0NDL2xhdGVzdC1nY2MvZ2NjL3Rlc3RzdWl0ZS9jLWMrKy1jb21t b24vYXV0by1pbml0LTMuYzo5Ojk6IGludGVybmFsIGNvbXBpbGVyIGVycm9yOiBpbiBleHBhbmRf ZXhwcl9hZGRyX2V4cHJfMSwgYXQgZXhwci5jOjg0MzcNCj4+IDB4ZTIzN2FhIGV4cGFuZF9leHBy X2FkZHJfZXhwcl8xDQo+PiAJLi4vLi4vbGF0ZXN0LWdjYy9nY2MvZXhwci5jOjg0MzcNCj4+IDB4 ZTI0MDU5IGV4cGFuZF9leHByX2FkZHJfZXhwcg0KPj4gCS4uLy4uL2xhdGVzdC1nY2MvZ2NjL2V4 cHIuYzo4NTI1DQo+PiAweGUzMmI1NiBleHBhbmRfZXhwcl9yZWFsXzEodHJlZV9ub2RlKiwgcnR4 X2RlZiosIG1hY2hpbmVfbW9kZSwgZXhwYW5kX21vZGlmaWVyLCBydHhfZGVmKiosIGJvb2wpDQo+ PiAJLi4vLi4vbGF0ZXN0LWdjYy9nY2MvZXhwci5jOjExNzQxDQo+PiAweGUyZGE1MiBleHBhbmRf ZXhwcl9yZWFsXzEodHJlZV9ub2RlKiwgcnR4X2RlZiosIG1hY2hpbmVfbW9kZSwgZXhwYW5kX21v ZGlmaWVyLCBydHhfZGVmKiosIGJvb2wpDQo+PiAJLi4vLi4vbGF0ZXN0LWdjYy9nY2MvZXhwci5j OjEwNzc3DQo+PiAweGUyNDcwNiBleHBhbmRfZXhwcl9yZWFsKHRyZWVfbm9kZSosIHJ0eF9kZWYq LCBtYWNoaW5lX21vZGUsIGV4cGFuZF9tb2RpZmllciwgcnR4X2RlZioqLCBib29sKQ0KPj4gCS4u Ly4uL2xhdGVzdC1nY2MvZ2NjL2V4cHIuYzo4NzEzDQo+PiAweGMxM2YxNSBleHBhbmRfZXhwcg0K Pj4gCS4uLy4uL2xhdGVzdC1nY2MvZ2NjL2V4cHIuaDozMDENCj4+IDB4YzE3YWNiIGdldF9tZW1v cnlfcnR4DQo+PiAJLi4vLi4vbGF0ZXN0LWdjYy9nY2MvYnVpbHRpbnMuYzoxMzcwDQo+PiAweGMy MjIzZCBleHBhbmRfYnVpbHRpbl9tZW1zZXRfYXJncw0KPj4gCS4uLy4uL2xhdGVzdC1nY2MvZ2Nj L2J1aWx0aW5zLmM6NDEwMg0KPj4gMHhjMjFhMjAgZXhwYW5kX2J1aWx0aW5fbWVtc2V0KHRyZWVf bm9kZSosIHJ0eF9kZWYqLCBtYWNoaW5lX21vZGUpDQo+PiAJLi4vLi4vbGF0ZXN0LWdjYy9nY2Mv YnVpbHRpbnMuYzozODg2DQo+PiAweGZiNWM4NSBleHBhbmRfREVGRVJSRURfSU5JVA0KPj4gCS4u Ly4uL2xhdGVzdC1nY2MvZ2NjL2ludGVybmFsLWZuLmM6MzAzMQ0KPj4gDQo+PiANCj4+IFNvLCBk aWQgSSBkbyBhbnl0aGluZyB3cm9uZz8NCj4+IA0KPj4gUWluZw0KPiANCj4gLS0gDQo+IFJpY2hh cmQgQmllbmVyIDxyZ3VlbnRoZXJAc3VzZS5kZT4NCj4gU1VTRSBTb2Z0d2FyZSBTb2x1dGlvbnMg R2VybWFueSBHbWJILCBNYXhmZWxkc3RyYXNzZSA1LCA5MDQwOSBOdWVybmJlcmcsDQo+IEdlcm1h bnk7IEdGOiBGZWxpeCBJbWVuZMO2cmZmZXI7IEhSQiAzNjgwOSAoQUcgTnVlcm5iZXJnKQ0KDQo=