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 D62783858409 for ; Wed, 16 Aug 2023 21:42:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D62783858409 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oracle.com Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 37GLE1ce022168; Wed, 16 Aug 2023 21:42:07 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-id : content-transfer-encoding : mime-version; s=corp-2023-03-30; bh=WzVMUyMJ9H5SWQZ8gL/teQTsoCCafrXMfBvOxAs3D9k=; b=SRkLlcANwXmDR3NoPIbQHNmkzYtxyVumiqhkXwEPAWDqRGOpoawQKXc5tuTxN8BV12SZ S5VEKuYolCfExOFLveacUdoW+4eQ0xXO8/Yd8oZa2n0Mv+PsNac9iDUypk0lC4RH3SBG Uyl/oz09m8eKJEGM1nwhBQRrVLp4X9EGYXNTB2eq7aRjrmIVcXcDtWwrV4PH9kBWqgcI 5KBV16A4V3HiekEO5zARqkTN5sTc+A1G+kZ87VxOphtblDccEtnm9faofcE9X43ChkFh +bhCnVguwM9IhlrsC3qkpmydWNaNs9mDtsFHt0uEOdZ9MlEhtUdrXLdT4jGV9FN8H3BM Yw== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3se2y3066y-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 16 Aug 2023 21:42:07 +0000 Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 37GLFUpq006666; Wed, 16 Aug 2023 21:42:06 GMT Received: from nam04-dm6-obe.outbound.protection.outlook.com (mail-dm6nam04lp2048.outbound.protection.outlook.com [104.47.73.48]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3sey2f299g-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 16 Aug 2023 21:42:06 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ng7vO+XIurVRZ6TSzV4OdAp6O2IZn2HluNyZMyJu/p3coB1dwwfWkdAoxKXdcF5/22H5hpxtRq3A2iqbOcrWhWCaQOw+ATyo0uGVZVyrn5nNNwgWWt1LzTgYZ4jPnZpx/jlzpC8U4tFnCJqv0o7KBZUy4MGUlHdSKFfEfTlxBc/b76QMkzl6o4sfaBgjyQC1Dvi/A70V82mpPltnlVHAZfJpYdcPgdhYBrBx4k8NUP5YRqo79KqZlrRyVeBPfIYV9/6kg63Ci1n9NAFEC3pLFJ8bc/qPDb3zLZuXvWAY23rO5Q/zYZGSDLWcmwbSVboMLHtS/jrKudaDBCpeDENNCA== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=WzVMUyMJ9H5SWQZ8gL/teQTsoCCafrXMfBvOxAs3D9k=; b=bK0icQhnDkNLpjVfRIc8Gs72Dghr15xaPKxpBYq36PFw2wmToHS7LFm01/L7o1GhNFqKIjSF5oMxwmtPJqoGNL6Q7XDmhtFih55R40YnP8DLyx4B9RjMrT6W5iCTSAz/4gejKs/2/o2w/zwzU8wp3YUFGE30EP8IgRLzoRBVS8X1QXxykTpGKhMtES5SYyXdX/621ovjj12EwpaocQraEo5/61BRXDiVPmOcQfKirXpoMwy0mg24RvGfC6sG8rM3zPed5sn++Lbcp5x9taaGm0fviUh5eiXr0+H6sidvYMlgyFuxuQp3S6waPpx5t3HdZBG05GpOZGK/M+IfdwA9qw== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WzVMUyMJ9H5SWQZ8gL/teQTsoCCafrXMfBvOxAs3D9k=; b=PDvWbBp28/VA3HbK7qtNHlX3b9OkdiXqdV+9BXE1GXm1DRZQhhN7vn+VLLUpEyDLVO0s9bVkeJTcc0exD3Q1wJe29byaaPqSQimuFMF37DXdH4Ru9UucfXWVLKAjmlrWhiz00jh3/A8d14uI/Y/3KT9qXmfG4Dm1x2wI1PFbW+c= Received: from CH2PR10MB4344.namprd10.prod.outlook.com (2603:10b6:610:af::19) by SA3PR10MB7094.namprd10.prod.outlook.com (2603:10b6:806:31b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.26; Wed, 16 Aug 2023 21:42:04 +0000 Received: from CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::5afd:d02a:38ef:94ba]) by CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::5afd:d02a:38ef:94ba%7]) with mapi id 15.20.6678.029; Wed, 16 Aug 2023 21:42:04 +0000 From: Qing Zhao To: Siddhesh Poyarekar , jakub Jelinek , Martin Uecker CC: Michael Matz , Kees Cook , Joseph Myers , Richard Biener , Qing Zhao via Gcc-patches , "isanbard@gmail.com" Subject: Re: [V2][PATCH 0/3] New attribute "counted_by" to annotate bounds for C99 FAM(PR108896) Thread-Topic: [V2][PATCH 0/3] New attribute "counted_by" to annotate bounds for C99 FAM(PR108896) Thread-Index: AQHZxwwaiTihIsYc/kmfUkC2AXJ+ra/fBvyAgAF7dgCAAaYQgIAABGqAgABAAgCAALUXgIAAdZ6AgAAK44CAAAElgIAAAWUAgAADHACAAAWSAIAAFAEAgAAChACAAAegAIAJuv4A Date: Wed, 16 Aug 2023 21:42:04 +0000 Message-ID: References: <3D502A20-7723-456B-8A29-3A4D1502CE74@oracle.com> <09e2fa3a43d3c0f909d4c8d455a9d2ccbac79fef.camel@gwdg.de> <0d943621-7c27-52b0-37f3-63cfd80e8f1b@gotplt.org> <23ab8c87-18fa-2237-62cf-2f4996af6f5e@gotplt.org> <43926f3a-fa91-07a4-dc6a-3d70784e3508@gotplt.org> In-Reply-To: <43926f3a-fa91-07a4-dc6a-3d70784e3508@gotplt.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3696.120.41.1.3) x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CH2PR10MB4344:EE_|SA3PR10MB7094:EE_ x-ms-office365-filtering-correlation-id: cec9a30e-a0f9-4ced-7e6b-08db9ea1a18b x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: jdEOefGiICM45ci1JZyj8i5brblJATTAjrmK8uqIptyIteSpEnjoPb7f1FtR1AbX0AqY2TXoT6bCjCvxdKMp2Hul1MqguBXFfEhmxhJVzEv4erQCfFxR2+ViXeBpVl6zku9/eyfeQ37rZenor4a1w0S6BwiWBb77x712PhG0kB5FivXf7Imae4hLNgs4slByt8G3qJkTFFUutjMh0nMqz+2YOMnebLw2aefRyIUCjj/nXSSkTBx8+BlyiDozBfnjgQWePtvqXevrkYABebyGH6OyzSaRtXkYh44oybaJHl+AH+vFAiACb95XU1byFejC/lQ/JNq4bfZTriwavb/Op/Mz9J+MC+FW8pM4pB+MsRpbQ9fBR8E+s/Zou21g0FK4s7iBjNmE+KOlUx0LPuIOnO45WaEM3kbctfJ/BcaAdFC/3jAtrXSJM8zasE6G4fCgKQy7vrVFWY04p4mmoKIIZtUTqyqtXEdfnlnB6mVJvQ3nKKGqpm5OMyn22RhgQxYYljgeyDLDelWqRTaJSslFhTZVWYKHPOhs1as68qNO+OO6f+MsDCXWdPrNtlhKiYSKvG+Q17U9kJfE5lee0gGTIQUlySJuljpDXB5fiNdBgl4Tftv2WdhCkV8I5vJC8J7pavraEglt5NpclmIJfgJ41A== 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:(13230031)(366004)(346002)(136003)(396003)(376002)(39860400002)(1800799009)(451199024)(186009)(2906002)(83380400001)(86362001)(478600001)(36756003)(6506007)(6486002)(2616005)(71200400001)(33656002)(6512007)(53546011)(26005)(44832011)(5660300002)(41300700001)(66446008)(122000001)(54906003)(316002)(66946007)(91956017)(66556008)(66476007)(110136005)(64756008)(76116006)(8676002)(8936002)(4326008)(38100700002)(38070700005)(45980500001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?L2U2RUhGOG9RZVV2aEU1aWt3OFJjSlZpVGZYZzdFaTA3ZVBSdjBRWGlOd3Va?= =?utf-8?B?UTk3ZzdpTXJJR2VJOWM5NE1kOXpkRHpGaUlCaG9jSmZ5T1FEOUFzR0V4MkU3?= =?utf-8?B?TDhBYjRKU3FqQnEwVFE3amNwUm5NWFRqdEdxSUJ3Z011YkMrQWJGVlovdmZQ?= =?utf-8?B?bUxoMzlGNkhUU0doWW8yaWI2MWduOXNDWXUrOEdIcHdRMldBVkhweGg5V1Qz?= =?utf-8?B?S3UvR0UzNWltSXR2SHdCd1NiZjl6ZE0xQzdCUElKSGtzTHRRRzUzVXptdzBJ?= =?utf-8?B?dHJZZjJ1U2dYcW5KNHVxMzRkcDFPRzU3RlJxelRnc21NcElNc1ExQm9WalVC?= =?utf-8?B?NmRBeUk3NEpYNERvcXkzTFJ4czZNdjhtOG5WdSt2Qm9hUm9ndEhyN1c3TU9y?= =?utf-8?B?MUJiZ0wyZjNWOXlza3FKTThwSERZeUdpT3hjZytxKzhBVUwzZWRkK0VwOFBN?= =?utf-8?B?MFdzSXd5NHpJZEdxK3Viays4MHlRRi8vdmJ2a1lyNS9wK1hKTm9KdjBOY3lH?= =?utf-8?B?Y3psKzhocGc0SFBIbkdYem5SOEVpQTF0NTBhOURYekdUbDZWK1dnNUwyNDFY?= =?utf-8?B?MWZlblo1SWtEQ1NXUyt1T2tCN1hDL0x1UXJjcXZMUER6TExwclNqaU9VYllt?= =?utf-8?B?bVNzcWJyZ3lKNFZHNThUMTk4KzB3R2tJQVN4RGdVUy9tMERDWmcrb3liSGhQ?= =?utf-8?B?cW1HdlVvcHN3ZGNZdE1pM0xsbE1EdGNjQ2l4THZjdnNROU8xRFZjSytLRVM5?= =?utf-8?B?MHdDTE9WanUwazVRR0xOL1IrWmlsNExuanhWd3dFV3AvcFppelRjenBJVUsz?= =?utf-8?B?UzhrY2dBWGFQZXNUYlRrU3NQRGc3MUNORUN1YVlxTUp5a0xhbGlPQXl2UHFt?= =?utf-8?B?U1V3Z0UxczNwY3hwbkl0RkJLai95amdKZldMdUFWTFlYYm5KOHF0Mi9hYVhF?= =?utf-8?B?QXdORjFDVEc0VlBkcWx1K2xxWWNza0daelI0cnF3Y0ZOVmgxN3RveldHTVJQ?= =?utf-8?B?WnR6R1NxRVRIbVFmK2o2djg4bTNiWXB0d0RHT2xaNEJUbmNVSDA4WUN5OWRN?= =?utf-8?B?T0RuaVN0YXV3WTN5RUFjYkJic3BNZEhvVTk0enF4aTI2ZkMrZE5XOFBENHZl?= =?utf-8?B?QjJFbDQreDl1MzBwM2gvU2dVQjA1dU82WWdmMjVnVU5Jc2Q2RVlhRENKU2Fv?= =?utf-8?B?VUlpMnBBRmZvMW00ekxOWjJvWVZ3VHQvdlBPNXhXV0tVRTNJTXN6WForN2Fz?= =?utf-8?B?b1A1YTRwV2VGNDJ1NGpIMFIzeFZaNXNwNldVd01saDN1MDU3UXpHR3BLZ25m?= =?utf-8?B?dVlHVFdrTndRN1VSUmR6STJlZlFWaEFmSDBSWllOdUdSdFZnZHRkSkFoZGw1?= =?utf-8?B?WGpWUjAvbStBVmJMcmY3YStsVXVYVDFzUU9xVVBnaEE2VW9yZUYvME9reS9a?= =?utf-8?B?SEg5b2ZPY3RTQlJuQStyODR2bXo2Z0JUMVdHcHRZdFdVU2g5ZHhTL1BpN3NT?= =?utf-8?B?VW4yYUN4c2JYeFNTYTd5bEpyVXp3N2ZpaVF4QTVEaWtvcXBoMkU4RUluUTU3?= =?utf-8?B?R2pmdGxUbFpad2lZeVFBb3ZtMDZib2JQTFZENUlQWUloTmF3ZldaaFZVRzN6?= =?utf-8?B?anpoelhXb0VjcWt1UGFpRXBiOE9pem5xNDFHVFlUNW5hTWhza0ZKWU5XTUQ0?= =?utf-8?B?UndYeWFUMC96Ukt1dVgvN1ZmSXY2L20vS1hIWndneXo4VmZEZmhUWnBVUTFW?= =?utf-8?B?cnlISXVtY0M4b3cwN3VDOHZJUnNIaWdnN243TGFQZ1NnYWZQajhCVjd1UElw?= =?utf-8?B?SVJrNC9teDlvNVYvdWZxcHhLYzR2WjJXVnVjclpvYnhXTVYvMzIyQUhzUmpw?= =?utf-8?B?ZmprQ2pZTGVqZGxHRjk4azJaaEk4T2pXMXdaSnVWMkhFb2YvODl2MnJsM1g1?= =?utf-8?B?UTVlT3N3aHk3TW9vMWMva0JYYTdZRytoeHEvKzJPTGJxeU9QV1hrSThONkxp?= =?utf-8?B?QmxKNGJ2RUVXczJ1MUJnbGs5NDI2cmhvczAxS3NSRnlGbXdudWV2RHFDL0tl?= =?utf-8?B?RHlOdkd0M3YxdTJiSFJ1Z3BHRFJMaEFoL2ZpVWRIK0MzLzU4alEvM2IrSUdK?= =?utf-8?Q?XFBH9c3N6V9etJYihkjk0dBk0?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?utf-8?B?cFZDdXZBaUhXRGVvQ2tlVGdFSnlxRG9TcXc4dUZhb3ZwYnc0YkRNYmFOUUlz?= =?utf-8?B?Z0toamdBcVI2Q2pDZVQ5eUNtdnJDT2JOZVdmeklDUHlSOVBVK0VMeTNhM2pv?= =?utf-8?B?WGErYkgraFpqTGRkZHdYOUwvei9ib014cEZFYmxvTmc2SmtIbzRnVWM2RUJw?= =?utf-8?B?TEhVNGlSc2xEdzBHQVlWRzBRbkVlRkZ2UDJycGFHZFNveGZDWWw3RTlhRGc2?= =?utf-8?B?K3cwbUxCQnRVNVNoNWNBY0ZqbkJseEk2R0NidEc3amExYWpxNHp3UEFvV0Zj?= =?utf-8?B?eXBmcTVyOTgvRU9OeWRVL01tM0xWU0NJMmZVR3BzMk10M0Urc0ZVRnN1TlBK?= =?utf-8?B?aFBMaDdPNnRpaFVqZDFPY0MyL1RvOHlKaktUaXZHS2JFSzAvaXdZeHpPZVg5?= =?utf-8?B?V1hmQW4wbGVKWE1nM001eXg2VU43SnM1aTlJT3Jscml1TW9RWXYwRlhVZmk0?= =?utf-8?B?U2lBS1Q2dEIyei9LQWFkWDBMV25mbnR4K2tlKzM3ejNCR0JxOGp3TzZPdEJJ?= =?utf-8?B?cmptczBXbEI5NDcwUEdzeW54QW80SUdrUVkvd0FpNDBRaEJiWTA4TjhrcUJk?= =?utf-8?B?Nk1WMHYycTEzQk02SlI5T0s5c3BnbWVrRWlCRTBRcXhHSnEyci9LNk8xOHZ3?= =?utf-8?B?M1I1ZU9lQUQ5bERqT3VvSTZ0L1VSWVFsSXJPT1Y3OWFwZTVBZE9OZ3ZsMFEw?= =?utf-8?B?Uk9FdWlXelg0NGJ6d2VEQXUyN2FjRFJHWEhSTXd4c29RZzVxcmhhTzJnMEJ0?= =?utf-8?B?KytZQXZKeXU5Z1N5dVF5eHdaZG1DbENOZ3NiakFUYzRWSHh1TkRCaFhSTkVx?= =?utf-8?B?ZUlZallUdndZdVh3UVZtaENzU0dFMnlOaXp0VTUvSFlqOXB3RzFUdXpibnNY?= =?utf-8?B?UXlLSUI3eGJQUVNlMEllemJldTZtY3l5SnllNXVNdTJWK0FJNlkxTi91ZnZ5?= =?utf-8?B?TEtCQWdCUUFKb2REQXdnOUZlMzVzQ0t2bUxJdm84T3ZiRnc5M3dqOTl3dENp?= =?utf-8?B?Z0g5djJJZURtWCtNK3lCNGlVRllUVnI1YXp4Z0hiNXJIYmNVbHU5Zi95aEFB?= =?utf-8?B?aGwzSk1kM3I3Nk5vNkY0bGh1dmxtQzJiNUlsOEhUOS9ZTWVCWHZXbmh1RVRY?= =?utf-8?B?Mjk5dStJeGU1UUhSb1JwVlBSeFhUS1VFUmNhTXkyNnc4OGFkb0laNlJmMXZS?= =?utf-8?B?aGdDQUlBS3RCeStDRzBqWkdZUE9Ea1hUdENyV1dvTTJEN2NJcFdKVjNkR0FT?= =?utf-8?B?Sk1tclVteENoTGRLK1RsVS9WN05qZ3RsbWZnS0lXWnNJS1NZQT09?= 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: cec9a30e-a0f9-4ced-7e6b-08db9ea1a18b X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Aug 2023 21:42:04.0126 (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: LqKQkDIUOtk24tshOqfLzidRApTjfcRWg1M+RtCxAVDV+g+WBPTquIkNRDB8rytWCJrvhqDpy579IN7pYbzHbA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR10MB7094 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.267,Aquarius:18.0.957,Hydra:6.0.601,FMLib:17.11.176.26 definitions=2023-08-16_19,2023-08-15_02,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 phishscore=0 mlxlogscore=999 bulkscore=0 adultscore=0 spamscore=0 malwarescore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2308160193 X-Proofpoint-ORIG-GUID: 2PoTTJ_OPrzKQAQZBrkjpQXDXTp7eJsi X-Proofpoint-GUID: 2PoTTJ_OPrzKQAQZBrkjpQXDXTp7eJsi X-Spam-Status: No, score=-5.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: SGksIA0KDQpBZnRlciBzb21lIG1vcmUgc3R1ZHlpbmcgYW5kIGNvbnNpZGVyYXRpb24sIHRoZSBm b2xsb3dpbmcgaXMgbXkgdGhvdWdodHM6DQoNCkZvciBhIHN0cnVjdHVyZSB3aXRoIEZNQSBhbm5v dGF0ZWQgd2l0aCBjb3VudGVkX2J5IGF0dHJpYnV0ZTogKHRoZSBmb2xsb3dpbmcgc21hbGwgZXhh bXBsZSkNCg0KPT09PQ0Kc3RydWN0IGFubm90YXRlZCB7DQogICAgICAgIHNpemVfdCBmb287DQog ICAgICAgIGNoYXIgYjsNCiAgICAgICAgY2hhciBhcnJheVtdIF9fYXR0cmlidXRlX18oKGNvdW50 ZWRfYnkgKGZvbykpKTsNCn07DQoNCiNkZWZpbmUgbm9pbmxpbmUgX19hdHRyaWJ1dGVfXygoX19u b2lubGluZV9fKSkNCiNkZWZpbmUgTUFYKGEsIGIpICAoKGEpID4gKGIpID8gKGEpIDogIChiKSkN Cg0Kc3RhdGljIHN0cnVjdCBhbm5vdGF0ZWQgKiBub2lubGluZSBhbGxvY19idWYgKHNpemVfdCBs ZW5ndGgpDQp7DQogIHN0cnVjdCBhbm5vdGF0ZWQgKnA7DQogIHAgPSAoc3RydWN0IGFubm90YXRl ZCAqKSBtYWxsb2MgKE1BWCAoc2l6ZW9mIChzdHJ1Y3QgYW5ub3RhdGVkKSwNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkob2Zmc2V0b2YgKHN0cnVjdCBhbm5vdGF0 ZWQsIGFycmF5WzBdKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJ CQkrIChsZW5ndGgpICogc2l6ZW9mIChjaGFyKSkpKTsgDQogIHAtPmZvbyA9IGxlbmd0aDsNCiAg cmV0dXJuIHA7DQp9DQoNCmludCBtYWluICgpDQp7DQogIHN0cnVjdCBhbm5vdGF0ZWQgKnAgPSBh bGxvY19idWYgKDEwKTsNCiAgcHJpbnRmKCJ0aGVfX2Jkb3Mgb2YgbWF4IHAtPmFycmF5IHdob2xl IGlzICVkIFxuIiwgX19idWlsdGluX2R5bmFtaWNfb2JqZWN0X3NpemUocC0+YXJyYXksIDApKTsg DQogIHByaW50ZigidGhlX19iZG9zIG9mIG1heCBwLT5hcnJheSBzdWIgaXMgJWQgXG4iLCBfX2J1 aWx0aW5fZHluYW1pY19vYmplY3Rfc2l6ZShwLT5hcnJheSwgMSkpOw0KICBwcmludGYoInRoZV9f YmRvcyBvZiBtaW4gcC0+YXJyYXkgd2hvbGUgaXMgJWQgXG4iLCBfX2J1aWx0aW5fZHluYW1pY19v YmplY3Rfc2l6ZShwLT5hcnJheSwgMikpOw0KICBwcmludGYoInRoZV9fYmRvcyBvZiBtaW4gcC0+ YXJyYXkgc3ViIGlzICVkIFxuIiwgX19idWlsdGluX2R5bmFtaWNfb2JqZWN0X3NpemUocC0+YXJy YXksIDMpKTsgICANCn0NCg0KPT09PT0NCg0KIFRoZSBhY3R1YWwgYWxsb2NhdGlvbiBvZiB0aGUg c3RydWN0dXJlIGFuZCB0aGUgbGF5b3V0IG9mIHRoZSBzdHJ1Y3R1cmUgcCBpcyBmaXhlZCBhdCBj b21waWxhdGlvbiB0aW1lLA0KICAgIEEuIFdlIGtub3cgdGhlIG9mZnNldG9mIChwLT5hcnJheSkg ZHVyaW5nIGNvbXBpbGF0aW9uIHRpbWUsIChpdOKAmXMgOSkNCiAgICBCLiBXZSBhbHNvIGtub3cg dGhlIHNpemUgb2YgdGhlIHAtPmFycmF5IHRob3VnaCB0aGUgY291bnRlZF9ieSBhdHRyaWJ1dGUs IGl04oCZcyBwLT5mb28gKiBzaXplb2YgKGNoYXIpLg0KDQogIDEuICBmb3Igc3Vib2JqZWN0IHNp emUgKDEvMyBtb2RlcyksIEJvdGggQSBhbmQgQiBhcmUga25vdyBhdCBjb21waWxhdGlvbiB0aW1l LCB3aGF0ZXZlciBpdOKAmXMgTUFYIG9yIE1JTiwgd2UgDQogICAgY2FuIGRldGVybWluZSAgdGhl IHNpemUgb2YgdGhlIHN1Ym9iamVjdCBwLT5hcnJheSBpczogIHAtPmZvbyAqIHNpemVvZihjaGFy KSB3aXRob3V0IGVzdGltYXRpb24uIA0KDQogIDIuICBmb3Igd2hvbGUgb2JqZWN0IHNpemUgKDAv MiBtb2RlcyksIHNpbmNlIHdlIGRvbuKAmXQgaGF2ZSBhbnkgaW5mbyBvbiB0aGUgYWN0dWFsIGFs bG9jYXRpb24gb3Igc3RydWN0dXJlIA0KICAgIEluaXRpYWxpemF0aW9uLCB3ZSBkb27igJl0IGtu b3cgdGhlIHNpemUgZm9yIHRoZSB3aG9sZSBvYmplY3Qgd2hhdGV2ZXIgaXTigJlzIE1BWCBvciBN SU4uIA0KDQpTbywgdGhlIHByb2JsZW0gdG8gZGVjaWRlIHdoaWNoIGZvcm11bGEgdG8gdXNlICgo c2l6ZW9mICh4KSArIE4gKiBzaXplb2YoZWx0KSwgb3Igb2Zmc2V0b2YgKyBOICogc2l6ZW9mKGVs dCkpIGlzIGFjdHVhbGx5DQp0aGUgcHJvZ3JhbW1lcuKAmXMgam9iIHdoZW4gYWxsb2NhdGluZyBt ZW1vcnkgZm9yIHRoZSBzdHJ1Y3R1cmUgd2l0aCBGTUEuIChJdOKAmXMgbm90IGNvbXBpbGVy4oCZ cyBqb2IpLiAgDQoNClNpbmNlIHRoaXMgc2l6ZSBjb21wdXRhdGlvbiBpcyByZWFsbHkgY29uZnVz aW5nIGZvciB0aGUgc3RydWN0dXJlIHdpdGggRk1BLCBJIHRoaW5rIHRoYXQgYWRkaW5nIHNvbWUg Y2xhcmlmaWNhdGlvbiBpbg0KdGhlIGRvY3VtZW50YXRpb24gbWlnaHQgYmUgbmVjZXNzYXJ5IHRv IHByb3ZpZGUgbW9yZSBkZXRhaWxzIGFuZCBndWlkYW5jZSB0byB0aGUgZW5kLXVzZXJzLg0KDQpM ZXQgbWUga25vdyBpZiBJIG1pc3MgYW55dGhpbmcgaGVyZS4NCg0KVGhhbmtzIGEgbG90Lg0KDQpR aW5nDQoNCg0KDQoNCj4gT24gQXVnIDEwLCAyMDIzLCBhdCAxMToxOCBBTSwgTWFydGluIFVlY2tl ciA8bXVlY2tlckBnd2RnLmRlPiB3cm90ZToNCj4gVGhlIGFjY2VzcyBhdHRyaWJ1dGUgZ2l2ZXMg dGhlIHNpemUgZGlyZWN0bHkuIFRoZSBjb3VudGVkX2J5IGdpdmVzDQo+IGEgbGVuZ3RoIGZvciB0 aGUgYXJyYXkgd2hpY2ggbmVlZHMgdG8gYmUgdHJhbnNsYXRlZCBpbnRvIGEgc2l6ZQ0KPiB2aWEg YSBmb3JtdWxhLiBUaGVyZSBhcmUgZGlmZmVyZW50IGZvcm11bGFzIGluIHVzZS4gVGhlIHF1ZXN0 aW9uIA0KPiBpcyB3aGljaCBmb3JtdWxhIHNob3VsZCBiZG9zIHRydXN0Pw0KPiANCj4gV2hhdGV2 ZXIgeW91IHBpY2ssIGlmIHRoaXMgaXMgbm90IGNvbnNpc3RlbnQgd2l0aCB0aGUgYWN0dWFsDQo+ IGFsbG9jYXRpb24gb3IgdXNlLCB0aGVuIGl0IHdpbGwgY2F1c2UgcHJvYmxlbXMgZWl0aGVyIGJ5 DQo+IGJyZWFraW5nIGNvZGUgb3Igbm90IGRldGVjdGluZyBidWZmZXIgb3ZlcnJ1bnMuDQo+IA0K PiBTbyBpdCBuZWVkcyB0byBiZSBjb25zaXN0ZW50IHdpdGggd2hhdCBHQ0MgYWxsb2NhdGVzIGZv ciBhDQo+IHZhciB3aXRoIEZBTSBhbmQgaW5pdGlhbGl6YXRpb24gYW5kIGFsc28gdGhlIHVzZXIg bmVlZHMgdG8gDQo+IGJlIHRvbGQgd2hhdCB0aGUgcmlnaHQgY2hvaWNlIGlzIHNvIHRoYXQgaGUg Y2FuIHVzZSB0aGUgcmlnaHQNCj4gc2l6ZSBmb3IgYWxsb2NhdGlvbiBhbmQgYXJndW1lbnQgdG8g bWVtY3B5IC8gbWVtc2V0IGV0Yy4NCg0KPiBPbiBBdWcgMTAsIDIwMjMsIGF0IDE6MDYgUE0sIFNp ZGRoZXNoIFBveWFyZWthciA8c2lkZGhlc2hAZ290cGx0Lm9yZz4gd3JvdGU6DQo+IA0KPiBPbiAy MDIzLTA4LTEwIDEyOjM5LCBKYWt1YiBKZWxpbmVrIHdyb3RlOg0KPj4gT24gVGh1LCBBdWcgMTAs IDIwMjMgYXQgMTI6MzA6MDZQTSAtMDQwMCwgU2lkZGhlc2ggUG95YXJla2FyIHdyb3RlOg0KPj4+ IFRoZSBkZWZpbml0aW9uIG9mIF9fYm9zL19fYmRvcyBhbGxvd3MgdXMgdGhlIGZyZWVkb20gdG8g KmVzdGltYXRlKiByYXRoZXINCj4+PiB0aGFuIGJlIHByZWNpc2UsIHNvIEknZCBnbyBmb3Igc2l6 ZW9mKHgpICsgTiAqIHNpemVvZigqeC5hKSBzaW5jZSBpdCdzIGJvdW5kDQo+Pj4gdG8gZ2l2ZSB0 aGUgbW9yZSBjb25zZXJ2YXRpdmUgYW5zd2VyIG9mIHRoZSB0d28uDQo+PiBUbyBiZSBwcmVjaXNl LCB3ZSBoYXZlIHRoZSAwLzEgbW9kZXMgdnMuIDIvMy4gIFNvLCB3aGVuIG5vdCBkZXRlcm1pbmlu Zw0KPj4gX19ib3MvX19iZG9zIGZyb20gYWN0dWFsIGFsbG9jYXRpb24gc2l6ZSBvciBzaXplIG9m IGFuIHN0YWNrIG9iamVjdCBvcg0KPj4gc2l6ZSBvZiBkYXRhIHNlY3Rpb24gb2JqZWN0IGJ1dCBz b21ldGhpbmcgZWxzZSAoc2F5IGNvdW50ZWRfYnkpLCBwZXJoYXBzDQo+PiAwLzEgbW9kZXMgc2hv dWxkIGdpdmUgdGhlIHVwcGVyIGVzdGltYXRlIG9mIHNpemVvZiAoeCkgKyBOICogc2l6ZW9mKGVs dCkNCj4+IGFuZCAyLzMgbW9kZXMgc2hvdWxkIGdpdmUgYSBsb3dlciBlc3RpbWF0ZSwgc28gb2Zm c2V0b2YgKyBOICogc2l6ZW9mKGVsdCksDQo+PiB0aGVuIHVzZXIgY29kZSBjYW4gY29udGludWUg dGVzdGluZyBpZiBib3RoIG1vZGVzIGFyZSBlcXVhbCB0byBoYXZlDQo+PiBleGFjdCBudW1iZXIu DQo+IA0KPiBBY2ssIHRoYXQncyBmYWlyLg0KPiANCj4gVGhhbmtzLA0KPiBTaWQNCg0K