From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id 3I+tFVjlaGP56RQAWB0awg (envelope-from ) for ; Mon, 07 Nov 2022 06:00:40 -0500 Received: by simark.ca (Postfix, from userid 112) id 4B4321E124; Mon, 7 Nov 2022 06:00:40 -0500 (EST) 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=c4aIE4fD; dkim-atps=neutral X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RDNS_DYNAMIC,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id E48941E0CB for ; Mon, 7 Nov 2022 06:00:39 -0500 (EST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 6F6913858C33 for ; Mon, 7 Nov 2022 11:00:35 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6F6913858C33 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1667818835; bh=P/SruwZqOK30vC8lENPifnXT75A71zfE4HWSLsfayVM=; h=To:CC:Subject:Date:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:List-Subscribe:From:Reply-To:From; b=c4aIE4fD0vQxBiBXCmjUnhPkJhZniUi/ngT/YRrSFmiNt/2mUe1c75AzM9mlWB6hD 5moJrH2+tQGIk1mEw2byrWkvW1S/wNj3JWchI0rA2RDJad4NB0ptYWy/EKmUGiTuWy 8bre+P7BTtLwAyGWSF/YhKieAcC8eqUyzO7dCoRs= Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by sourceware.org (Postfix) with ESMTPS id CE2E73858D20 for ; Mon, 7 Nov 2022 11:00:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org CE2E73858D20 Received: from pps.filterd (m0187473.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 2A79L4bK011926; Mon, 7 Nov 2022 11:00:08 GMT Received: from nam04-mw2-obe.outbound.protection.outlook.com (mail-mw2nam04lp2168.outbound.protection.outlook.com [104.47.73.168]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3kp1teya6e-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 07 Nov 2022 11:00:08 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=coZDxxjk/T3E3lTUQtGpPxt/dTpT2vEqpkz+wqj4RYUUySf95oYqz1lMxyyLZGInHoFmyNQQ8SHXb7biQ8udHgQzusPHcx5nSsqgxhc/xf08ciLDmEtjj33JnCXKBDcy7Yt62Tw7BAPo+d7Zde4Ev6KY9tnVHK22u4vsG85YVXy3wpVckws1JVC2ae4Q/j0LhZIKFClBV2HLJSqNamf/Rj7ffQkibTaAMyhk5UVgynBkWtNEuorM/nGq4h0jeA8sNK6oEb0zZnsUj9m33rhQSB52cUT9TrzXFIDsnLKquE/WoszfYzRtGAr80bZLF0H+L0Y7CoAn28DA7iDvEc2BdQ== 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=6tWf1HInEo2OLkhrq0MuaT2A+bE4OEDX2+jDRvV8nlE=; b=N1blVMfSTy6t4DdFFbGVABv9TXfHAmJyobODaB/upiSOamUTytLNOVFP1sNU/0Dcwi5DHd7CzgVg5KZn09TFDDj9QZZrFifKupbZG1fGXnuFiA8B7v2QPIKCqqGLLpfblD13r7SzGJjQgSkrVzMVpUfgDICOLJrN2/xaIC7seLunlUayqQHvuMdHSQMEKRrlJqLXmecvkSn57O9o31vdb/FVgUlKcub4crYmPe7nyIxfkIjHb6a7KUZGTVDQbOYttgrDsHDWdNmHZmi/Cqh759VEQLQVPH4w1uGC8JA5LJjEdPMPn0m4iAeZ21uicHWeL0Gu/64EGtPOfR+2/uKytw== 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 BL3PR15MB5434.namprd15.prod.outlook.com (2603:10b6:208:3b5::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5791.25; Mon, 7 Nov 2022 11:00:06 +0000 Received: from CH2PR15MB3544.namprd15.prod.outlook.com ([fe80::4b0:172e:c48:151d]) by CH2PR15MB3544.namprd15.prod.outlook.com ([fe80::4b0:172e:c48:151d%7]) with mapi id 15.20.5791.026; Mon, 7 Nov 2022 11:00:06 +0000 To: Aditya Kamath1 via Gdb-patches , Ulrich Weigand , "simon.marchi@efficios.com" CC: Sangamesh Mallayya Subject: [PATCH] Fix call functions command bug in 64-bit programs for AIX Thread-Topic: [PATCH] Fix call functions command bug in 64-bit programs for AIX Thread-Index: AQHY8o8oLBa0QEnD0kK130AZD8l+9A== Date: Mon, 7 Nov 2022 11:00:05 +0000 Message-ID: Accept-Language: en-IN, en-US Content-Language: en-IN X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CH2PR15MB3544:EE_|BL3PR15MB5434:EE_ x-ms-office365-filtering-correlation-id: c09ed314-f91f-4185-85ff-08dac0af3a86 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: V90V82600nbH9R3SuhYChT1zSgyZrgLyV5kVZSsv1o5mp2NYfFK1xWXg1T/3EchMPoFMQVgyY100htw5BJEMqWPPhasUMLFGOHV8srdU572nns+tn8foqcrrksL7j1ogLc+yqvsafd3PmhQHCsAjmOshQg3XZSmpdY569sznyCE38FJrOBG3NvdDUJNGhyINsGNfoRnbP4ZJhRZfLFQUIP2TMNScgxrs2/I8yk6VXutrwLiQRzvZy1FAKSRbHQgBDjjFpGQ3kijOWHstwVOk13T3YnQBk1YxlnzHlCi+mlPET0mB1BRJK/ad1MJwSKb0BW77bEruxJ8DIp6jM03J9vkZ3jlW0nlN8mWo//dfzIdJi7ft0hZgmfOGUdYFoNoAFBa4EeDuNFTp4k9i6gsjJLUVpDu9EkKYyAhxah//Ps69GdyjrKcvVb91/xKpWcyEfOqopcZLvWAhsttWNG5TjaaAdlhkuXkRNs7wXP473fsMgqfRqoTss92N6/czoWoMuf4zGAKSlzWjsBKPtRi2qjCeCQVuyJOdO7JCYane8tihSMCLEFROWZs4yP/nXvtWBNADWZZciHVFT/ENl1VqseuMEGTcrl3lBojQRQPDTmlQRCwCX8SW+x7g9pAbbd/kMqseaisBLl4ToFfJYP1kFyLIYIHj5En7cS5GndGDue7cqNDk6nPxaj25DWnRLuRj7buPqNb5bkvnz1XgEimHNqOsTuogqwnmyrWHyxzjMK2x9sxa0FMMhQ4mvZJtBXdnJD22phDE9oI3EIgb2WOBnA== 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:(13230022)(376002)(136003)(396003)(366004)(39860400002)(346002)(451199015)(38070700005)(64756008)(38100700002)(55016003)(86362001)(33656002)(2906002)(478600001)(71200400001)(8676002)(66946007)(4326008)(316002)(76116006)(66476007)(66556008)(66446008)(8936002)(41300700001)(91956017)(52536014)(5660300002)(110136005)(99936003)(122000001)(186003)(6506007)(7696005)(9686003)(19627405001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?I2eWD93wWV/JZtZFNmHwHzqpscPnz2qv9osXtbOYGvYznNw80YCCsbXtZe?= =?iso-8859-1?Q?crwLAdX4FFODc/A+E6Az276c/mXI6VHbAaAyupLi7ZoEeeEXSQkDbjQcLZ?= =?iso-8859-1?Q?eMG2iFXyegcXNIE3/j+Wtar2TLJ4vdpc5ZkbTcc5qu8Qr0/TV3V2rMWuvb?= =?iso-8859-1?Q?uPjjvQJVRtaotpYdyndUb81R1E8R9+8i/jMgJZKXlnTT388kH3DwdCFn1c?= =?iso-8859-1?Q?85TMqiMDWbAMr0K9AKjAQsruyImXF3Dy2fKKCpeVYvF06cq3A/8434fbBr?= =?iso-8859-1?Q?egCQR6HQ5ZPJ24RDto1UV8GomU5fieFSq7HLQ1n2HbDYFrZ+vVfoSVV4cl?= =?iso-8859-1?Q?LQ8fDawcolZZH7fXN4kZO89xCGxb+v7rmql+n8GbsASY97QJhgc9bKSC0C?= =?iso-8859-1?Q?joRLuqXPdCzpBR8iv9SmEPUS4AR8ZSJt3eGp9/OM5fRxRxpABpG2aXhv2J?= =?iso-8859-1?Q?ERWu5nPkH/VefOkVDYGo3ebTtCKMLrCyNFcXIZFjQs6A+7GGKzl3z0m4C4?= =?iso-8859-1?Q?Lp+bobn0f+PVgawwXL3jgvMnoMcufIzCoSbm2p9GGLpsvNBHMFJ6q1/hFP?= =?iso-8859-1?Q?ktmvBt8i9DY3iSEEEfPu+ZrIKZg1wXerHP+3u1KXOP77nLjYrCQQItWHmL?= =?iso-8859-1?Q?ScanIKMHOUQusBvm5GonI9e88D7RgH6TZNQ6cnsGe+xxfoqgqzEBjOlnhF?= =?iso-8859-1?Q?vnk5hv8AxIe8CevUwqRzq37igyFzVuM8L/hLWRtqpfaE3dnP+ugLpYtoPt?= =?iso-8859-1?Q?6pjMMl4elwOPS+/mhFiGlgeRIDa/n2l7co0q+Wub71/qzvIpkMHnNVrCTz?= =?iso-8859-1?Q?i9geHq3n8kOG/ywm7rD9Z/QEf7RLGsXUQpcr6cIepGnWcvbLsW0ik6vtTj?= =?iso-8859-1?Q?xnlBlMj8J00jQlwmXKUgE8TA7QZZGQjCIaDbLep6gR+7Sp1/pKSjOoGXCK?= =?iso-8859-1?Q?x5iMvyLxn32+hOn5Y/szrghtry66zWDyFzvWsfRXI8MAe3XGHZs3HpxdQI?= =?iso-8859-1?Q?SCJQ9cc+91ZQbslMqbv1EPXJXorvdvanZw0Qrh4yNY8qCiqprkhJalZn2+?= =?iso-8859-1?Q?dG1QwvJ+7wZnmZdOh1hW3We236pzUrXFnwDKWRoCgi22cGnDOCq8+AuaZe?= =?iso-8859-1?Q?dzInSgdzGDa7dLVCovP8z5HX1tfabszY6AJt1xUvNu4Xq1LfeVx1mCxm4A?= =?iso-8859-1?Q?xk3U+HtWVt642OyoLJNkcgt9Y6t6nfZZTU/ozVKN6gsjzQ3rwDKGbBrjID?= =?iso-8859-1?Q?MVL1q6gHggvaGBrHP7+JHwoDb96J4sjvSsNJqxFc17mzMFjOGI/KM/2Zi6?= =?iso-8859-1?Q?HgqE7vSmg3MPbywrY6MytZrsDsx9EYTwaP4RP6+NGMZbsSADSvsqEISPq9?= =?iso-8859-1?Q?k5CuMi05NXB063pnxNAcOAaCJyS84vWZwbZlJ9EOwNghJ4TD5F/w+apLmz?= =?iso-8859-1?Q?iIh3XHl9cC9oZ2LeheYHpxihJ5f59wnCsL3vliQgKhbem753Z91xJPypPq?= =?iso-8859-1?Q?gsFB34PNrEtXToDA8epgaiiuFPcB4y9HTy8XaGBCL+xQYL/rLh9mc/jvaB?= =?iso-8859-1?Q?0ru0LDRLgv7vbpBZEpk/vPm9VEyZ6U5knz0w5cKQfa1bP5AHh0YhoQWIkq?= =?iso-8859-1?Q?sHDV4BhC47GAIQV2sB6FVd5fQHQ/LbtGDaW4tMwC0aJagnT/C2D9AJEPZ4?= =?iso-8859-1?Q?jo+gT1Mq7SVOCtOrNDX4yr2zMc3tk76bRpNx8RWw?= Content-Type: multipart/mixed; boundary="_004_CH2PR15MB3544D542ED323A24D731DF8BD63C9CH2PR15MB3544namp_" 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: c09ed314-f91f-4185-85ff-08dac0af3a86 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Nov 2022 11:00:05.9894 (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: HqQUN2hDLoUOsJ3u9R7UMH3FwaGuXVSsqDHn/FSYu877HDRj1ks+PgIG+X7S7y75QItSlz4CXDP3k9dgN3MDww== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR15MB5434 X-Proofpoint-GUID: uIxor0lAnXG5B2bq3GYm5566KvB2EpI5 X-Proofpoint-ORIG-GUID: uIxor0lAnXG5B2bq3GYm5566KvB2EpI5 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-07_04,2022-11-03_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 mlxscore=0 lowpriorityscore=0 spamscore=0 malwarescore=0 mlxlogscore=993 suspectscore=0 phishscore=0 priorityscore=1501 adultscore=0 bulkscore=0 clxscore=1011 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211070088 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_CH2PR15MB3544D542ED323A24D731DF8BD63C9CH2PR15MB3544namp_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi all, AIX folks while attempting to debug 64-bit programs using the call command = are unable to receive and send the correct return value and parameter info = in the program. The issue can be replicated in the below program:- #include long longit (long a) { printf ("long val =3D %ld \n", a); return a; } int intit (int a) { printf ("int val =3D %d \n", a); return a; } int main () { intit (27); longit (33); } The output before the patch is Reading symbols from /home/xyz/gdb_tests/callfuncs... (gdb) b main Breakpoint 1 at 0x10000780: file /home/xyz/gdb_tests/callfuncs.c, line 19. (gdb) r Starting program: /home/xyz/gdb_tests/callfuncs BFD: /usr/lib/libc.a(/usr/lib/libc.a(shr_64.o)): wrong auxtype 0xff for sto= rage class 0x2 BFD: /usr/lib/libc.a(/usr/lib/libc.a(shr_64.o)): wrong auxtype 0xff for sto= rage class 0x6b Breakpoint 1, main () at /home/xyz/gdb_tests/callfuncs.c:19 19 intit (27); (gdb) call intit (21) int val =3D 0 $1 =3D 0 (gdb) q The output should have been 21 but is not. The output after applying this patch:- Reading symbols from /home/XYZ/gdb_tests/callfuncs... (gdb) b main Breakpoint 1 at 0x100005f0: file /home/XYZ/gdb_tests/callfuncs.c, line 19. (gdb) r Starting program: /home/XYZ/gdb_tests/callfuncs Breakpoint 1, main () at /home/XYZ/gdb_tests/callfuncs.c:19 19 intit (27); (gdb) call intit (21) int val =3D 21 $1 =3D 21 (gdb) q Why does this happen?? The issue is that when a user attempts to test the return type or print sta= tements via the call "FUNC_NAME (parameter A, parameter B)" command, any in= put be it parameter A or B is taken in little endian format from the GDB ca= che. But AIX is using Big endian format. For example, if we have a value 21 as type long then the higher 32 bits [ w= hich is 0 in number 21] were stored in lower 32 bits and lower 32 bits [ re= present 21 in the number 21] is stored in higher 32 bits. Please find attached the patch. [See:- 0001-Fix-call-functions-command-bug-= in-64-bit-programs.patch] In the patch I have written comments on further details. Kindly let us know if this solution works, if not let us know a better way = to handle the same. Have a nice day ahead. Thanks and regards, Aditya. --_004_CH2PR15MB3544D542ED323A24D731DF8BD63C9CH2PR15MB3544namp_ Content-Type: application/octet-stream; name="0001-Fix-call-functions-command-bug-in-64-bit-programs.patch" Content-Description: 0001-Fix-call-functions-command-bug-in-64-bit-programs.patch Content-Disposition: attachment; filename="0001-Fix-call-functions-command-bug-in-64-bit-programs.patch"; size=6727; creation-date="Mon, 07 Nov 2022 10:58:54 GMT"; modification-date="Mon, 07 Nov 2022 10:59:24 GMT" Content-Transfer-Encoding: base64 RnJvbSA3ZDg0MmI2Yzk1Njg0MGY3ODg3MTU3MDIwN2YxNWNmNzZhNGIyMzU0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBZGl0eWEgVmlkeWFkaGFyIEthbWF0aCA8QWRpdHlhLkthbWF0 aDFAaWJtLmNvbT4KRGF0ZTogTW9uLCA3IE5vdiAyMDIyIDA0OjUzOjE1IC0wNjAwClN1YmplY3Q6 IFtQQVRDSF0gRml4IGNhbGwgZnVuY3Rpb25zIGNvbW1hbmQgYnVnIGluIDY0LWJpdCBwcm9ncmFt cyBmb3IgQUlYCgpUaGUgaXNzdWUgaXMgdGhhdCB3aGVuIGEgdXNlciBhdHRlbXB0cyB0byB0ZXN0 IHRoZSByZXR1cm4gdHlwZSBvciBwcmludCBzdGF0ZW1lbnRzIHZpYSB0aGUKCmNhbGwgRlVOQ05B TUUgd2l0aCBwYXJhbWV0ZXJzIGNvbW1hbmQKCmFueSBpbnB1dCBiZSBpdCBwYXJhbWV0ZXIgQSBv ciBCIGlzIHRha2VuIGluIGxpdHRsZSBlbmRpYW4gZm9ybWF0IGZyb20gdGhlIEdEQiBjYWNoZQoK IEJ1dCBBSVggaXMgdXNpbmcgQmlnIGVuZGlhbiBmb3JtYXQKClRoaXMgcGF0Y2ggZml4ZXMgdGhl IHNhbWUgaXNzdWUKLS0tCiBnZGIvcnM2MDAwLWFpeC1uYXQuYyB8IDE0NiArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTA4IGluc2Vy dGlvbnMoKyksIDM4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2dkYi9yczYwMDAtYWl4LW5h dC5jIGIvZ2RiL3JzNjAwMC1haXgtbmF0LmMKaW5kZXggY2IxNDE0Mjc2OTYuLjk5ZThhZjAzODc3 IDEwMDY0NAotLS0gYS9nZGIvcnM2MDAwLWFpeC1uYXQuYworKysgYi9nZGIvcnM2MDAwLWFpeC1u YXQuYwpAQCAtMTk0LDYgKzE5NCw3IEBAIGZldGNoX3JlZ2lzdGVyIChzdHJ1Y3QgcmVnY2FjaGUg KnJlZ2NhY2hlLCBpbnQgcmVnbm8pCiB7CiAgIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoID0gcmVn Y2FjaGUtPmFyY2ggKCk7CiAgIGludCBhZGRyW1BQQ19NQVhfUkVHSVNURVJfU0laRV07CisgIGxv bmcgbG9uZyBhZGRyNjRbUFBDX01BWF9SRUdJU1RFUl9TSVpFXTsKICAgaW50IG5yLCBpc2Zsb2F0 OwogICBwaWRfdCBwaWQgPSByZWdjYWNoZS0+cHRpZCAoKS5waWQgKCk7CiAKQEAgLTIyOCwxNCAr MjI5LDE5IEBAIGZldGNoX3JlZ2lzdGVyIChzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLCBpbnQg cmVnbm8pCiAJICBsb25nIGxvbmcgYnVmOwogCSAgcnM2MDAwX3B0cmFjZTY0IChQVF9SRUFEX0dQ UiwgcGlkLCBuciwgMCwgJmJ1Zik7CiAJICBpZiAocmVnaXN0ZXJfc2l6ZSAoZ2RiYXJjaCwgcmVn bm8pID09IDgpCi0JICAgIG1lbWNweSAoYWRkciwgJmJ1ZiwgOCk7CisJICAgIG1lbWNweSAoYWRk cjY0LCAmYnVmLCA4KTsKIAkgIGVsc2UKLQkgICAgKmFkZHIgPSBidWY7CisJICAgICphZGRyNjQg PSBidWY7CiAJfQogICAgIH0KIAogICBpZiAoIWVycm5vKQotICAgIHJlZ2NhY2hlLT5yYXdfc3Vw cGx5IChyZWdubywgKGNoYXIgKikgYWRkcik7CisgIHsKKyAgICBpZiAoIUFSQ0g2NCAoKSkKKyAg ICAgIHJlZ2NhY2hlLT5yYXdfc3VwcGx5IChyZWdubywgKGNoYXIgKikgYWRkcik7CisgICAgZWxz ZQorICAgICAgcmVnY2FjaGUtPnJhd19zdXBwbHkgKHJlZ25vLCAoY2hhciAqKSBhZGRyNjQpOwor ICB9CiAgIGVsc2UKICAgICB7CiAjaWYgMApAQCAtMjUyLDU3ICsyNTgsMTIxIEBAIHN0YXRpYyB2 b2lkCiBzdG9yZV9yZWdpc3RlciAoc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwgaW50IHJlZ25v KQogewogICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9IHJlZ2NhY2hlLT5hcmNoICgpOwotICBp bnQgYWRkcltQUENfTUFYX1JFR0lTVEVSX1NJWkVdOwotICBpbnQgbnIsIGlzZmxvYXQ7Ci0gIHBp ZF90IHBpZCA9IHJlZ2NhY2hlLT5wdGlkICgpLnBpZCAoKTsKLQotICAvKiBGZXRjaCB0aGUgcmVn aXN0ZXIncyB2YWx1ZSBmcm9tIHRoZSByZWdpc3RlciBjYWNoZS4gICovCi0gIHJlZ2NhY2hlLT5y YXdfY29sbGVjdCAocmVnbm8sIGFkZHIpOwotCi0gIC8qIC0xIGNhbiBiZSBhIHN1Y2Nlc3NmdWwg cmV0dXJuIHZhbHVlLCBzbyBpbmZlciBlcnJvcnMgZnJvbSBlcnJuby4gICovCisgIGludCBhZGRy MzJbUFBDX01BWF9SRUdJU1RFUl9TSVpFXTsKKyAgbG9uZyBhZGRyNjRbUFBDX01BWF9SRUdJU1RF Ul9TSVpFXTsKKyAgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3Jk ZXIgKGdkYmFyY2gpOworICBDT1JFX0FERFIgYWRkcjsKKyAgQ09SRV9BRERSIG9yaWdpbmFsX2Fk ZHI7CisgIHNpemVfdCBzaXplOworICBnZGJfYnl0ZSAqbGl0dGxlX2VuZF9idWY7CisgIHBpZF90 IHBpZDsKKyAgaW50IGk7CisgIGludCBpc2Zsb2F0OworICBsb25nIGJpZ19lbmRfYnVmID0gSU5U X01JTjsKICAgZXJybm8gPSAwOwogCi0gIG5yID0gcmVnbWFwIChnZGJhcmNoLCByZWdubywgJmlz ZmxvYXQpOworICAvKiBHZXQgdGhlIGFkZHJlc3Mgb2YgdGhlIHJlZ2lzdGVyLiAgKi8KKyAgYWRk ciA9IHJlZ21hcCAoZ2RiYXJjaCwgcmVnbm8sICZpc2Zsb2F0KTsKKworICBpZiAoYWRkciA9PSAo Q09SRV9BRERSKS0xCisgICAgICB8fCBnZGJhcmNoX2Nhbm5vdF9zdG9yZV9yZWdpc3RlciAoZ2Ri YXJjaCwgcmVnbm8pKQorICAgIHJldHVybjsKKyAKKyAgcGlkID0gcmVnY2FjaGUtPnB0aWQgKCku cGlkICgpOworCisgIHNpemUgPSByZWdpc3Rlcl9zaXplIChnZGJhcmNoLCByZWdubyk7CisgIGxp dHRsZV9lbmRfYnVmID0gKGdkYl9ieXRlICopIGFsbG9jYSAoc2l6ZSk7CisKKyAgLyogUmVnaXN0 ZXIgbnVtYmVyIFIzIHRvIFIxMCBpbiBBSVggYmVsb25ncyB0byAKKyAgICAgZnVuY3Rpb24gcGFy YW1ldGVycy4gSWYgYSB1c2VyIGF0dGVtcHRzIHRvIAorICAgICBnaXZlIGlucHV0IHZpYSBjYWxs IGNvbW1hbmQgYW5kIGluIDY0IGJpdCBtb2RlCisgICAgIHRoZSB2YWx1ZSBpbiB0aGUgYnVmZmVy IGlzIGxpdHRsZSBlbmRpYW4gYnV0CisgICAgIGluIEFJWCB3ZSB1c2UgYmlnIGVuZGlhbi4gIEhl bmNlIGlmIFIzIHRvIFIxMAorICAgICByZWdpc3RlcnMgYXJlIHVzZWQgaW4gNjQgYml0IG1vZGUg d2UgbmVlZCB0byAKKyAgICAgcmUgYWxpZ24gZnJvbSBsaXR0bGUgZW5kaWFuIHRvIGJpZyBlbmRp YW4uCisgICAgIE90aGVyd2lzZSBpdCBjYW4gYmUgaW4gYSA2NCBiaXQgb3IgMzIgYml0IGJ1ZmZl cgorICAgICBkZXBlbmRpbmcgb24gdGhlIGFyY2hpdGVjdHVyZSBiaXQgbW9kZSBvZiB0aGUgCisg ICAgIHVzZXIgcHJvZ3JhbS4gICovCisKKyAgaWYgKHJlZ25vIDw9IDEwICYmIHJlZ25vID49IDMg JiYgQVJDSDY0ICgpKSAKKyAgICByZWdjYWNoZS0+cmF3X2NvbGxlY3QgKHJlZ25vLCBsaXR0bGVf ZW5kX2J1Zik7CisgIGVsc2UgaWYgKEFSQ0g2NCAoKSkKKyAgICByZWdjYWNoZS0+cmF3X2NvbGxl Y3QgKHJlZ25vLCBhZGRyNjQpOworICBlbHNlCisgICAgcmVnY2FjaGUtPnJhd19jb2xsZWN0IChy ZWdubywgYWRkcjMyKTsKKyAKKyAgLyogU2F2ZSB0aGUgb3JpZ2luYWwgYWRkcmVzcyBvZiB0aGUg cmVnaXN0ZXIuICAqLworICBvcmlnaW5hbF9hZGRyID0gYWRkcjsKIAogICAvKiBGbG9hdGluZy1w b2ludCByZWdpc3RlcnMuICAqLwogICBpZiAoaXNmbG9hdCkKLSAgICByczYwMDBfcHRyYWNlMzIg KFBUX1dSSVRFX0ZQUiwgcGlkLCBhZGRyLCBuciwgMCk7CisgICAgcnM2MDAwX3B0cmFjZTMyIChQ VF9XUklURV9GUFIsIHBpZCwgKmxpdHRsZV9lbmRfYnVmLCBhZGRyLCAwKTsKIAogICAvKiBCb2d1 cyByZWdpc3RlciBudW1iZXIuICAqLwotICBlbHNlIGlmIChuciA8IDApCisgIGlmIChhZGRyIDwg MCkKICAgICB7CiAgICAgICBpZiAocmVnbm8gPj0gZ2RiYXJjaF9udW1fcmVncyAoZ2RiYXJjaCkp Ci0JZ2RiX3ByaW50ZiAoZ2RiX3N0ZGVyciwKLQkJICAgICJnZGIgZXJyb3I6IHJlZ2lzdGVyIG5v ICVkIG5vdCBpbXBsZW1lbnRlZC5cbiIsCi0JCSAgICByZWdubyk7CisgICAgICAgIGdkYl9wcmlu dGYgKGdkYl9zdGRlcnIsCisgICAgICAgICAgICAgICAgICAgICJnZGIgZXJyb3I6IHJlZ2lzdGVy IG5vICVkIG5vdCBpbXBsZW1lbnRlZC5cbiIsCisgICAgICAgICAgICAgICAgICAgIHJlZ25vKTsK ICAgICB9CisgIC8qIEZpeGVkLXBvaW50IHJlZ2lzdGVycyBpbiAzMiBiaXQgbW9kZS4gICovCisg IGVsc2UgaWYgKCFBUkNINjQgKCkpCisgICAgcnM2MDAwX3B0cmFjZTMyIChQVF9XUklURV9HUFIs IHBpZCwgKGludCAqKSBhZGRyLCAqYWRkcjMyLCAwKTsKIAotICAvKiBGaXhlZC1wb2ludCByZWdp c3RlcnMuICAqLworICAvKiBGaXhlZC1wb2ludCByZWdpc3RlcnMgaW4gNjQgYml0IG1vZGUuICAq LwogICBlbHNlCisgIHsKKyAgICAvKiBGdW5jdGlvbiBwYXJhbWV0ZXJzIHRvIGJlIGNoYW5nZWQg ZnJvbSBsaXR0bGUgdG8gYmlnIGVuZGlhbi4gICovCisgICAgaWYgKHJlZ25vIDw9IDEwICYmIHJl Z25vID49IDMpCiAgICAgeworICAgICAgZm9yIChpID0gMDsgaSA8IHNpemU7IGkgKz0gc2l6ZW9m IChQVFJBQ0VfVFlQRV9SRVQpKQorICAgICAgeworICAgICAgICBzaXplX3QgY2h1bmsgPSBzdGQ6 Om1pbiAoc2l6ZW9mIChQVFJBQ0VfVFlQRV9SRVQpLCBzaXplIC0gaSk7CisgICAgICAgIFBUUkFD RV9UWVBFX1JFVCB2YWw7CisKKyAgICAgICAgdmFsID0gZXh0cmFjdF91bnNpZ25lZF9pbnRlZ2Vy IChsaXR0bGVfZW5kX2J1ZiArIGksIGNodW5rLCBieXRlX29yZGVyKTsKKyAgICAgICAgZXJybm8g PSAwOworICAgICAgICAgCisgICAgICAgIC8qIFJlYWxpZ24gY2h1bmNrIGJ5IGNodW5rIGluIDgg Yml0cy4gICovCisgICAKKyAgICAgICAgaWYgKHJlZ2lzdGVyX3NpemUgKGdkYmFyY2gsIHJlZ25v KSA9PSA4KQorICAgICAgICB7CisgICAgICAgICAgaWYgKHZhbCAhPSAwKQorICAgICAgICAgIHsK KyAgICAgICAgICAgIC8qIEVpdGhlciBoaWdoZXIgMzIgYml0cyBvciBoaWdoZXIgMzIgYml0cyBh cmUgMC4gICovCisgICAgICAgICAgICBpZiAoYmlnX2VuZF9idWYgPT0gSU5UX01JTiB8fCBiaWdf ZW5kX2J1ZiA9PSAwKQorICAgICAgICAgICAgICBiaWdfZW5kX2J1ZiA9IHZhbDsKKworICAgICAg ICAgICAgLyogTG93ZXIgMzIgYml0cy4gICovCisgICAgICAgICAgICBlbHNlIGlmIChiaWdfZW5k X2J1ZiAhPSBJTlRfTUlOKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICBiaWdfZW5kX2J1 ZiA8PD0gODsKKyAgICAgICAgICAgICAgYmlnX2VuZF9idWYgfD0gdmFsOworICAgICAgICAgICAg fQorICAgICAgICAgIH0KKworICAgICAgICAgIC8qIENvcHkgMCBvbmx5IGlmIHRoZSBhY3R1YWwg dmFsdWUgaXMgIDAuICAqLworICAgICAgICAgIGVsc2UgaWYgKHZhbCA9PSAwICYmIGJpZ19lbmRf YnVmID09IElOVF9NSU4pCisgICAgICAgICAgICBiaWdfZW5kX2J1ZiA9IHZhbDsKKyAgICAgICAg fQorICAgICAgICBlbHNlCisgICAgICAgICAgYmlnX2VuZF9idWYgPSB2YWw7CisgICAgICAgIGFk ZHIgKz0gc2l6ZW9mIChQVFJBQ0VfVFlQRV9SRVQpOworICAgICAgfQorCiAgICAgICAvKiBUaGUg UFRfV1JJVEVfR1BSIG9wZXJhdGlvbiBpcyByYXRoZXIgb2RkLiAgRm9yIDMyLWJpdCBpbmZlcmlv cnMsCi0JIHRoZSByZWdpc3RlcidzIHZhbHVlIGlzIHBhc3NlZCBieSB2YWx1ZSwgYnV0IGZvciA2 NC1iaXQgaW5mZXJpb3JzLAotCSB0aGUgYWRkcmVzcyBvZiBhIGJ1ZmZlciBjb250YWluaW5nIHRo ZSB2YWx1ZSBpcyBwYXNzZWQuICAqLwotICAgICAgaWYgKCFBUkNINjQgKCkpCi0JcnM2MDAwX3B0 cmFjZTMyIChQVF9XUklURV9HUFIsIHBpZCwgKGludCAqKSBuciwgKmFkZHIsIDApOwotICAgICAg ZWxzZQotCXsKLQkgIC8qIFBUX1dSSVRFX0dQUiByZXF1aXJlcyB0aGUgYnVmZmVyIHBhcmFtZXRl ciB0byBwb2ludCB0byBhbiA4LWJ5dGUKLQkgICAgIGFyZWEsIGV2ZW4gaWYgdGhlIHJlZ2lzdGVy IGlzIHJlYWxseSBvbmx5IDMyIGJpdHMuICAqLwotCSAgbG9uZyBsb25nIGJ1ZjsKLQkgIGlmIChy ZWdpc3Rlcl9zaXplIChnZGJhcmNoLCByZWdubykgPT0gOCkKLQkgICAgbWVtY3B5ICgmYnVmLCBh ZGRyLCA4KTsKLQkgIGVsc2UKLQkgICAgYnVmID0gKmFkZHI7Ci0JICByczYwMDBfcHRyYWNlNjQg KFBUX1dSSVRFX0dQUiwgcGlkLCBuciwgMCwgJmJ1Zik7Ci0JfQotICAgIH0KKyAgICAgICAgIHRo ZSByZWdpc3RlcidzIHZhbHVlIGlzIHBhc3NlZCBieSB2YWx1ZSwgYnV0IGZvciA2NC1iaXQgaW5m ZXJpb3JzLAorICAgICAgICAgdGhlIGFkZHJlc3Mgb2YgYSBidWZmZXIgY29udGFpbmluZyB0aGUg dmFsdWUgaXMgcGFzc2VkLiAgKi8KIAotICBpZiAoZXJybm8pCi0gICAgewotICAgICAgcGVycm9y IChfKCJwdHJhY2Ugd3JpdGUiKSk7Ci0gICAgICBlcnJubyA9IDA7CisgICAgICAvKiBQVF9XUklU RV9HUFIgcmVxdWlyZXMgdGhlIGJ1ZmZlciBwYXJhbWV0ZXIgdG8gcG9pbnQgdG8gYW4gOC1ieXRl CisgICAgICAgICBhcmVhLCBldmVuIGlmIHRoZSByZWdpc3RlciBpcyByZWFsbHkgb25seSAzMiBi aXRzLiAgKi8KKworICAgICAgcnM2MDAwX3B0cmFjZTY0IChQVF9XUklURV9HUFIsIHBpZCwgKGxv bmcgKilvcmlnaW5hbF9hZGRyLCAwLCAmYmlnX2VuZF9idWYpOwogICAgIH0KKyAgICBlbHNlCisg ICAgICByczYwMDBfcHRyYWNlNjQgKFBUX1dSSVRFX0dQUiwgcGlkLCAobG9uZyAqKW9yaWdpbmFs X2FkZHIsIDAsIGFkZHI2NCk7CisgIH0KIH0KIAogLyogUmVhZCBmcm9tIHRoZSBpbmZlcmlvciBh bGwgcmVnaXN0ZXJzIGlmIFJFR05PID09IC0xIGFuZCBqdXN0IHJlZ2lzdGVyCi0tIAoyLjMxLjEK Cg== --_004_CH2PR15MB3544D542ED323A24D731DF8BD63C9CH2PR15MB3544namp_--