From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=ibm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=ibm.com 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : mime-version; s=pp1; bh=N3tkIKAHK1V3TmGUBEcPJ5OEm7MIUJ/Lg0AGoBC1Kj8=; b=Edk6fmuEASHhGJAVCksyfor3htB+mEQQMBvszg1wX5ZqPa2Mna+ZSWdBhy2w+QzX5ZW2 kf0GoS7PEZPvAKz1+62eLp2ks1mOeBDx2YqNssdWtrXJjYzwN1cDkKxUClW4mQ/yGbEj uTqaZi2psf/ZiXFc4bf7tuMMOhNCkQsJYf3NdraGqJOIclNEt6aCZqY/vXtHbxbzue1X TizxbcnyAtLKJix74uJlUqkW27Ohx+KG727krUesoOGOvvIsEk0mgLLBoiu9NJQbLiyV 9/1RqINCwp7PUFD+IkB2R2xww5iLb6sZusIC997wEv0z2vPYymC3vAo8t6N6MT8XX5uF Uw== 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 From: Aditya Kamath1 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 List-Id: --_004_CH2PR15MB35441D42C7C5AC66140A1EA5D6E3ACH2PR15MB3544namp_ Content-Type: multipart/alternative; boundary="_000_CH2PR15MB35441D42C7C5AC66140A1EA5D6E3ACH2PR15MB3544namp_" --_000_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 --_000_CH2PR15MB35441D42C7C5AC66140A1EA5D6E3ACH2PR15MB3544namp_-- --_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 RnJvbSBmN2Q1MGI3NWNkYjc4M2U0OTQyYjMzM2FkZmI4MzZjNjhjZWNmMmJi IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBZGl0eWEgVmlkeWFk aGFyIEthbWF0aCA8QWRpdHlhLkthbWF0aDFAaWJtLmNvbT4KRGF0ZTogRnJp LCAyNSBBdWcgMjAyMyAxMDoyNDo1OCAtMDUwMApTdWJqZWN0OiBbUEFUQ0hd IEZpeCBmb3IgY2FsbCBmZWF0dXJlIGhhdmluZyA5dGggZnVuY3Rpb24gcGFy YW1ldGVyIGFuZCBiZXlvbmQKICAgIGNvcnJ1cHQgdmFsdWVzLgoKSW4gQUlY IHRoZSBmaXJzdCBlaWdodCBmdW5jdGlvbiBwYXJhbWV0ZXJzIGFyZSBzdG9y ZWQgZnJvbSBSMyB0byBSMTAuCklmIHRoZXJlIGFyZSBtb3JlIHRoYW4gZWln aHQgcGFyYW1ldGVycyBpbiBhIGZ1bmN0aW9uIHRoZW4gd2Ugc3RvcmUgdGhl IDl0aCBwYXJhbWV0ZXIgb253YXJkcyBpbiB0aGUgc3RhY2suCldoaWxlIGRv aW5nIHNvLCBpbiA2NCBiaXQgbW9kZSB0aGUgd29yZHMgd2VyZSBub3QgemVy byBleHRlbmRlZCBhbmQgd2FzIGNvbWluZyBsaWtlIDMyIGJpdCBtb2RlLgpU aGlzIHBhdGNoIGlzIGEgZml4IHRvIHRoZSBzYW1lLgotLS0KIGdkYi9yczYw MDAtYWl4LXRkZXAuYyB8IDI1ICsrKysrKysrKysrKysrKysrKystLS0tLS0K IDEgZmlsZSBjaGFuZ2VkLCAxOSBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2dkYi9yczYwMDAtYWl4LXRkZXAuYyBiL2dk Yi9yczYwMDAtYWl4LXRkZXAuYwppbmRleCA4MjlmNTU5ODFjYS4uYTNlOWU5 NDg0MWMgMTAwNjQ0Ci0tLSBhL2dkYi9yczYwMDAtYWl4LXRkZXAuYworKysg Yi9nZGIvcnM2MDAwLWFpeC10ZGVwLmMKQEAgLTY0OSw3ICs2NDksNyBAQCBy czYwMDBfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJj aCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwKIAogICAgICAgaWYgKGFyZ2J5 dGVzKQogCXsKLQkgIHNwYWNlICs9ICgobGVuIC0gYXJnYnl0ZXMgKyAzKSAm IC00KTsKKwkgIHNwYWNlICs9ICgobGVuIC0gYXJnYnl0ZXMgKyB3b3Jkc2l6 ZSAtMSkgJiAtd29yZHNpemUpOwogCSAgamogPSBhcmdubyArIDE7CiAJfQog ICAgICAgZWxzZQpAQCAtNjU4LDcgKzY1OCw3IEBAIHJzNjAwMF9wdXNoX2R1 bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFs dWUgKmZ1bmN0aW9uLAogICAgICAgZm9yICg7IGpqIDwgbmFyZ3M7ICsramop CiAJewogCSAgc3RydWN0IHZhbHVlICp2YWwgPSBhcmdzW2pqXTsKLQkgIHNw YWNlICs9ICgodmFsLT50eXBlICgpLT5sZW5ndGggKCkpICsgMykgJiAtNDsK KwkgIHNwYWNlICs9ICgodmFsLT50eXBlICgpLT5sZW5ndGggKCkgKyB3b3Jk c2l6ZSAtMSkgJiAtd29yZHNpemUpOwogCX0KIAogICAgICAgLyogQWRkIGxv Y2F0aW9uIHJlcXVpcmVkIGZvciB0aGUgcmVzdCBvZiB0aGUgcGFyYW1ldGVy cy4gICovCkBAIC02NzksMTEgKzY3OSwxMSBAQCByczYwMDBfcHVzaF9kdW1t eV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVl ICpmdW5jdGlvbiwKIAogICAgICAgaWYgKGFyZ2J5dGVzKQogCXsKLQkgIHdy aXRlX21lbW9yeSAoc3AgKyAyNCArIChpaSAqIDQpLAorCSAgd3JpdGVfbWVt b3J5IChzcCArIDI0ICsgKGlpICogd29yZHNpemUpLAogCQkJYXJnLT5jb250 ZW50cyAoKS5kYXRhICgpICsgYXJnYnl0ZXMsCiAJCQlsZW4gLSBhcmdieXRl cyk7CiAJICArK2FyZ25vOwotCSAgaWkgKz0gKChsZW4gLSBhcmdieXRlcyAr IDMpICYgLTQpIC8gNDsKKwkgIGlpICs9ICgobGVuIC0gYXJnYnl0ZXMgKyB3 b3Jkc2l6ZSAtIDEpICYgLXdvcmRzaXplKSAvIHdvcmRzaXplOwogCX0KIAog ICAgICAgLyogUHVzaCB0aGUgcmVzdCBvZiB0aGUgYXJndW1lbnRzIGludG8g c3RhY2suICAqLwpAQCAtNzA3LDggKzcwNywyMSBAQCByczYwMDBfcHVzaF9k dW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZh bHVlICpmdW5jdGlvbiwKIAkgICAgICArK2ZfYXJnbm87CiAJICAgIH0KIAot CSAgd3JpdGVfbWVtb3J5IChzcCArIDI0ICsgKGlpICogNCksIGFyZy0+Y29u dGVudHMgKCkuZGF0YSAoKSwgbGVuKTsKLQkgIGlpICs9ICgobGVuICsgMykg JiAtNCkgLyA0OworCSAgaWYgKHdvcmRzaXplID09IDggJiYgCisJICAgICAo dHlwZS0+Y29kZSAoKSA9PSBUWVBFX0NPREVfSU5UCisJICAgICAgfHwgdHlw ZS0+Y29kZSAoKSA9PSBUWVBFX0NPREVfRU5VTQorCSAgICAgIHx8IHR5cGUt PmNvZGUgKCkgPT0gVFlQRV9DT0RFX0JPT0wKKwkgICAgICB8fCB0eXBlLT5j b2RlICgpID09IFRZUEVfQ09ERV9DSEFSICkpCisJICAgIHsKKwkgICAgICBn ZGJfYnl0ZSB3b3JkW1BQQ19NQVhfUkVHSVNURVJfU0laRV07CisJICAgICAg bWVtc2V0ICh3b3JkLCAwLCBQUENfTUFYX1JFR0lTVEVSX1NJWkUpOworCSAg ICAgIHN0b3JlX3Vuc2lnbmVkX2ludGVnZXIgKHdvcmQsIHRkZXAtPndvcmRz aXplLCBieXRlX29yZGVyLAorCQkJCSAgICAgIHVucGFja19sb25nICh0eXBl LCBhcmctPmNvbnRlbnRzICgpLmRhdGEgKCkpKTsKKwkgICAgICB3cml0ZV9t ZW1vcnkgKHNwICsgNiAqIHdvcmRzaXplICsgKGlpICogd29yZHNpemUpLCB3 b3JkLCBQUENfTUFYX1JFR0lTVEVSX1NJWkUpOworCSAgICB9CisJICBlbHNl CisJICAgIHdyaXRlX21lbW9yeSAoc3AgKyA2ICogd29yZHNpemUgKyAoaWkg KiB3b3Jkc2l6ZSksIGFyZy0+Y29udGVudHMgKCkuZGF0YSAoKSwgbGVuKTsK KwkgIGlpICs9ICgobGVuICsgd29yZHNpemUgLTEpICYgLXdvcmRzaXplKSAv IHdvcmRzaXplOwogCX0KICAgICB9CiAKLS0gCjIuMzguMwoK --_004_CH2PR15MB35441D42C7C5AC66140A1EA5D6E3ACH2PR15MB3544namp_--