From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id WMzdNI3K6GRl7AoAWB0awg (envelope-from ) for ; Fri, 25 Aug 2023 11:36:45 -0400 Authentication-Results: simark.ca; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=sr+QfQWo; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id D194C1E0C2; Fri, 25 Aug 2023 11:36:45 -0400 (EDT) Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id B60E21E098 for ; Fri, 25 Aug 2023 11:36:43 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 44581388200E for ; Fri, 25 Aug 2023 15:36:43 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 44581388200E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1692977803; bh=SPtId9XumiVk6j4T8hYBI+HP64E5xCq8zekY2o7CRJk=; h=To:CC:Subject:Date:References:In-Reply-To:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=sr+QfQWo7Q54IEPHLUREli20+hH4xQHOnVUMvP/Vgl4VBNq5v0oVHhJ7OZDQzi7rs RVJNd84WdgQuLjO00ldS7b4I9EpHHCiQMAFHvkME6QeiTCY/dU/5zLdjDwfhznOB41 DhGuOACcNIiGvwMWLo59A/IIYvCvqQvqyyDXVZkI= Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by sourceware.org (Postfix) with ESMTPS id D79983858004 for ; Fri, 25 Aug 2023 15:35:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D79983858004 Received: from pps.filterd (m0356516.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 37PFW3IM008743 for ; Fri, 25 Aug 2023 15:35:29 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2172.outbound.protection.outlook.com [104.47.57.172]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3spy1585yw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 25 Aug 2023 15:35:28 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=n99i+1oKgXnQmwk89q5MqOhxGcYTU7eLO4eroZwepTn+WlSUXHR7d3t/7CH+UbmiuZGCvm5vrfcM+cy56dvvbmICQXg6huUZCJyVMMGpyW7QnMgDkPHJhqoFjBVgfaxBODHhD2RUc3PjwxssPzmEzHRE0KiTNnIuu8EkjybPoGr+2QOO7ZavSQ/r3h+PGSITLYX1NGqNlO3KmI6KUUCmYx73tsIF8FFbuHQ84HRxFhdhD/sugUSJwLknOnP4s5RmwncWcdz2FHaQq0y5/Xtk8hIHy2ARPlfGHEn8DrM7fOa9GUdm+PqdtmnJEiOUsQcfb857Yz4S6dle13tHFJWq1Q== 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=N3tkIKAHK1V3TmGUBEcPJ5OEm7MIUJ/Lg0AGoBC1Kj8=; b=WEBxvuaSYEw/b4g9/mLLN57RHu+kpv5e1ZPFnaTh4GPGHGIChk7yvHBs9uCoDTSRkjJvRe8TTt8JOFwvJ0PbaLMinDNDXBH4R87EaeU+tARuq1n+wbobpXfunRyYuZk1DgCcgOzpjCtoSZlnJrNZsoUA/Bg/naEkEsmBcHZUuXe53iw1Hlsm2Rb9QFsGFmDKKJfO09+M+vrHte6aZv3S7qtrk/bcqeVLbhN/uTFV0yJSFi28Sfv7iP3kRH4AQGTxDXXrHzYXV2hgm1Uien/s4S3iCpEzdi1qBVlpix9/fWvRwAXj8a6sZWlNhqPrpfBMMSuQ2uRTVPil27xQkMsQEA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ibm.com; dmarc=pass action=none header.from=ibm.com; dkim=pass header.d=ibm.com; arc=none Received: from CH2PR15MB3544.namprd15.prod.outlook.com (2603:10b6:610:5::26) by SA1PR15MB4321.namprd15.prod.outlook.com (2603:10b6:806:1ac::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.30; Fri, 25 Aug 2023 15:35:26 +0000 Received: from CH2PR15MB3544.namprd15.prod.outlook.com ([fe80::530b:2bc9:5319:fefb]) by CH2PR15MB3544.namprd15.prod.outlook.com ([fe80::530b:2bc9:5319:fefb%6]) with mapi id 15.20.6699.028; Fri, 25 Aug 2023 15:35:26 +0000 To: Ulrich Weigand , "gdb-patches@sourceware.org" CC: Sangamesh Mallayya Subject: Re: [PATCH] Fix for call feature having nine parameters or more in AIX Thread-Topic: [PATCH] Fix for call feature having nine parameters or more in AIX Thread-Index: AQHZ1yv30H4J47aaDEK1rj/rWmyke6/63b4AgAAXO1CAABk/AIAAFIgm Date: Fri, 25 Aug 2023 15:35:26 +0000 Message-ID: References: <0f53c04c1877d7a35200607144724d8fd774a365.camel@de.ibm.com> <7e067016d514474303f75e6475c1a9c85842e420.camel@de.ibm.com> In-Reply-To: <7e067016d514474303f75e6475c1a9c85842e420.camel@de.ibm.com> Accept-Language: en-IN, en-US Content-Language: en-IN X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CH2PR15MB3544:EE_|SA1PR15MB4321:EE_ x-ms-office365-filtering-correlation-id: 625a327a-7714-4860-3ea3-08dba580e7b3 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Q9RP6u0OJDEOfbod2K4uuwyxdbR5/2iAGmBgfXa4TnedLkkznlRd07ttAwlQEYtT016GYG7HBF2rvHYy1IYuI6j+NWiaDfPiGuJs3gb2N4h8qonWpG8NFZfBp/q5Y0+n5MIf97JzPlio2VtWcBLTaJ4ZZ2Rz38/JFyLAhCZ+sm0ezWTQD1tItEfnJqcWfFXwh0LTPOFi5DwiLPcYxDwTqqTv04wBvMDIFPiWW8rsoda5ZMG5PpkPIaZMcf2b65DaxTHnyD0uqyYZ1rjUQTYFO2okXwWmNpKm6OnuuF8RJIXSatKmoZ2PsI8FeMJdfWNfS6Ulk/d+Bsl/gSzp0mRuCs0+kRFde9v+NCB90vZmV84g3+IcQqx6+4Ps/Z2p2TEIrpnUZli0LAMJnxRFjqyiGVwVWc+OZHQzXG7E4qOfsqDCD5kQwgDccn0kMh9KDL8tXLHpGGdr1gpQpBU1wt9Rr7SvzfHG69UxTwbhXGfI4Z2XaYX2q3feLZCDXo+4hj8P2v1T8gjD77pSglff5QuBYueW3tNOZ9gFT5qJaENGH5V9y/DnDILdVZmnsAsdfZvb2Q/3TB5JAZ9P/M1o0lv7rVBmvKRxCJQ3oUcmaXoQM8s= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH2PR15MB3544.namprd15.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(396003)(366004)(136003)(346002)(376002)(39860400002)(1800799009)(451199024)(186009)(5660300002)(8936002)(8676002)(4326008)(52536014)(316002)(41300700001)(66476007)(2906002)(110136005)(66946007)(76116006)(66446008)(66556008)(64756008)(478600001)(99936003)(71200400001)(7696005)(6506007)(53546011)(9686003)(55016003)(83380400001)(122000001)(38100700002)(38070700005)(86362001)(33656002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?+FophJE4BR4T4XKX5dpqgrzyM9jII8NSySZUzNTVJf8fXwBbZxY9YHkDsKgW?= =?us-ascii?Q?xCPvcRPEoVKu+c+uF6StqVHB7jm8tLVp82SE+bN0H4aSISelOZHH4JPBgqAI?= =?us-ascii?Q?w2tf6rI8jhTATKlpTeZ1/AGbLvB6kuTJVOmtJdTVExPY9pkgGFNqXbj7O4/S?= =?us-ascii?Q?mjq0Rx+caZ8vpAGa8vnYI4/J90FvqlY+8PVfaRVcQP9YgBBsYtuE/PE8rN9T?= =?us-ascii?Q?v2nzAhgfn5t5YmzxGHcAQJ0/dEwS8VwJbgpvgFYNmY5h4F57wMUR6QXUDqCg?= =?us-ascii?Q?BLERpCc8hBYPaSN7FnrvcoIbsrxtdH8aFsxKxEThsnx2ywkJTCr2RQY0W3fa?= =?us-ascii?Q?zmG7pe0sfxjBJx/30THUcezMU6yDP6lhOdQznF8tFMp8g6heDBSWRNujQcwW?= =?us-ascii?Q?jc0I78SIEdnQ5XUgJjORvyz8F4jz2JDh5mOUlieO/mdBZGam9PZZECadVNmA?= =?us-ascii?Q?S3DDiqYYZRuOv/u59ql174i3ZnmcoILGsC8tNu4gemsylYbcExMWicMQ6dWw?= =?us-ascii?Q?Ed2EXdNmNgbo5d4V46C9skG/GUnxqc3L+bLhDgeO8kGrh1LUt71HvQTBHrI1?= =?us-ascii?Q?cK676uvp+07H4cPrw0T5KmljE6GYzVU7a+caGvWvdpTqu8DJBCwIMcK6/RZe?= =?us-ascii?Q?tAAKVi0dUpeYOw6eGtlzyh6H21LNpACKteJdOcZzErz4iECdflvfKFbEw243?= =?us-ascii?Q?flZHfC7sl6p8Ms+X8FvR3Za7no2m1mBXOWhbNZyLM1JvzbcsrHHXDg6Zy4Hi?= =?us-ascii?Q?jePgxQOD2BNDZ1gzIurGRK4loNlIDlydCYC9xv7eTqAX+svQ5VwgoSxUNokl?= =?us-ascii?Q?327Lhwj2yxudlpFDFQpOd0I5bBsw6zkRqfEiy07ohDb3JpiplQLSM3PC/4x/?= =?us-ascii?Q?ExW7DDG6oh2eEUO6xXPUBvsry4yZpH3xOmM4OrgsSolki+djowq5sFNj2obk?= =?us-ascii?Q?hlbY97n5MiS7KX/oMk0YdBHM5T5t8xKpOlrqS7pexgbjiIVRpoDnus84kSdw?= =?us-ascii?Q?dsZXnpj+PQIheaSkp53Ie13hmm8807vx1Yy8Sa3yChqhIZ1N/A23euBfuv21?= =?us-ascii?Q?FeT7y1CeUSZWiWVz5tmHCsJ16F5hybJMi0fdjABUmXx78qzvTN3fkgkAShK2?= =?us-ascii?Q?lAgtFMnZT8a4TH877EJly6oKDx+Uys2H5klZwfUVqt7wo8iEFBEx7hPDw/vN?= =?us-ascii?Q?WPpUKGtRgoOpIegtAYU3q+BL6MMPHHAUGfWT3FmprPlNMgH5EzWYhEUqiZ6u?= =?us-ascii?Q?soX5acKMiotBwShYBdBxwwUbODcX9QAkeZ1yTzBDL/cFUQMqqbMJMq/DKibC?= =?us-ascii?Q?wSTm70r6gP1Ocx7V7QuO1dm36rvqDXcwi3lSsXlO40g7mRlZbsue9LAe39JZ?= =?us-ascii?Q?g2O5jNCaxDFRbc/EKMm1inTg0AK3gxzohdQ5/hdKecvrSwp6gLFZ5MRrc/b5?= =?us-ascii?Q?tEU0/5TR3Qq1III248gFpeTmtgRNqtm+E13GR6kusGC0XG0Eockzu571I0Gd?= =?us-ascii?Q?AszfEpzTUjMc51Dqx+8/T0O/EFHR1guk0dxONQCTOH/+ij+OV3FZzACo4Uiv?= =?us-ascii?Q?n4KRlp/44a2Ro77PWvr3WG70Gn9i7Lr75Oqpjvg7IhVZnBWhP//vLx+UdXUE?= =?us-ascii?Q?lYJb05+wpKqmtJh5G+uKMjiMxMaLiMNXBgyfae5Hn7nyA2pU0byWFvggEOta?= =?us-ascii?Q?vWqj0Q=3D=3D?= Content-Type: multipart/mixed; boundary="_004_CH2PR15MB35441D42C7C5AC66140A1EA5D6E3ACH2PR15MB3544namp_" MIME-Version: 1.0 X-OriginatorOrg: ibm.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH2PR15MB3544.namprd15.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 625a327a-7714-4860-3ea3-08dba580e7b3 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Aug 2023 15:35:26.4362 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: fcf67057-50c9-4ad4-98f3-ffca64add9e9 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: bcMqj3bdDeV3RNgnPkB6U4vWPB/OlpvJtplPyhpDHPrjaYzg5xcrEUuFBA9/sIRUwvObzWHHs7U1lbmk/IlSTA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR15MB4321 X-Proofpoint-ORIG-GUID: gGJrB2toBWVjCepuIlNvMezrpL8ykaH3 X-Proofpoint-GUID: gGJrB2toBWVjCepuIlNvMezrpL8ykaH3 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-25_13,2023-08-25_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 impostorscore=0 malwarescore=0 suspectscore=0 clxscore=1015 spamscore=0 phishscore=0 bulkscore=0 mlxscore=0 adultscore=0 priorityscore=1501 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2308100000 definitions=main-2308250138 X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, HTML_MESSAGE, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SCC_10_SHORT_WORD_LINES, SCC_5_SHORT_WORD_LINES, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Aditya Kamath1 via Gdb-patches Reply-To: Aditya Kamath1 Errors-To: gdb-patches-bounces+public-inbox=simark.ca@sourceware.org Sender: "Gdb-patches" --_004_CH2PR15MB35441D42C7C5AC66140A1EA5D6E3ACH2PR15MB3544namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi Ulrich and GDB community members, Thank you for the feedback. Please find attached the patch. See:- 0001-Fix-= for-call-feature-having-9th-function-parameter-a.patch >This seems unnecessarily complex, as wordsize is always a power of 2. >It could simply be: >+ space +=3D ((len - argbytes + wordsize - 1) & -wordsize)= ; >>If not let me know what else I can learn or need to change. This is done. >I think this is still not quite correct. Depending on the type, >some parameters that are not integers (e.g. structs) should not >be extended, as that doesn't make sense for this type. When >loading into registers, you see the existing code: > memset (word, 0, reg_size); > if (type->code () =3D=3D TYPE_CODE_INT > || type->code () =3D=3D TYPE_CODE_ENUM > || type->code () =3D=3D TYPE_CODE_BOOL > || type->code () =3D=3D TYPE_CODE_CHAR) > /* Sign or zero extend the "int" into a "word". */ >It would probably be best to duplicate that logic for the >stack argument case. This is done. >Also, the "argbytes" case seems wrong - this is the case where >an argument fits "half" in registers and "half" on the stack. >In those cases, it does not make any sense to "extend" just >the second half on its own ... Yes I realised this. Thanks. I removed the zero extension. Just kept those = changes that will keep it synced with the rest of the code and needed as pe= r the word size. Hope this looks good now. Kindly let me know. If not kindly push these chan= ges. Outputs are pasted below.. Have a nice day ahead. Thanks and regards, Aditya. 32 bit output with patch:- Reading symbols from /home/aditya/gdb_tests/nine_parameter_func... (gdb) b main Breakpoint 1 at 0x1000078c: file /home/aditya/gdb_tests/nine_parameter_func= .c, line 27. (gdb) r Starting program: /home/aditya/gdb_tests/nine_parameter_func Breakpoint 1, main () at /home/aditya/gdb_tests/nine_parameter_func.c:27 27 const float register f3 =3D 19.0; (gdb) list 22 printf ("j =3D %d \n", j); 23 return (int)(d); 24 } 25 int main () 26 { 27 const float register f3 =3D 19.0; 28 const int register i1 =3D 700; 29 printf("%f \n", f3 + i1); 30 b (); 31 a (1, 2, 3, 4, 5, 6, 7, 8, 9, 983, 19); (gdb) call a (1, 2, 3, 4, 5, 6, 7, 8, 9, 983, 19) 812.000000 9th para =3D 9 , 10th para =3D 983 j =3D 9 $1 =3D 1041 (gdb) call a (1, 2, 3, 4, 5, 6, 7, 8, 9, 983, 25) 812.000000 9th para =3D 9 , 10th para =3D 983 j =3D 9 $2 =3D 1047 (gdb) 64 bit output with patch:- Breakpoint 1, main () at /home/aditya/gdb_tests/nine_parameter_func.c:27 27 const float register f3 =3D 19.0; (gdb) lsit Undefined command: "lsit". Try "help". (gdb) list 22 printf ("j =3D %d \n", j); 23 return (int)(d); 24 } 25 int main () 26 { 27 const float register f3 =3D 19.0; 28 const int register i1 =3D 700; 29 printf("%f \n", f3 + i1); 30 b (); 31 a (1, 2, 3, 4, 5, 6, 7, 8, 9, 983, 19); (gdb) call a (1, 2, 3, 4, 5, 6, 7, 8, 9, 983, 19) 812.000000 9th para =3D 9 , 10th para =3D 983 j =3D 9 $1 =3D 1041 (gdb) call a (1, 2, 3, 4, 5, 6, 7, 8, 9, 983, 25) 812.000000 9th para =3D 9 , 10th para =3D 983 j =3D 9 $2 =3D 1047 (gdb) call a (1, 2, 3, 4, 5, 6, 7, 8, 9, 983, 30) 812.000000 9th para =3D 9 , 10th para =3D 983 j =3D 9 $3 =3D 1052 (gdb) From: Ulrich Weigand Date: Friday, 25 August 2023 at 7:43 PM To: gdb-patches@sourceware.org , Aditya Kamath1= Cc: Sangamesh Mallayya Subject: Re: [PATCH] Fix for call feature having nine parameters or more in= AIX Aditya Kamath1 wrote: >- space +=3D ((len - argbytes + 3) & -4); >+ space +=3D ((len - argbytes + (int) pow (2, (int)log2 (wo= rdsize)) -1) & -wordsize); This seems unnecessarily complex, as wordsize is always a power of 2. It could simply be: + space +=3D ((len - argbytes + wordsize - 1) & -wordsize); >If not let me know what else I can learn or need to change. I think this is still not quite correct. Depending on the type, some parameters that are not integers (e.g. structs) should not be extended, as that doesn't make sense for this type. When loading into registers, you see the existing code: memset (word, 0, reg_size); if (type->code () =3D=3D TYPE_CODE_INT || type->code () =3D=3D TYPE_CODE_ENUM || type->code () =3D=3D TYPE_CODE_BOOL || type->code () =3D=3D TYPE_CODE_CHAR) /* Sign or zero extend the "int" into a "word". */ store_unsigned_integer (word, reg_size, byte_order, unpack_long (type, arg->contents ().dat= a ())); else memcpy (word, arg->contents ().data (), len); It would probably be best to duplicate that logic for the stack argument case. Also, the "argbytes" case seems wrong - this is the case where an argument fits "half" in registers and "half" on the stack. In those cases, it does not make any sense to "extend" just the second half on its own ... Bye, Ulrich --_004_CH2PR15MB35441D42C7C5AC66140A1EA5D6E3ACH2PR15MB3544namp_ Content-Type: application/octet-stream; name="0001-Fix-for-call-feature-having-9th-function-parameter-a.patch" Content-Description: 0001-Fix-for-call-feature-having-9th-function-parameter-a.patch Content-Disposition: attachment; filename="0001-Fix-for-call-feature-having-9th-function-parameter-a.patch"; size=2826; creation-date="Fri, 25 Aug 2023 15:32:39 GMT"; modification-date="Fri, 25 Aug 2023 15:32:39 GMT" Content-Transfer-Encoding: base64 RnJvbSBmN2Q1MGI3NWNkYjc4M2U0OTQyYjMzM2FkZmI4MzZjNjhjZWNmMmJiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBZGl0eWEgVmlkeWFkaGFyIEthbWF0aCA8QWRpdHlhLkthbWF0 aDFAaWJtLmNvbT4KRGF0ZTogRnJpLCAyNSBBdWcgMjAyMyAxMDoyNDo1OCAtMDUwMApTdWJqZWN0 OiBbUEFUQ0hdIEZpeCBmb3IgY2FsbCBmZWF0dXJlIGhhdmluZyA5dGggZnVuY3Rpb24gcGFyYW1l dGVyIGFuZCBiZXlvbmQKICAgIGNvcnJ1cHQgdmFsdWVzLgoKSW4gQUlYIHRoZSBmaXJzdCBlaWdo dCBmdW5jdGlvbiBwYXJhbWV0ZXJzIGFyZSBzdG9yZWQgZnJvbSBSMyB0byBSMTAuCklmIHRoZXJl IGFyZSBtb3JlIHRoYW4gZWlnaHQgcGFyYW1ldGVycyBpbiBhIGZ1bmN0aW9uIHRoZW4gd2Ugc3Rv cmUgdGhlIDl0aCBwYXJhbWV0ZXIgb253YXJkcyBpbiB0aGUgc3RhY2suCldoaWxlIGRvaW5nIHNv LCBpbiA2NCBiaXQgbW9kZSB0aGUgd29yZHMgd2VyZSBub3QgemVybyBleHRlbmRlZCBhbmQgd2Fz IGNvbWluZyBsaWtlIDMyIGJpdCBtb2RlLgpUaGlzIHBhdGNoIGlzIGEgZml4IHRvIHRoZSBzYW1l LgotLS0KIGdkYi9yczYwMDAtYWl4LXRkZXAuYyB8IDI1ICsrKysrKysrKysrKysrKysrKystLS0t LS0KIDEgZmlsZSBjaGFuZ2VkLCAxOSBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2dkYi9yczYwMDAtYWl4LXRkZXAuYyBiL2dkYi9yczYwMDAtYWl4LXRkZXAuYwpp bmRleCA4MjlmNTU5ODFjYS4uYTNlOWU5NDg0MWMgMTAwNjQ0Ci0tLSBhL2dkYi9yczYwMDAtYWl4 LXRkZXAuYworKysgYi9nZGIvcnM2MDAwLWFpeC10ZGVwLmMKQEAgLTY0OSw3ICs2NDksNyBAQCBy czYwMDBfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZh bHVlICpmdW5jdGlvbiwKIAogICAgICAgaWYgKGFyZ2J5dGVzKQogCXsKLQkgIHNwYWNlICs9ICgo bGVuIC0gYXJnYnl0ZXMgKyAzKSAmIC00KTsKKwkgIHNwYWNlICs9ICgobGVuIC0gYXJnYnl0ZXMg KyB3b3Jkc2l6ZSAtMSkgJiAtd29yZHNpemUpOwogCSAgamogPSBhcmdubyArIDE7CiAJfQogICAg ICAgZWxzZQpAQCAtNjU4LDcgKzY1OCw3IEBAIHJzNjAwMF9wdXNoX2R1bW15X2NhbGwgKHN0cnVj dCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAogICAgICAgZm9yICg7 IGpqIDwgbmFyZ3M7ICsramopCiAJewogCSAgc3RydWN0IHZhbHVlICp2YWwgPSBhcmdzW2pqXTsK LQkgIHNwYWNlICs9ICgodmFsLT50eXBlICgpLT5sZW5ndGggKCkpICsgMykgJiAtNDsKKwkgIHNw YWNlICs9ICgodmFsLT50eXBlICgpLT5sZW5ndGggKCkgKyB3b3Jkc2l6ZSAtMSkgJiAtd29yZHNp emUpOwogCX0KIAogICAgICAgLyogQWRkIGxvY2F0aW9uIHJlcXVpcmVkIGZvciB0aGUgcmVzdCBv ZiB0aGUgcGFyYW1ldGVycy4gICovCkBAIC02NzksMTEgKzY3OSwxMSBAQCByczYwMDBfcHVzaF9k dW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlv biwKIAogICAgICAgaWYgKGFyZ2J5dGVzKQogCXsKLQkgIHdyaXRlX21lbW9yeSAoc3AgKyAyNCAr IChpaSAqIDQpLAorCSAgd3JpdGVfbWVtb3J5IChzcCArIDI0ICsgKGlpICogd29yZHNpemUpLAog CQkJYXJnLT5jb250ZW50cyAoKS5kYXRhICgpICsgYXJnYnl0ZXMsCiAJCQlsZW4gLSBhcmdieXRl cyk7CiAJICArK2FyZ25vOwotCSAgaWkgKz0gKChsZW4gLSBhcmdieXRlcyArIDMpICYgLTQpIC8g NDsKKwkgIGlpICs9ICgobGVuIC0gYXJnYnl0ZXMgKyB3b3Jkc2l6ZSAtIDEpICYgLXdvcmRzaXpl KSAvIHdvcmRzaXplOwogCX0KIAogICAgICAgLyogUHVzaCB0aGUgcmVzdCBvZiB0aGUgYXJndW1l bnRzIGludG8gc3RhY2suICAqLwpAQCAtNzA3LDggKzcwNywyMSBAQCByczYwMDBfcHVzaF9kdW1t eV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwK IAkgICAgICArK2ZfYXJnbm87CiAJICAgIH0KIAotCSAgd3JpdGVfbWVtb3J5IChzcCArIDI0ICsg KGlpICogNCksIGFyZy0+Y29udGVudHMgKCkuZGF0YSAoKSwgbGVuKTsKLQkgIGlpICs9ICgobGVu ICsgMykgJiAtNCkgLyA0OworCSAgaWYgKHdvcmRzaXplID09IDggJiYgCisJICAgICAodHlwZS0+ Y29kZSAoKSA9PSBUWVBFX0NPREVfSU5UCisJICAgICAgfHwgdHlwZS0+Y29kZSAoKSA9PSBUWVBF X0NPREVfRU5VTQorCSAgICAgIHx8IHR5cGUtPmNvZGUgKCkgPT0gVFlQRV9DT0RFX0JPT0wKKwkg ICAgICB8fCB0eXBlLT5jb2RlICgpID09IFRZUEVfQ09ERV9DSEFSICkpCisJICAgIHsKKwkgICAg ICBnZGJfYnl0ZSB3b3JkW1BQQ19NQVhfUkVHSVNURVJfU0laRV07CisJICAgICAgbWVtc2V0ICh3 b3JkLCAwLCBQUENfTUFYX1JFR0lTVEVSX1NJWkUpOworCSAgICAgIHN0b3JlX3Vuc2lnbmVkX2lu dGVnZXIgKHdvcmQsIHRkZXAtPndvcmRzaXplLCBieXRlX29yZGVyLAorCQkJCSAgICAgIHVucGFj a19sb25nICh0eXBlLCBhcmctPmNvbnRlbnRzICgpLmRhdGEgKCkpKTsKKwkgICAgICB3cml0ZV9t ZW1vcnkgKHNwICsgNiAqIHdvcmRzaXplICsgKGlpICogd29yZHNpemUpLCB3b3JkLCBQUENfTUFY X1JFR0lTVEVSX1NJWkUpOworCSAgICB9CisJICBlbHNlCisJICAgIHdyaXRlX21lbW9yeSAoc3Ag KyA2ICogd29yZHNpemUgKyAoaWkgKiB3b3Jkc2l6ZSksIGFyZy0+Y29udGVudHMgKCkuZGF0YSAo KSwgbGVuKTsKKwkgIGlpICs9ICgobGVuICsgd29yZHNpemUgLTEpICYgLXdvcmRzaXplKSAvIHdv cmRzaXplOwogCX0KICAgICB9CiAKLS0gCjIuMzguMwoK --_004_CH2PR15MB35441D42C7C5AC66140A1EA5D6E3ACH2PR15MB3544namp_--