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 B127D385DC15 for ; Fri, 20 Aug 2021 14:52:27 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org B127D385DC15 Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 17KEpLDP030870; Fri, 20 Aug 2021 14:52:25 GMT Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by mx0b-00069f02.pphosted.com with ESMTP id 3ahs5cjsbk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 20 Aug 2021 14:52:24 +0000 Received: from pps.filterd (userp3030.oracle.com [127.0.0.1]) by userp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 17KEpFgp138960; Fri, 20 Aug 2021 14:52:23 GMT Received: from nam04-dm6-obe.outbound.protection.outlook.com (mail-dm6nam08lp2046.outbound.protection.outlook.com [104.47.73.46]) by userp3030.oracle.com with ESMTP id 3aje12st4a-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 20 Aug 2021 14:52:23 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=K7WfgRIDYkpOlK95peg3D95zjipP6/yzK6fW4ZnzcwH8UqNAPI+Cq5JpiXThaq9RNi0E8+jGnHfwl0cAJV/BB7VWs1TyeYOLIA+OrNG3BsCO1LvdTdXXEnqlhX3i3DIEiukjL+2T3Vk7BIHy8/qQcYx84OfAePaq75RXHOMyiOtFuL8WmKxhf5ng6NhjvIyxnlyICM1pQbsBuizazF9sVea1MYjtp/16bPyiGyk6FvR0FLHj8wd4aIr4Sd6XoybgkYo1crMA3/ZDXY/mI3W5DvsXNGKKU1i5sBWfURO9SnjHGTJzfYSY+NFO52cblgR7Eh4QV0dPm8kTIqfWcNTy1g== 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=y2nmkKqNFkK/GWnmLm/vkIZ40rLS8XwtyLvIhDcoWI4=; b=ir9ViWOMBMoYhJw9owFdO4rhPkqq9gZU75iJQbcqKBXG4Ks+itcNEEzGgwoo1nnVUPPDbqgkKZRtXz8BBy/11SLWJZJnCC2oXW+9BVrdoiYaSzIUcByIx8lye2ku3oom8y/Dl5X1oEsr763HNf20L5j282KvVfceWYB78HMSHe2RxqZsT+U6SQ1rZD5F1FBK7AmIK8mz2L5lYJ4Q8SUymKFLieP5+e9QM8l40gy8fgOVTkXbKyw60VF43S0QJTEtA7OrAdKI5VV0YIKGPW4epDslY0NE1JbIgrNLYERs66Mgd+Ueyb5HDqffMUXBKih0qzvehfz3gTRmdHzIX6WFxw== 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 CH2PR10MB4198.namprd10.prod.outlook.com (2603:10b6:610:ab::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13; Fri, 20 Aug 2021 14:52:21 +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; Fri, 20 Aug 2021 14:52:21 +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: AQHXgpcfj6SO0Rka1UmU0GU91mFncqtrSzIAgAUO6ICABYSmgIAAh5qAgAEYkwCAAGpqAIAAFZqAgAD9noCAAJMVgIABHGcAgABSSoCAAaJvgA== Date: Fri, 20 Aug 2021 14:52:21 +0000 Message-ID: <4C964E1D-496D-4F39-82E2-553D85DA8AA1@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> <7AD092FB-62D6-4C87-B141-FD649E7B3F93@oracle.com> <2F266F68-454F-4E0E-B38B-293F60DE2B1C@oracle.com> In-Reply-To: <2F266F68-454F-4E0E-B38B-293F60DE2B1C@oracle.com> 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: cdea8cc9-b360-4768-daf8-08d963ea1d6f x-ms-traffictypediagnostic: CH2PR10MB4198: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7219; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Od9nOw9PqgZPQ66I/r9pohtTNq2spf/Nk0pZ/+WiJ3pat1xLmpJ4DNMCpQRytupp1uLkdgnEK2m4f9FzwdvhYF0dIRIzA7xW5wxsgg0MKPnZP+ckW/eJWuVqJ2l030nI96dlBiEjVMh8nFhuUAGf5rnSaZiZ9ZN8BqTuvhwonhxBrOIr1uaFTmrO+qic0VeRmYFLGFD6w50DnlZj35qaCMQ5o4j/BhhgZevb6to9tDGR901AhoZIMcsq3Amxnmaf1olw3dU5lTybv8hyCkE+DxK6U0Q8cLP/BBqz5uY7M7F8HTALXK4J5x/a63Jd98b0bM5CZFspYxNepvJE6bjs8b+f/Ow4t/fJFSvaNU8HckbugsFv++Bic49MNKlAYRYGe+151zZRaEPznW6h+ZspzKjDAjuLZbGI75wdOCRA8yJPncJit8RjOzkQ77us06nlvIGMek0YBfqEsqj8rt5wgp+tiEZGTvCKCc1QdITuX5CvXhGVXPEhwNNWdEVnQqKnCsvnTMCcwHMw5lT4gAWmkhLTyUUYGLZThuqmhRundNxhDsvFzaMJrviJ6yDkcDXW7SA9o1CbMYITWjoARVFdQHCsRy7lytyRvFurvtkOTzc6KnT9vJwf9oZFbRhwUBlKjkktx/QeEQ2F+EPbkinjr7crm+LfeWoH+mTkpvP/JSmegZTfD2hIhsSMLFnaWi/HSvTigOCKhL5Va3p9zmaHruLxmT67GHtwnLn+vr37KrJ6qj3RFmST0IkyzUqLNaqp 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)(39860400002)(366004)(376002)(346002)(66556008)(122000001)(66946007)(66476007)(64756008)(44832011)(2906002)(54906003)(186003)(76116006)(2616005)(33656002)(316002)(6512007)(71200400001)(8936002)(38100700002)(91956017)(478600001)(86362001)(83380400001)(6916009)(8676002)(38070700005)(6486002)(4326008)(6506007)(36756003)(66446008)(5660300002)(53546011)(45980500001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?emNGRjhhNkkzRjVNalpqdDUrUlF5c25vZFMyTHcrUHQ4UkJEZDZaeS9JK2hE?= =?utf-8?B?enpmY2g1TjhzNkl5TmJjK1NCRTYxeXVBYlRGRGdZVDVtdDQ5VTZpTEZjWFlx?= =?utf-8?B?a1hCaHhNM09nQWtwTkxiNldaZlhYME1TcWN1OFMzMWxHRHRqOXIyUW9iTVp4?= =?utf-8?B?ZGNja2FucEVETHoxTU5VKzNkcXpLdTZYTm9lS3daYmpCd09UMnRaeU5pZWVC?= =?utf-8?B?bEFkRk1PWmxzQ2d5WWY1MUZWNVk5T25FdHF3aEp2OGRvV3Z6MHlzS2ZuVjQ3?= =?utf-8?B?UjY4aHdTRHN6bDhYZFljNWlERDBaYzhDWXAwazd2czdFT2VHc2g3OHF2SUlP?= =?utf-8?B?aklUNmxDTENMRGh5VDR3RXhDRGRUWkRkeVBxK1hYZEticFplQml0NXpyL2V0?= =?utf-8?B?YlYvdzI1eFpicnRlUER5RTRvUWVZTFladFM0ekphVGJwS1hFL1FuNGVqR0Jr?= =?utf-8?B?REpISEhHM2lra1pjSE1haFJ5Mzg5bnJSOCtWYi8xMkNVRG83YW9yTGYxQTVy?= =?utf-8?B?bUJFUzJVL2IrSUlBSFdscTdLUklyaVQrb2lBTGZ0d2cwTnl4anFiaWtaNUpp?= =?utf-8?B?RExWMVB0WTFENGlVR3V2RkgyUzgwNVVYTDhXVk1weUpnNzJtVlUwY2k2dFNU?= =?utf-8?B?YmdsNjR6Z2VJNi9rZi9LQWxuN2EweXpPQWRtYVFlVHZhYThCOTYweFRUcnht?= =?utf-8?B?dnVGSkpmSjRtcGJRVG0zeTRqOGQ5czhHUmhwRWYreEZqc213b3MxYlNwVFBp?= =?utf-8?B?V0dJOVlHZGQwNVVwL1psaUZVTGdHeGFtbGNQS3cxbFlFNlhMcVlUTmUxVlIv?= =?utf-8?B?MTgzQ0FmcHdPK256Vy9EVndCeUI2YUNFOEdqMWZtWE1LMVZZOUg1WWhESlFv?= =?utf-8?B?YUdsY2RFMVJuT3BIN0FFNHZzalZsT0pobHFvNGFJU1Qwc01oTVRQR3MxZkFz?= =?utf-8?B?ZVgxaTlYN0Vxa1NScHNvbFhMUjU5aHFiUzR1cWJjcHZCTWxBS3RSamtXL2Yx?= =?utf-8?B?SjJJOG1yQ3NTcG4vRkdPVWthaWxoMkV4MFZyVVFUMGNaUUl2VktuV3dWbTdD?= =?utf-8?B?ckNmeUFuOStTZUpKU01qTklTNE9lSEdOV1RiZ2YvazNlNjkrRU9BbjlHMVRz?= =?utf-8?B?V2p2QXdEbkxqclJiY1V4Z3BVUlVQeEUxRktUWUxEdVNCY3RxRzRwQ2RHbjJw?= =?utf-8?B?MHJKV0NORGhmcTJFMXFxNXhaRnhzQjdnbkZzZjVTSGlCSklPZ3lISkNBNjNo?= =?utf-8?B?dGZyTGtwd2tmTTZka2YvV3FOdGNncjJJNUFRR25kTGdQYjBCTmxmSGZ1NVRC?= =?utf-8?B?VC84V280VUc5RFVuZ2xWOVI0ampZeUp6UHdGbWdDaldsTWNqRC9CSXh4WlVM?= =?utf-8?B?a3pOYTJWNUFEM1VuNTN2S1g1T1RCMkRjOWpNYmd6Szd1VkFFMzlpQUFsYmUw?= =?utf-8?B?VzJPZHRKcXlSVUxkc3JqSlBEVzN2VFV0aklDNy80bEszL216QUdwb2l4Sk5B?= =?utf-8?B?eTBsV0crZ3dKWEJaZGxVVVptUGpVOXBjNEdHYzNIVWdRZjdEa0VLOTgrV1ND?= =?utf-8?B?dUVUZWtNVWJ3ZXVtMnc0MUFDUEJWVWIvQk1mQXVJV1M5WXhnTEhrM1JiL01D?= =?utf-8?B?bjk3VW1QU3BNRjY5UzdmOXY0TzJacmduR3lnS0EyZ3BzWnBrZ0F4ZzdVckYz?= =?utf-8?B?Q0dUK1Z3WDBoLzl6ckZmMGRUeDh6eFFQY1c5T2lGbzVSdWNaaExDTDRWZmJ5?= =?utf-8?B?azhoMEYvdEVtZVBZbGM3d1VZcXVkSmc0cGJRN3A1dDVHYlpmQ3dGaUV5bDNl?= =?utf-8?Q?y9Ao1D4/zpOPx8G9dNCjRT2TvSo7oAMKfqiaQ=3D?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: <2DB9B83EBF583F49933AFBFA65C11D8F@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: cdea8cc9-b360-4768-daf8-08d963ea1d6f X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Aug 2021 14:52:21.5608 (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: sfFd6u9HFRPnO6USUnBmum2qUgV+UmOFh+8qG7v1ICNWaqbfh2RyV0ZmvYNlLeowbtNAmhlRufPvMSisJR5HIw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR10MB4198 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=10082 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 spamscore=0 suspectscore=0 phishscore=0 malwarescore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2107140000 definitions=main-2108200083 X-Proofpoint-ORIG-GUID: ykMr5vRPJ_tXQaKyjF1jqxZn_I6a-H7V X-Proofpoint-GUID: ykMr5vRPJ_tXQaKyjF1jqxZn_I6a-H7V 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: Fri, 20 Aug 2021 14:52:38 -0000 DQoNCj4gT24gQXVnIDE5LCAyMDIxLCBhdCA4OjU0IEFNLCBRaW5nIFpoYW8gdmlhIEdjYy1wYXRj aGVzIDxnY2MtcGF0Y2hlc0BnY2MuZ251Lm9yZz4gd3JvdGU6DQo+IA0KPj4+Pj4gQnJlYWtwb2lu dCAxLCBleHBhbmRfREVGRVJSRURfSU5JVCAoc3RtdD0weDdmZmZlOTZhZTM0OCkgYXQgLi4vLi4v bGF0ZXN0LWdjYy9nY2MvaW50ZXJuYWwtZm4uYzozMDIxDQo+Pj4+PiAzMDIxCSAgICAgIG1hcmtf YWRkcmVzc2FibGUgKGxocyk7DQo+Pj4+PiAoZ2RiKSBjYWxsIGRlYnVnX3RyZWUobGhzKQ0KPj4+ Pj4gPHNzYV9uYW1lIDB4N2ZmZmU5NTg0ZTU4DQo+Pj4+PiAgdHlwZSA8cmVhbF90eXBlIDB4N2Zm ZmU5NTliMmEwIGZsb2F0IHNpemVzLWdpbXBsaWZpZWQgU0YNCj4+Pj4+ICAgICAgc2l6ZSA8aW50 ZWdlcl9jc3QgMHg3ZmZmZTk1NzlmNDggY29uc3RhbnQgMzI+DQo+Pj4+PiAgICAgIHVuaXQtc2l6 ZSA8aW50ZWdlcl9jc3QgMHg3ZmZmZTk1NzlmNjAgY29uc3RhbnQgND4NCj4+Pj4+ICAgICAgYWxp Z246MzIgd2Fybl9pZl9ub3RfYWxpZ246MCBzeW10YWI6MCBhbGlhcy1zZXQgMiBjYW5vbmljYWwt dHlwZSAweDdmZmZlOTU5YjJhMCBwcmVjaXNpb246MzINCj4+Pj4+ICAgICAgcG9pbnRlcl90b190 aGlzIDxwb2ludGVyX3R5cGUgMHg3ZmZmZTk1OWI3ZTA+Pg0KPj4+Pj4gIHZpc2l0ZWQgdmFyIDx2 YXJfZGVjbCAweDdmZmZmN2ZmN2JkMCB0ZW1wMT4NCj4+Pj4+ICBkZWZfc3RtdCB0ZW1wMV81ID0g LkRFRkVSUkVEX0lOSVQgKDQsIDIsIDAsICYidGVtcDEiWzBdKTsNCj4+Pj4+ICB2ZXJzaW9uOjU+ DQo+Pj4+PiANCj4+Pj4+IHdoZW4gSSBkZWxldGVkOg0KPj4+Pj4gDQo+Pj4+PiBpZiAoVFJFRV9D T0RFIChsaHMpID09IFNTQV9OQU1FDQo+Pj4+PiBsaHMgPSBTU0FfTkFNRV9WQVIgKGxocyk7DQo+ Pj4+IA0KPj4+PiBidXQgdGhlbiB1c2luZyBTU0FfTkFNRV9WQVIgaXMgYnJva2VuLiAgSSBzdXNw ZWN0IHVzZV9yZWdpc3Rlcl9mb3JfZGVjbA0KPj4+PiBpc24ndCB0aGUgY29ycmVjdCB0aGluZyB0 byBsb29rIGF0LiAgSSB0aGluayB3ZSBuZWVkIHRvIGxvb2sgYXQgd2hhdA0KPj4+PiB0aGUgTEhT IGV4cGFuZGVkIHRvIGlmIGl0IGlzIGEgU1NBX1ZBUl9QICh0aGF0IGluY2x1ZGVzIFNTQSBuYW1l cw0KPj4+PiBidXQgYWxzbyBwbGFpbiBERUNMcyBidXQgbm90IHdoYXQgd2UgZ2V0IGZyb20gVkxB cyB3aGVyZSB3ZSdkIHNlZQ0KPj4+PiAqcHRyKS4gIFNvIHN0aCBsaWtlDQo+Pj4+IA0KPj4+PiBi b29sIHJlZ19saHM7DQo+Pj4+IGlmIChTU0FfVkFSX1AgKGxocykpDQo+Pj4+ICB7DQo+Pj4+ICAg IHJ0eCB0ZW0gPSBleHBhbmRfZXhwciAobGhzLCBOVUxMX1JUWCwgVk9JRG1vZGUsIEVYUEFORF9X UklURSk7DQo+Pj4+ICAgIHJlZ19saHMgPSAhTUVNX1AgKHRlbSk7DQo+Pj4+ICAgIC8qIElmIG5v dCBNRU1fUCByZWdfbGhzIHNob3VsZCBiZSBSRUdfUCBvciBTVUJSRUdfUCAoYnV0IG1heWJlDQo+ Pj4+ICAgICAgIGFsc28gQ09OQ0FUIG9yIGxvd3BhcnQuLi4/KSAgKi8NCj4+Pj4gIH0NCj4+Pj4g ZWxzZQ0KPj4+PiAgew0KPj4+PiAgICBnY2NfYXNzZXJ0IChpc192bGEpOw0KPj4+PiAgICByZWdf bGhzID0gZmFsc2U7DQo+Pj4+ICB9DQo+Pj4+IA0KPj4+PiBpZiAoIXJlZ19saHMpDQo+Pj4+ICBt ZW1zZXQgcGF0aA0KPj4+PiBlbHNlDQo+Pj4+ICBleHBhbmRfYXNzaWdubWVudCBwYXRoDQo+Pj4g DQo+Pj4gQWZ0ZXIgbWFraW5nIHRoZSBmb2xsb3dpbmcgY2hhbmdlOg0KPj4+IA0KPj4+ICsgIGJv b2wgcmVnX2xocyA9IHRydWU7DQo+Pj4gDQo+Pj4gIHRyZWUgdmFyX3R5cGUgPSBUUkVFX1RZUEUg KGxocyk7DQo+Pj4gIGdjY19hc3NlcnQgKGluaXRfdHlwZSA+IEFVVE9fSU5JVF9VTklOSVRJQUxJ WkVEKTsNCj4+PiANCj4+PiAtICBpZiAoaXNfdmxhIHx8ICghdXNlX3JlZ2lzdGVyX2Zvcl9kZWNs IChsaHMpKSkNCj4+PiArICBpZiAoU1NBX1ZBUl9QIChsaHMpKQ0KPj4+ICsgICAgew0KPj4+ICsg ICAgICBydHggdGVtID0gZXhwYW5kX2V4cHIgKGxocywgTlVMTF9SVFgsIFZPSURtb2RlLCBFWFBB TkRfV1JJVEUpOw0KPj4+ICsgICAgICByZWdfbGhzID0gIU1FTV9QICh0ZW0pOw0KPj4+ICsgICAg fQ0KPj4+ICsgIGVsc2UNCj4+PiArICAgIHsNCj4+PiArICAgICAgZ2NjX2Fzc2VydCAoaXNfdmxh KTsNCj4+PiArICAgICAgcmVnX2xocyA9IGZhbHNlOw0KPj4+ICsgICAgfQ0KPj4+ICsNCj4+PiAr ICBpZiAoIXJlZ19saHMpDQo+Pj4gICAgew0KPj4+IA0KPj4+IEkgZ290IGV4YWN0bHkgdGhlIHNh bWUgaW50ZXJuYWwgZXJyb3IgdGhhdCBmYWlsZWQgYXQgZXhwci5jOg0KPj4+IA0KPj4+IDg0MzYg ICAvKiBXZSBtdXN0IGhhdmUgbWFkZSBwcm9ncmVzcy4gICovDQo+Pj4gODQzNyAgIGdjY19hc3Nl cnQgKGlubmVyICE9IGV4cCk7DQo+Pj4gDQo+Pj4gDQo+Pj4gTG9va3MgbGlrZSBmb3IgdGhlIGZv bGxvd2luZyBjb2RlOg0KPj4+IA0KPj4+IDMwMjYgICBpZiAoIXJlZ19saHMpDQo+Pj4gMzAyNyAg ICAgew0KPj4+IDMwMjggICAgIC8qIElmIHRoaXMgaXMgYSBWTEEgb3IgdGhlIHZhcmlhYmxlIGlz IG5vdCBpbiByZWdpc3RlciwNCj4+PiAzMDI5ICAgICAgICBleHBhbmQgdG8gYSBtZW1zZXQgdG8g aW5pdGlhbGl6ZSBpdC4gICovDQo+Pj4gMzAzMCAgICAgICBtYXJrX2FkZHJlc3NhYmxlIChsaHMp Ow0KPj4+IDMwMzEgICAgICAgdHJlZSB2YXJfYWRkciA9IGJ1aWxkX2ZvbGRfYWRkcl9leHByIChs aHMpOw0KPj4+IDMwMzIgDQo+Pj4gMzAzMyAgICAgICB0cmVlIHZhbHVlID0gKGluaXRfdHlwZSA9 PSBBVVRPX0lOSVRfUEFUVEVSTikgPw0KPj4+IDMwMzQgICAgICAgICAgICAgICAgICAgICBidWls ZF9pbnRfY3N0IChpbnRlZ2VyX3R5cGVfbm9kZSwNCj4+PiAzMDM1ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgSU5JVF9QQVRURVJOX1ZBTFVFKSA6DQo+Pj4gMzAzNiAgICAgICAg ICAgICAgICAgICAgIGludGVnZXJfemVyb19ub2RlOw0KPj4+IDMwMzcgICAgICAgdHJlZSBtX2Nh bGwgPSBidWlsZF9jYWxsX2V4cHIgKGJ1aWx0aW5fZGVjbF9pbXBsaWNpdCAoQlVJTFRfSU5fTUVN U0VUKSwNCj4+PiAzMDM4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzLCB2 YXJfYWRkciwgdmFsdWUsIHZhcl9zaXplKTsNCj4+PiAzMDM5ICAgICAgIC8qIEV4cGFuZCB0aGlz IG1lbXNldCBjYWxsLiAgKi8NCj4+PiAzMDQwICAgICAgIGV4cGFuZF9idWlsdGluX21lbXNldCAo bV9jYWxsLCBOVUxMX1JUWCwgVFlQRV9NT0RFICh2YXJfdHlwZSkpOw0KPj4+IDMwNDEgICAgIH0N Cj4+PiANCj4+PiBBdCBsaW5lIDMwMzAsIOKAnGxoc+KAnSBjb3VsZCBiZSBhIFNTQV9OQU1FLg0K Pj4+IA0KPj4+IE15IHF1ZXN0aW9ucyBhcmU6DQo+Pj4gDQo+Pj4gMS4gQ291bGQgdGhlIHJvdXRp bmUg4oCcbWFya19hZGRyZXNzYWJsZeKAnSBhbmQg4oCcYnVpbGRfZm9sZF9hZGRyX2V4cHLigJ0g YmUgYXBwbGllZCBvbiBTU0FfTkFNRT8NCj4+IA0KPj4gTm8uDQo+PiANCj4+PiAyLiBDb3VsZCB0 aGUgcm91dGluZSDigJxleHBhbmRfYnVpbHRpbl9tZW1zZXTigJ0gYmUgYXBwbGllZCBvbiB0aGUg bWVtc2V0IGNhbGwgd2hvc2Ug4oCcREVTVOKAnSBpcw0KPj4+ICAgYW4gYWRkcmVzcyBleHByZXNz aW9uIG9uIFNTQV9OQU1FPyANCj4+IA0KPj4gTm8uDQo+PiANCj4+PiAzLiBXaXRoaW4g4oCcZXhw YW5kX0RFRkVSUkVEX0lOSVTigJ0sIGNhbiBJIGNhbGwg4oCcZXhwYW5kX2J1aWx0aW5fbWVtc2V0 4oCdIHRvIGV4cGFuZCAuREVGRVJSRURfSU5JVD8NCj4+IA0KPj4gV2VsbCwgbm90IHdpdGggImlu dmFsaWQiIEdFTkVSSUMgSSBmZWFyIChhZGRyZXNzIG9mIGEgU1NBIG5hbWUpLg0KPj4gDQo+Pj4g SSBzdXNwZWN0IHRoYXQgb25lIG9mIHRoZSBhYm92ZSAzIG1pZ2h0IGJlIHRoZSBpc3N1ZSwgYnV0 IG5vdCBzdXJlIHdoaWNoIG9uZT8NCj4+IA0KPj4gQWxsIG9mIHRoZSBhYm92ZSA7KSAgU28gd2hp bGUgcmVnX2xocyBpcyBub3cgcHJlY2lzZSBhcyB0byBob3cgdGhlDQo+PiB2YXJpYWJsZSB3aWxs IGVuZCB1cCAodGhlIFNTQSBuYW1lIHdpbGwgZW5kIHVwIGFzIGEgc3RhY2sgdmFyaWFibGUgaW4g dGhpcw0KPj4gY2FzZSwgZm9yIHdoYXRldmVyIHJlYXNvbiksIGV4cGFuc2lvbiB2aWEgbWVtY3B5 IG9ubHkgd29ya3Mgd2hlbg0KPj4gd29ya2luZyBvbiB0aGUgUlRMIHJlcHJlc2VudGF0aW9uLiAg VGhlIHVzdWFsICJ3b3JrYXJvdW5kIiAodWdoKQ0KPj4gaXMgdG8gdXNlIG1ha2VfdHJlZSAoKSwg c28gaW4gdGhlICFyZWdfbGhzIHBhdGggeW91J2QgZG8NCj4+IA0KPj4gLyogR2V0IGEgbmV3IEdF TkVSSUMgcmVwcmVzZW50YXRpb24gZm9yIHRoZSBSVEwuICBUaGF0J3MgbmVjZXNhcnkNCj4+ICAg IGluIGNhc2UgTEhTIGlzIGFuIFNTQSBuYW1lLiAgKi8NCj4+IGxocyA9IG1ha2VfdHJlZSAoVFJF RV9UWVBFIChsaHMpLCB0ZW0pOw0KPiANCj4gVGhpcyByZXNvbHZlZCB0aGUgaXNzdWUuDQoNCkhv d2V2ZXIsIHRoZXJlIHdhcyB0d28gcnVudGltZSBlcnJvcnMgd2l0aCBDUFUyMDE3IHdpdGggdGhp cyBjaGFuZ2UuDQoNCkkgZ3Vlc3MgdGhhdCB0aGVyZSBtaWdodCBiZSBzb21lIGlzc3VlIHdpdGgg 4oCcZXhwYW5kX2V4cHLigJ0gKyDigJxtYWtlX3RyZWXigJ0gaGVyZS4gDQoNClNvLCBJIGNoYW5n ZWQgdGhlIGNvZGUgdG8gdXNlIHRoZSBhbHRlcm5hdGl2ZSBzb2x1dGlvbiB0aGF0IHlvdSBzdWdn ZXN0ZWQ6DQoNCj4gDQo+PiANCj4+IGFsdGVybmF0aXZlbHkgeW91IGNvdWxkIG1heWJlIGRvDQo+ PiANCj4+IGlmIChERUNMX1AgKGxocykpDQo+PiAgIHsNCj4+ICsgICAgICBydHggdGVtID0gZXhw YW5kX2V4cHIgKGxocywgTlVMTF9SVFgsIFZPSURtb2RlLCBFWFBBTkRfV1JJVEUpOw0KPj4gKyAg ICAgIHJlZ19saHMgPSAhTUVNX1AgKHRlbSk7DQo+PiAgIH0NCj4+IGVsc2UgaWYgKFRSRUVfQ09E RSAobGhzKSA9PSBTU0FfTkFNRSkNCj4+ICAgcmVnX2xocyA9IHRydWU7DQo+PiBlbHNlDQo+PiAg IHJlZ19saHMgPSBmYWxzZTsNCj4+IA0KPj4gdGh1cyB0cmVhdCBTU0EgbmFtZXMgYXMgcmVnaXN0 ZXIgc3RvcmFnZSBhbHdheXMgKGV2ZW4gaWYgaXQgd2lsbCBlbmQNCj4+IHVwIG9uIHRoZSBzdGFj aykuDQoNClRoaXMgZGlkIHJlc29sdmUgYWxsIHRoZSBpc3N1ZXMgaW5jbHVkaW5nIENQVTIwMTcg cnVudGltZSBlcnJvcnMuDQpXaXRoIHRoaXMgc29sdXRpb24sIGFsbCBTU0FfTkFNRXMgd2lsbCBi ZSBleHBhbmRlZCB0aHJvdWdoIOKAnGV4cGFuZF9hc3NpZ25tZW504oCdIGV2ZW4gdGhvdWdoIHRo ZXkgYXJlIGluIHN0YWNrLg0KdGhlIGdlbmVyYXRlZCBjb2RlIHdpbGwgYmUgY29ycmVjdC4gQnV0 IHRoZSBwZXJmb3JtYW5jZSBtaWdodCBiZSBhIGxpdHRsZSBiaXQgZGlmZmVyZW50IHRoYW4gdGhy b3VnaCBtZW1zZXQuIA0KDQpRaW5nDQogDQo+IA0KPiBNeSBxdWVzdGlvbiBoZXJlLCBmb3IgYSBj b21wbGljYXRlIHN0cnVjdHVyZSBTU0FfTkFNRSwgd2lsbCBleHBhbmRpbmcgdGhyb3VnaCBtZW1z ZXQgYmV0dGVyIHRoYW4gZXhwYW5kX2Fzc3NpZ25tZW50PyANCj4gDQo+IFFpbmcNCj4+IA0KDQo=