From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by sourceware.org (Postfix) with ESMTPS id 302833858C1F for ; Fri, 25 Aug 2023 13:35:36 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 302833858C1F 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 (m0353728.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 37PCqo4R008510 for ; Fri, 25 Aug 2023 13:35:35 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=7dV7RUEKiZvIqz79LE4f/j+a72mketmuvso0HbbFsgU=; b=F25ORv50qLysrX3DKeujVt5yOyZW5J3C+FiYTEGn0pV3AkVLMkGqZRYFCdJ2utHNtqfx YWRD5UJ1nl6RC0dPqgHVdTksO543zIq9Izr2oMzepr6j+Cd8hoHXLfopRMo0sih/trZe 5IJ3OXI7bYLPO6LBsAsDwSPO8LTLYozDrzlnPw/IgYHFnbX4Tw7Ravqcny96Ee4xKPRX zKCOVQBcOtVY6uhgIQekZw4D5kR6MqLDY/3EVV8O7NBaVcIl4KUgkyTzt/6ywD3bQ6sg c59nDF0ZlGQyT3x/7yG8qjkcvF0hVIfzlQTDre74qjyrhg2dEVNXlnFv5bQD/7hl9oNc UQ== Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2169.outbound.protection.outlook.com [104.47.58.169]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3spvpq9qfr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 25 Aug 2023 13:35:34 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NN+oH7QsVJ+JnyMFO9XJ5i3HPHb84FrkKZCZK5NEkguR70H9SslxX6G2mGcFx3UWvEdOWpEjrkOaQcu0ITUIvdJzGBuf6rsAHi7bO1R6JhbcK+ZVAtCR8Og6TgOucEhVlZD5yM4egAYWqDtU4NdtVR1spCldG7E8ITCYbtYzfmyVPsc360L77CxsfmS34bvQ4ZtBx0MT8+8R2DhdcwZBGX+yEyxBr2fVE2aDbnl6R3uxisvlIgLvJu0NandVct3p8oKmnNKzrwc84dlSdvceI2tx6n6/b1ofKcBUjRHvmWTFhGAeKDlFzy0XNzhP16wwYNhH5xIaDhf0yF2+ju7ClA== 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=jf6573D4HZhIWn3OsE7n19zvOY8ipkD183iTCBfFbvE=; b=ijb4rDgFhpnw5uc61DhG/wnsdOR424dZkgt/vVwbX+0mwItQylq7yZZDv0/9fvYdv2iiuw9hBu0HW+KGMI9Kf0uocjPPKL/AX+aJpLB6A9FUAMkw4AcFE5bsV6CAO/RHv1eU9dHMOvcJoPNdnyl8QnTi/oII0UJFT1CcT24n+SgcBfK8wEb+Cvj/aRzZeOA2K+cPRNg6rOs2rrfKbY2u4W9Bv7eLWH1ldR355bKj17I2fMlSYKtNkLXRVwc0NDvtT7ghnjfTJM7G3KgNvOjOZ8DspGAY0kR9gD9x4kzCW5YDkJloqpsQkUGaQGHVi56tROB11Yoaynr+/KS8phGSnQ== 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 BL1PR15MB5314.namprd15.prod.outlook.com (2603:10b6:208:385::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.29; Fri, 25 Aug 2023 13:35:31 +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 13:35:31 +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/63b4AgAAXO1A= Date: Fri, 25 Aug 2023 13:35:31 +0000 Message-ID: References: <0f53c04c1877d7a35200607144724d8fd774a365.camel@de.ibm.com> In-Reply-To: <0f53c04c1877d7a35200607144724d8fd774a365.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_|BL1PR15MB5314:EE_ x-ms-office365-filtering-correlation-id: 72f88c94-d75a-457f-408d-08dba570272d x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: OxDt1+Pcgshn2xxSutrjaSr9OleSwxQGCi/mrOp3juIwBWHk9/ZY/X/8BEgjLMH/iMFNOYDk9LvZsbTRolc4prFhX+ZljzJWkmOmJEuM3B9Ez9G3VLu/jv17mMs4TlS8CVCYuLW7cMg715hKclg5hnq4/f7GOOba+nIT8dgG3cTrWOlwt050VZ+XUhcFQSsv2JOcePQIodFppZP3Ziw7rWp4B0/umDIr5Dx8NQ/ymkm9Y8njyBpD9VADa6/KEqE0eULEwhKcMigS342us882zS+SlRVz5OBB3dHWg6EeTZwqRHAwz8obk1Gl853l9ClX7Jipq4VYhWEhCsX7kTcL5a8rUo++i+AqC228gmuFBScpchTYe1hDPSCjua2gLNr73Fmk/BpWKUhcDmCXTQk3TRQJl4m8o/8M8asULZBgxqLsl2HHbqQox4UaFEI6ngXnOiwqiTDNU3+Hekt6o24gCtDwjW5JArbECyNVWEwWmG0yuA3pY2mZ/kavmiISpNL5rMP1sP0w70kwKGMg5DDbdrCVcsXXyNqt9BZ2ambFtfPOsBR4amym/1fI3QN/mN9hbQr6kHHjSyub7tPHYGOlpHukizxRi5zBLxeCEjrCeN8= 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)(136003)(396003)(346002)(366004)(39860400002)(376002)(1800799009)(451199024)(186009)(83380400001)(9686003)(478600001)(55016003)(5660300002)(52536014)(2906002)(8676002)(8936002)(4326008)(99936003)(38070700005)(38100700002)(122000001)(66556008)(66946007)(76116006)(66476007)(86362001)(71200400001)(41300700001)(64756008)(53546011)(33656002)(110136005)(7696005)(66446008)(316002)(6506007);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?Windows-1252?Q?FZzoGMu2wYlz2fN9rt1T+SKlUOUgAlBhaidVZaKrufYC1NDQusAmd2BV?= =?Windows-1252?Q?PDKUSHJyqwBbgKTn3QcnGdEUwZLfmK/oBTHyQH+Ol9CtWBy5bIgKHhh5?= =?Windows-1252?Q?oeHzkO9XN7G+bvQIYcOepMrgu4+WQNlFsj+5TFJCFkDIDoESxVZAJPB2?= =?Windows-1252?Q?peHwVa3GIOjsRJ+rhldqyUTCPZNus9uLVCAsP41s8MQGD/YGpKuSX18A?= =?Windows-1252?Q?xGcAB1priy9ysiJZPyps/fO10xnWhrWo/HpI8iqr6aZAoPnjQnJ0rpEU?= =?Windows-1252?Q?c4gKY+B6WbfFaZOs/T8DPpBkRZmbjCGe8UsJJ7u69qU+OIgW6dUHklpn?= =?Windows-1252?Q?OmdMS8vUUDd0F2kvsVhxtSBLOGqf27WQyy5DuJi9kNEAEjR36zqjGqxk?= =?Windows-1252?Q?OpbkLcmjF1QqyGTUiyKIl0QnLvZMLDdrVOJHbJEvAnUqiuq7sP6N8wIX?= =?Windows-1252?Q?J2in7I/eHTJ7gqPs4dmFGxofvqiUrThCxtEhROSxXLTmAWe8qv6vnrSx?= =?Windows-1252?Q?nHzkGCyGAmluM8PYPPd8bMLgiFT6iPvERjKOG2A+u+PJBwcJLX10Xm8h?= =?Windows-1252?Q?68Pyk93hNlXnykcC0Ow7RsXhxTNmoghXh/WSQzD5uTDBJpmqiep2KIhg?= =?Windows-1252?Q?NuAs73WPhxbYiSAELFne5WhPnbSbw8I3FjoILrCt0rWo3bZtHP5a26QV?= =?Windows-1252?Q?BBvEZ5l0xsa0b4FNX0GHxwI+/oDIijwXl0p28i3tcTEj2j7gJar/I4yz?= =?Windows-1252?Q?t1lEVKU6TFPfFSxD8tqgz+mzZDNDUE0G0AbyrFQ+LlPy80LB83fxWIDN?= =?Windows-1252?Q?YLScR5nYwjKf7BI3xZZBN99ZcPdT31BdeepjyJCq9WosHBYtes2Z/Au2?= =?Windows-1252?Q?Tb5vDQ1OVEiu3zDnequhNtHYJblZoq6kMgWpOi5id4TooSjo+Cf7TKQT?= =?Windows-1252?Q?9K4olarZgQ9VfptODMIWjdj5zcPAVotxhIcz88l1FnE49+9hrWKTKwPX?= =?Windows-1252?Q?pz+pAgHUpj1508g5zRhx2dZlw1A3TXmiZN8QnFPpM3NQ5k/fMwwxK/r8?= =?Windows-1252?Q?Ja5RcQMrWFVCFZqJK5X24jjhvvoTg3zy1/QMR3BFWzXwufpoEhcAH7vI?= =?Windows-1252?Q?JaucC/KGVmwutLCa8H5acIq6LVultI9PGcJxWAcfZJBJXygjg5z+bObp?= =?Windows-1252?Q?fDmhwF5CNZjD3C5s7moNDWu5qyfmxWCsYNU1OtYGoJtglJbVQIs/tQ8B?= =?Windows-1252?Q?qlLc6wBCXhzjaFVs5iX4a5OfCKexU1tbKLXatBxmvUe+lEaa8Udi9zxz?= =?Windows-1252?Q?E7H52Y64boG39ZH5TD2Nuxdrh5vj8Ar/fEXK2KjD+pQH1pL+WH3Q7ylF?= =?Windows-1252?Q?ZRF7Ay4tVVDDIVuGASov5dRXMLIBTfQ7qDHFJRwPaXhf3yjPrLDMzTjd?= =?Windows-1252?Q?gidleO1ZVyYxy88k8x7m0+xuigzypjB8gt0kb0Kf1qyZIiVQ8OuJ3Bnx?= =?Windows-1252?Q?DpXTvkfDzdISwU4ghMlavgW+M3Dpol1TnZu2PyLP8jyCc2OWsTDpxoa9?= =?Windows-1252?Q?ZAMJWIn/coR/sB4UCEyDpgRNxdhbJJdm35I1TpnVuJQpojczJoGYxrMy?= =?Windows-1252?Q?bxI5oTT+VWSV7v/t5WfxmhUpDP6jU7XyyxsYrrUATwASYVCI1BHlyNV5?= =?Windows-1252?Q?pJU7GwFfg/FVBMFm+6WU+zwh+g+e+LhSDo2s9Tk5DpM4QVqXsNoSf5IQ?= =?Windows-1252?Q?KrAhOyObuekPpOhyzOc7ZTSo9YywM5FAFvjCDgHyZnkRt3OelwbFLP8e?= =?Windows-1252?Q?8SwVbQ=3D=3D?= Content-Type: multipart/mixed; boundary="_004_CH2PR15MB3544875C14E9D34421C81146D6E3ACH2PR15MB3544namp_" 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: 72f88c94-d75a-457f-408d-08dba570272d X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Aug 2023 13:35:31.5132 (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: bMDrdcUmJ2SvDjwPUS16D5gNLz/i+4cqTZi8aPcsCgJp/5jHbchcrVLOvjLCkA2SxCwOdklpWqcICsiFftYgoQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR15MB5314 X-Proofpoint-GUID: eTTu7gOKEZlIGfU8VliB7RwdaFEHdMR- X-Proofpoint-ORIG-GUID: eTTu7gOKEZlIGfU8VliB7RwdaFEHdMR- X-Proofpoint-UnRewURL: 0 URL was un-rewritten MIME-Version: 1.0 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_12,2023-08-25_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 clxscore=1015 mlxscore=0 suspectscore=0 mlxlogscore=999 lowpriorityscore=0 priorityscore=1501 malwarescore=0 bulkscore=0 spamscore=0 phishscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2308100000 definitions=main-2308250120 X-Spam-Status: No, score=-1.8 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_CH2PR15MB3544875C14E9D34421C81146D6E3ACH2PR15MB3544namp_ Content-Type: multipart/alternative; boundary="_000_CH2PR15MB3544875C14E9D34421C81146D6E3ACH2PR15MB3544namp_" --_000_CH2PR15MB3544875C14E9D34421C81146D6E3ACH2PR15MB3544namp_ Content-Type: text/plain; charset="Windows-1252" 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 > I agree you've identified a problem, but I think your patch isn't quite c= omplete. > For example, immediately after the code you changed follows: > ii +=3D ((len + 3) & -4) / 4; > The intent is to always uses full stack slots even for arguments of odd s= izes. > But I understand in the 64-bit ABI the stack slot size is 8 bytes, so this > should round up to the next multiple of 8. > Similarly, you need to make sure that the first loop that computes the *s= ize* > of the stack that will be used for arguments performs the same calculatio= ns > as the code that actually fills in the arguments - or else you can overwr= ite > unrelated areas: > space +=3D ((len - argbytes + 3) & -4); > space +=3D ((val->type ()->length ()) + 3) & -4; > All of this should round up to wordsize instead of 4, I guess. > This will now round up to word size after the changes in this patch I get why you are saying this. So the slack slots need to be of 8 bytes. In= this case they are adding 3 cz assume a character guy comes then it become= s 1+3 =3D 4, which then & -4 will give you 4. Even if a bigger guy than cha= racter datatype comes it will be 4 at least. So it will be rounded to 4 all= the time. Similarly when for our 8 byte friend we will need the number 7 instead of 3. So 4 byte =3D 3, 8 byte =3D 7, this is a pattern of 2 power log base 2 (wor= dsize) -1. Example if the wordsize is 4 then we get 2*pow ( log 2 (4)) =96 = 1 =3D 2 pow (2) =96 1 =3D 4 =96 1 =3D3.. Same substitute we can do for 8 wo= rd size and we will get seven. So in my patch you will see this change wher= ever possible. - space +=3D ((len - argbytes + 3) & -4); + space +=3D ((len - argbytes + (int) pow (2, (int)log2 (wor= dsize)) -1) & -wordsize); So now space becomes 4, 8, 12 in 32 bit mode and 8, 16, 24 in 64 bit mode f= or 9th, 10th and 11th parameter of a function. Same goes with ii as well. I= t will come 8, 9, 10 irrespective of any word size. Hope this works for all of us.. Please see the 32 bit and 64 bit output pasted. They work fine. Thank you once again for guiding me. Let me know if it works. If this okay = please push this patch. If not let me know what else I can learn or need to= change. Also, I am curious to know why didn=92t I get a SEG fault or garbage the la= st time and why was it working without these space changes. I was trying to= understand but somehow am not fully clear about this. Let me know if you d= id.. 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 4:49 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: >So, debugging further I realized that the parameters of function in AIX >are stored in registers 3 to 10. More about this fact can be read in this >document {https://www.ibm.com/docs/en/aix/7.2?topic=3Doverview-register-us= age-conventions}. >If the function has more than 8 parameters then the 9th one onwards, we s= tore >the function parameters in the stack. This can be seen in the rs6000-aix-t= dep.c >file in the dummy_call function from line 700 and beyond. Over here we have >this line below. > >write_memory (sp + 24 + (ii * 4), arg->contents ().data (), len); > >This the root cause of this issue. I agree you've identified a problem, but I think your patch isn't quite com= plete. For example, immediately after the code you changed follows: ii +=3D ((len + 3) & -4) / 4; The intent is to always uses full stack slots even for arguments of odd siz= es. But I understand in the 64-bit ABI the stack slot size is 8 bytes, so this should round up to the next multiple of 8. Similarly, you need to make sure that the first loop that computes the *siz= e* of the stack that will be used for arguments performs the same calculations as the code that actually fills in the arguments - or else you can overwrite unrelated areas: if (argbytes) { space +=3D ((len - argbytes + 3) & -4); jj =3D argno + 1; } else jj =3D argno; for (; jj < nargs; ++jj) { struct value *val =3D args[jj]; space +=3D ((val->type ()->length ()) + 3) & -4; } All of this should round up to wordsize instead of 4, I guess. Bye, Ulrich --_000_CH2PR15MB3544875C14E9D34421C81146D6E3ACH2PR15MB3544namp_-- --_004_CH2PR15MB3544875C14E9D34421C81146D6E3ACH2PR15MB3544namp_ 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=3427; creation-date="Fri, 25 Aug 2023 13:21:59 GMT"; modification-date="Fri, 25 Aug 2023 13:21:59 GMT" Content-Transfer-Encoding: base64 RnJvbSA3NzE4N2VkMjQwNjJjOTViYWIxMWMwNDQyNDBjZDBjNzhiODczNmQx IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBZGl0eWEgVmlkeWFk aGFyIEthbWF0aCA8QWRpdHlhLkthbWF0aDFAaWJtLmNvbT4KRGF0ZTogRnJp LCAyNSBBdWcgMjAyMyAwODoyMjowMCAtMDUwMApTdWJqZWN0OiBbUEFUQ0hd IEZpeCBmb3IgY2FsbCBmZWF0dXJlIGhhdmluZyA5dGggZnVuY3Rpb24gcGFy YW1ldGVyIGFuZCBiZXlvbmQKICAgY29ycnVwdCB2YWx1ZXMuCgpJbiBBSVgg dGhlIGZpcnN0IGVpZ2h0IGZ1bmN0aW9uIHBhcmFtZXRlcnMgYXJlIHN0b3Jl ZCBmcm9tIFIzIHRvIFIxMC4KSWYgdGhlcmUgYXJlIG1vcmUgdGhhbiBlaWdo dCBwYXJhbWV0ZXJzIGluIGEgZnVuY3Rpb24gdGhlbiB3ZSBzdG9yZSB0aGUg OXRoIHBhcmFtZXRlciBvbndhcmRzIGluIHRoZSBzdGFjay4KV2hpbGUgZG9p bmcgc28sIGluIDY0IGJpdCBtb2RlIHRoZSB3b3JkcyB3ZXJlIG5vdCB6ZXJv IGV4dGVuZGVkIGFuZCB3YXMgY29taW5nIGxpa2UgMzIgYml0IG1vZGUuClRo aXMgcGF0Y2ggaXMgYSBmaXggdG8gdGhlIHNhbWUuCi0tLQogZ2RiL3JzNjAw MC1haXgtdGRlcC5jIHwgMzUgKysrKysrKysrKysrKysrKysrKysrKysrKysr LS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAyNyBpbnNlcnRpb25zKCspLCA4 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2dkYi9yczYwMDAtYWl4LXRk ZXAuYyBiL2dkYi9yczYwMDAtYWl4LXRkZXAuYwppbmRleCA4MjlmNTU5ODFj YS4uZWJjYjk4NTBkYzcgMTAwNjQ0Ci0tLSBhL2dkYi9yczYwMDAtYWl4LXRk ZXAuYworKysgYi9nZGIvcnM2MDAwLWFpeC10ZGVwLmMKQEAgLTM5LDYgKzM5 LDcgQEAKICNpbmNsdWRlICJnZGJzdXBwb3J0L3htbC11dGlscy5oIgogI2lu Y2x1ZGUgInRyYWQtZnJhbWUuaCIKICNpbmNsdWRlICJmcmFtZS11bndpbmQu aCIKKyNpbmNsdWRlIDxtYXRoLmg+CiAKIC8qIElmIHRoZSBrZXJuZWwgaGFz IHRvIGRlbGl2ZXIgYSBzaWduYWwsIGl0IHB1c2hlcyBhIHNpZ2NvbnRleHQK ICAgIHN0cnVjdHVyZSBvbiB0aGUgc3RhY2sgYW5kIHRoZW4gY2FsbHMgdGhl IHNpZ25hbCBoYW5kbGVyLCBwYXNzaW5nCkBAIC02NDksNyArNjUwLDcgQEAg cnM2MDAwX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFy Y2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCiAKICAgICAgIGlmIChhcmdi eXRlcykKIAl7Ci0JICBzcGFjZSArPSAoKGxlbiAtIGFyZ2J5dGVzICsgMykg JiAtNCk7CisJICBzcGFjZSArPSAoKGxlbiAtIGFyZ2J5dGVzICsgKGludCkg cG93ICgyLCAoaW50KWxvZzIgKHdvcmRzaXplKSkgLTEpICYgLXdvcmRzaXpl KTsKIAkgIGpqID0gYXJnbm8gKyAxOwogCX0KICAgICAgIGVsc2UKQEAgLTY1 OCw3ICs2NTksNyBAQCByczYwMDBfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3Qg Z2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwKICAg ICAgIGZvciAoOyBqaiA8IG5hcmdzOyArK2pqKQogCXsKIAkgIHN0cnVjdCB2 YWx1ZSAqdmFsID0gYXJnc1tqal07Ci0JICBzcGFjZSArPSAoKHZhbC0+dHlw ZSAoKS0+bGVuZ3RoICgpKSArIDMpICYgLTQ7CisJICBzcGFjZSArPSAoKCh2 YWwtPnR5cGUgKCktPmxlbmd0aCAoKSkgKyAoaW50KSBwb3cgKDIsIChpbnQp bG9nMiAod29yZHNpemUpKSAtMSkgJiAtd29yZHNpemUpOwogCX0KIAogICAg ICAgLyogQWRkIGxvY2F0aW9uIHJlcXVpcmVkIGZvciB0aGUgcmVzdCBvZiB0 aGUgcGFyYW1ldGVycy4gICovCkBAIC02NzksMTEgKzY4MCwyMCBAQCByczYw MDBfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwg c3RydWN0IHZhbHVlICpmdW5jdGlvbiwKIAogICAgICAgaWYgKGFyZ2J5dGVz KQogCXsKLQkgIHdyaXRlX21lbW9yeSAoc3AgKyAyNCArIChpaSAqIDQpLAot CQkJYXJnLT5jb250ZW50cyAoKS5kYXRhICgpICsgYXJnYnl0ZXMsCi0JCQls ZW4gLSBhcmdieXRlcyk7CisJICBpZiAod29yZHNpemUgPT0gOCkKKwkgICAg eworCSAgICAgIGdkYl9ieXRlIHdvcmRbUFBDX01BWF9SRUdJU1RFUl9TSVpF XTsKKwkgICAgICBtZW1zZXQgKHdvcmQsIDAsIFBQQ19NQVhfUkVHSVNURVJf U0laRSk7CisJICAgICAgc3RvcmVfdW5zaWduZWRfaW50ZWdlciAod29yZCwg dGRlcC0+d29yZHNpemUsIGJ5dGVfb3JkZXIsCisJCQkJICAgICAgdW5wYWNr X2xvbmcgKHR5cGUsIGFyZy0+Y29udGVudHMgKCkuZGF0YSAoKSkpOworCSAg ICAgIHdyaXRlX21lbW9yeSAoc3AgKyA0OCArIChpaSAqIHdvcmRzaXplKSwg d29yZCwgUFBDX01BWF9SRUdJU1RFUl9TSVpFKTsKKwkgICAgfQorCSAgZWxz ZQorCSAgICB3cml0ZV9tZW1vcnkgKHNwICsgMjQgKyAoaWkgKiB3b3Jkc2l6 ZSksCisJCQkgIGFyZy0+Y29udGVudHMgKCkuZGF0YSAoKSArIGFyZ2J5dGVz LAorCQkJICBsZW4gLSBhcmdieXRlcyk7CiAJICArK2FyZ25vOwotCSAgaWkg Kz0gKChsZW4gLSBhcmdieXRlcyArIDMpICYgLTQpIC8gNDsKKwkgIGlpICs9 ICgobGVuIC0gYXJnYnl0ZXMgKyAoaW50KSBwb3cgKDIsIChpbnQpbG9nMiAo d29yZHNpemUpKSAtIDEpICYgLXdvcmRzaXplKSAvIHdvcmRzaXplOwogCX0K IAogICAgICAgLyogUHVzaCB0aGUgcmVzdCBvZiB0aGUgYXJndW1lbnRzIGlu dG8gc3RhY2suICAqLwpAQCAtNzA3LDggKzcxNywxNyBAQCByczYwMDBfcHVz aF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0 IHZhbHVlICpmdW5jdGlvbiwKIAkgICAgICArK2ZfYXJnbm87CiAJICAgIH0K IAotCSAgd3JpdGVfbWVtb3J5IChzcCArIDI0ICsgKGlpICogNCksIGFyZy0+ Y29udGVudHMgKCkuZGF0YSAoKSwgbGVuKTsKLQkgIGlpICs9ICgobGVuICsg MykgJiAtNCkgLyA0OworCSAgaWYgKHdvcmRzaXplID09IDgpCisJICAgIHsK KwkgICAgICBnZGJfYnl0ZSB3b3JkW1BQQ19NQVhfUkVHSVNURVJfU0laRV07 CisJICAgICAgbWVtc2V0ICh3b3JkLCAwLCBQUENfTUFYX1JFR0lTVEVSX1NJ WkUpOworCSAgICAgIHN0b3JlX3Vuc2lnbmVkX2ludGVnZXIgKHdvcmQsIHRk ZXAtPndvcmRzaXplLCBieXRlX29yZGVyLAorCQkJCSAgICAgIHVucGFja19s b25nICh0eXBlLCBhcmctPmNvbnRlbnRzICgpLmRhdGEgKCkpKTsKKwkgICAg ICB3cml0ZV9tZW1vcnkgKHNwICsgNDggKyAoaWkgKiB3b3Jkc2l6ZSksIHdv cmQsIFBQQ19NQVhfUkVHSVNURVJfU0laRSk7CisJICAgIH0KKwkgIGVsc2UK KwkgICAgd3JpdGVfbWVtb3J5IChzcCArIDI0ICsgKGlpICogd29yZHNpemUp LCBhcmctPmNvbnRlbnRzICgpLmRhdGEgKCksIGxlbik7CisJICBpaSArPSAo KGxlbiArIChpbnQpIHBvdyAoMiwgKGludClsb2cyICh3b3Jkc2l6ZSkpIC0x KSAmIC13b3Jkc2l6ZSkgLyB3b3Jkc2l6ZTsKIAl9CiAgICAgfQogCi0tIAoy LjM4LjMKCg== --_004_CH2PR15MB3544875C14E9D34421C81146D6E3ACH2PR15MB3544namp_--