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 D7D613858C62 for ; Fri, 25 Aug 2023 14:37:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D7D613858C62 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 (m0360083.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 37PERDGW025215 for ; Fri, 25 Aug 2023 14:37:18 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from : to : cc : subject : date : message-id : content-type : mime-version; s=pp1; bh=WverWDrBfSukolP0m77/mCu+Pcbr7+I2SycjkDwwys4=; b=jWModV6Vc7YVu84uWFZJOQfhNQB+bvXNB9Iwhtcci/CrWUSXq9FB+UzbP4rdAFFLYv8F VdZgAuGYX/fUa0SBZwpCETMEaE1X/Q8lTwE8L80oIhje0s5C4vKvWoWiF4WL0uo4h43Y hEye5Hgns3u7SmFgv2k5AmZXoIMRINVu6nFVOdv3O1rSMqqBJVxRtZ3JAHHQpHGf5psc VceQrwSXrqLqVDD0VBqEAzoEyVZGuRQs32O49AL82cgBe0tWein3qEW3waQd6ws21b6q RvClur4nMAK2Sem/P8O1wFVMD3PrAY76xnmW7/9wIdKtbj40WUQYHcKMT7MtHby2pfwP 4A== Received: from nam04-bn8-obe.outbound.protection.outlook.com (mail-bn8nam04lp2040.outbound.protection.outlook.com [104.47.74.40]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3spx2ugftt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 25 Aug 2023 14:37:16 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=e2VpOjVyWqrNOZ6/UZrMHGkpd3DA1IfNv1PAi9eu69B3Jzc3bZUqfmxMbP2qWgRBhbYmn8bt3SEbP6Ypr/3PK5rmOmEVaeQfAeQJvTFCUBywQHvu5QiSylKJcNapKKjDSUsel/R4WQxSfYw9d3rsyqFoAmCQd14bsqDGBkfFa9THnn0R6wLUkfyjf54i/wfcK7twGiOcOJmh9y8Orn2AKTqda3oUFHhjnIYweazQmgccHTVV+oifzS96yGtd609C7qiQXYldr622qQyQFd91PfYXcGK1MHMw1jeXaexngSQfV5eC4z2S6hWmgJALiLDhzUusgTfW0nZqVreKo0Mkvw== 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=WverWDrBfSukolP0m77/mCu+Pcbr7+I2SycjkDwwys4=; b=R2jSf+H5GAVHG5bvznWvGQszbaQ8ko8/AHKPmQS+m928tWgYkAivptarH35au05roal343KpHuUR6p/5/PXzljzK3HxVJW9QGpVLaQW5Dxo2LqUnfbVJqVnuozOQaP32ErhRlnrbFI3l9fH7NpSDwzsTUMLbKhxyRRX/mP2Sz3wc9HRIsWSsSfr0SpAuBC/X8WbKy8K6g4/ULf1yWfTjruT/iifZ0KN7fXhlDGhQP7Eca1BrM0XHN69fQXTRRFPvaSWh76h/iyLpvQ3KuoZ4rgNtr2M4Ul4s2KgQWMnRl7EKtBn84yjhEOMhjt0BRhXS4uXY0Pirj742TMltv8zVjw== 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 SJ2PR15MB5718.namprd15.prod.outlook.com (2603:10b6:a03:4c9::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27; Fri, 25 Aug 2023 14:36:08 +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 14:36:08 +0000 From: Aditya Kamath1 To: Ulrich Weigand , Aditya Kamath1 via Gdb-patches CC: Sangamesh Mallayya Subject: [PATCH] Fix 64 bit red zone frame size in AIX Thread-Topic: [PATCH] Fix 64 bit red zone frame size in AIX Thread-Index: AQHZ117ErRuYYseFzUq4f8y06EysiA== Date: Fri, 25 Aug 2023 14:36:08 +0000 Message-ID: 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_|SJ2PR15MB5718:EE_ x-ms-office365-filtering-correlation-id: 33e52db9-75ff-464f-30e4-08dba5789f07 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: oo2AXx3CW8qXDmswT0mJarY2u1G6y4Za2TYMUas6eXg6ptpvRwWjAMGe/0R5tOYJIvTFGXMGkByBOIEsOglb2rnqEkEeL5WqjoySEKkWfVmLLv7KQrbSoiqyxnEPdSKmZbLDU8hNKisOTebzXcsZvLOaiwU5lDUgmobQwAD2HyqKpvyGSdubAPOThuzwYXxmrIL/WKbeesuUza9TF3i0vLVQhyk1obweEBDVuOusBcH8aEu3lQZGYKHDcqKyQkJ0pWE9IvWkdcNuAC6gzmYoVHujVKOxnhxICK58Z8UfO9PTfbXnXFfE/iWNvDqdVT0wL+AA+e88K+DJe5tM1cOk/xXHUVNVojJJZ6VaZ2T5o/6NRu4ZWSjZ76g7oQwB0TtlzBbg5RreLF+2PXrRwdpDZjIt8p01dU6aDe6rIe3lpOOOUf4v6Co2RjE9tVWYkBP1fSKts3LSb6lUMWo3Nvy5i8A0eHU8iNNLmR9CdK4H6pLAThcmZDJgm82s24XrZlm/I0ZNVwSzH5R7RHs4cUY4nFkIA72RUq7ms/hiU8puY+hsGJGt5A48ewJsHiMZNocH4YnvPV2eyOzxOq9bIAzKdHwcKszA8esToVQQ14l/Z24= 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)(39860400002)(366004)(376002)(136003)(346002)(396003)(186009)(451199024)(1800799009)(166002)(7696005)(71200400001)(6506007)(8676002)(5660300002)(9686003)(38100700002)(33656002)(86362001)(38070700005)(122000001)(55016003)(99936003)(76116006)(2906002)(110136005)(966005)(478600001)(52536014)(66476007)(66946007)(4326008)(66446008)(8936002)(41300700001)(316002)(66556008)(64756008);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?Windows-1252?Q?TvpvUizDOS2afBR023P/DxAn2vhCprMD5+oe7loLNqSfOWBvF/1MZ+l/?= =?Windows-1252?Q?B3U9L+oZP/hNcQ9pVh1EiQGqattcXc4yaJ9j6zP6KH2muz2Zsyzy3uGx?= =?Windows-1252?Q?WbU7q6exjdpxWDSza70Cz0vI1ASKlnRFAfOpsaZdxNuhbie5wquCeeno?= =?Windows-1252?Q?mCMJT+xgI7jXwJIwxLauiEgZ5kuvZFw1v+wAij/TcnHETAEHw9a7modV?= =?Windows-1252?Q?/8yjVjP5ZmEdGbS+zseKULG6uQkbeXH8Nzj2prQM7b18oU2Rc2Ax38sJ?= =?Windows-1252?Q?oDGFL+HnDoTHIElcfRMOOTN6kXR2jBZRTG2Pn6K/D6fZfA/VQVGMWBzt?= =?Windows-1252?Q?YNhhpaqYwDXIvlVnc/GwtuOPLAXhCCruATwgbcIUwI69VrFloOHD9tHT?= =?Windows-1252?Q?j85i3+CBaVhG+SJIWjNDwwSi/Nl617DPvXD1SKbm96lBeOg1Fpxzogty?= =?Windows-1252?Q?WXDaUcT8V0UcQZROZBkosydcqiKcKwWZH8QTvpJ8Cpb1QMiyw3Z5PhwR?= =?Windows-1252?Q?1cg9ZbmlnXYe0MNEQ/InyWdkz0UdGIeDnuFNhtxcAtnihNc66LmpIXa8?= =?Windows-1252?Q?pOUynC37z9HS4hyZb+H0PguwCs+8vZLK+imwYUVFwJLb9i8cfbTvRFZT?= =?Windows-1252?Q?syI+o1ra/tYCkxrNY5d+Za9rpqWhdzZgA5Vu2G1Tu0oDIQbeR5xnBTI7?= =?Windows-1252?Q?AJxVn9rf8ci+AWjXs2IuvTSsDH9GcXqw/ujW+iKIbPFV7Yb8uUp1coPH?= =?Windows-1252?Q?RxJW6qUCdW4J4pbz/ShLi4RJvfpu3XVVrPGy+tGzHKU7KaZgbZU68pU5?= =?Windows-1252?Q?16Au/bbD7erIiQswbqJiHQCGQ1qa5MWD804h9Qvc3b/ZXwF0XEnRdUj7?= =?Windows-1252?Q?9royqhDQ+4k7cPdyiLjH4G7Y9WRYTp8g6okd3P6SfBmBDiEEIj39CmP1?= =?Windows-1252?Q?EepnV8438uzaW+3SMxYkP+TnzqbwN07tKmkvngAxlWvmxqB8blodfcSY?= =?Windows-1252?Q?PWVO0nneXsBbMlgk8QdxF6sKWBVBlJanDwKaon/26gq7rfw2mB5TlCE1?= =?Windows-1252?Q?CrZ4y702O5x/rJARmVRzDQgp71nL5sfu8XaE/XuO9RdZXuKKoJrWH+As?= =?Windows-1252?Q?YcePCng+xmNL6SxPsC7UdrnK5kbTq2a0wwncguIB54T/JzhJtBR9vGjw?= =?Windows-1252?Q?ru8awYHULTt3zWo/aFgtNL+bidCke+C6VesabWH2ikN9SL9oQs3R7qmb?= =?Windows-1252?Q?L30eF7Cq3wE8MGdTG7AGGyB1qTASs+QOum8fabK+L2PsuqcgDY+5D0KQ?= =?Windows-1252?Q?J8U/JabnIb6vv14ld/k8m9+SIjG0zuJBmfC3hAihJufJXOBnqGwWWjIk?= =?Windows-1252?Q?BHA+xhAxQUUeh9xSddS53LKLp++/mEKieXcJISAps6ZI5nvD504PSbgs?= =?Windows-1252?Q?YBGc4pVU6VYEjRAht0i6HpaFiWXBkeLlBnCtxIkRX2EKB6AGZSRN89cj?= =?Windows-1252?Q?7CDn82um5/8mUw+b/btjey1cu3KeR3fkvMOTJJDP6ke7xJc+0TH3RD7W?= =?Windows-1252?Q?Mv3zGSde+nl4SsvFTYyzY6wbry8kpkTGVU+9hwXe37M91KpWI3hlNUIc?= =?Windows-1252?Q?YdxOddWq3uMQJ+8Daw8I67HVcM3fdwTc4XjH2s0fS40oKIDwMuoBq57+?= =?Windows-1252?Q?mJ0ZaPJlKzirAjQcMT+H5lsDlLZNAdOoVH7uC4uvfQG+3MHrEhA/lbHr?= =?Windows-1252?Q?N0m9LOH0BWL9QB2puXYkYUZ5lxF/4/WkZhtdDzfaYOC7l2kH0XeQe7ol?= =?Windows-1252?Q?VvRCOw=3D=3D?= Content-Type: multipart/mixed; boundary="_004_CH2PR15MB35448D270772DC5246851BB9D6E3ACH2PR15MB3544namp_" 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: 33e52db9-75ff-464f-30e4-08dba5789f07 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Aug 2023 14:36:08.5401 (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: dBwkEsibq45RtFTPsZqe65+sl6KzmzxjtkVLloXv3JzeNRADaCNrI9IOkSxIHj6srBMbrqvGEpCaBdyuDuArWw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR15MB5718 X-Proofpoint-ORIG-GUID: dsZ5qsi9e3f_rpLQPIlR2FDdj3-6Y9fX X-Proofpoint-GUID: dsZ5qsi9e3f_rpLQPIlR2FDdj3-6Y9fX 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_13,2023-08-25_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 adultscore=0 mlxlogscore=463 suspectscore=0 clxscore=1015 priorityscore=1501 spamscore=0 lowpriorityscore=0 phishscore=0 bulkscore=0 malwarescore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2308100000 definitions=main-2308250129 X-Spam-Status: No, score=-2.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,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: --_004_CH2PR15MB35448D270772DC5246851BB9D6E3ACH2PR15MB3544namp_ Content-Type: multipart/alternative; boundary="_000_CH2PR15MB35448D270772DC5246851BB9D6E3ACH2PR15MB3544namp_" --_000_CH2PR15MB35448D270772DC5246851BB9D6E3ACH2PR15MB3544namp_ Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable Respected Ulrich and GDB community members, Hi, Please find attached a patch. See: 0001-Fix-64-bit-red-zone-frame-size-in-A= IX.patch. The idea of this patch is to keep the concept behind the 32-bit mode red zo= ne frame size and 64-bit mode red zone frame size the same. So, we were experimenting around this red zone concept where if we call an = internal function from a leaf or a non-leaf function whether we can safely = create a frame for using the call feature without corrupting any red zone n= onvolatile registers. As we went through the code, we realized that for 64-= bit mode we do not set any space for the redzone. This cannot be true is wh= at I feel. In 32-bit mode if we are leaving a space of 19 * 4 + 18 * 8 byte= s for the 64-bit case as well I feel we should do the same. So, we have 18 GPRS and 18 FPRS as per the document https://www.ibm.com/doc= s/en/aix/7.2?topic=3Doverview-register-usage-conventions.. So, we should leave 18*8 + 18*8 =3D 288 bytes in 64-bit mode.. This patch d= oes this.. Having said that when I tried to see if I can corrupt something while the r= ed zone frame size was 0 in 64-bit mode I was not successful. I did try pas= sing lots of arrays or numbers like in example 1 pasted below this email wh= ere I tried call function a with the call feature while I was in the main, = but I was not successful in doing so. The attempt was to check when a=92s e= xecution is done , is the nonvolatile register contents of main retrieved?.= And surprisingly it did even if I pass large structures or arrays. This ma= kes me wonder if having red zone frame size 0 was correct or having 224 byt= es in 32-bit mode is wrong. Kindly give me a test case or let me know if there is any test suite that I= can check, to see if 0 is the right frame size or what it should be so tha= t we can do the right thing. It would be great if you can tell me if I anal= yzed this wrong as well. Have a nice day ahead. Thanks and regards, Aditya. Example 1:- cat ~/gdb_tests/nine_parameter_func.c #include int b () { const float register f1 =3D 1.0; const float register f2 =3D 2.0; float register f3 =3D 2.0; int register i1 =3D 900; return printf("%f %f\n", f1 + i1, f2 + f3); } int a (int b, int c, int d, int e, int f, int g, int h, int i, int j, int k= , int l) { const float register f3 =3D 12.0; const int register i1 =3D 800; printf("%f \n", f3 + i1); static int var =3D 123; b++; c++; d =3D e + f + g + h + i + j + k + l; printf ("9th para =3D %d , 10th para =3D %d\n", j, k); printf ("j =3D %d \n", j); return (int)(d); } int main () { const float register f3 =3D 19.0; const int register i1 =3D 700; printf("%f \n", f3 + i1); b (); a (1, 2, 3, 4, 5, 6, 7, 8, 9, 983, 19); return 0; } --_000_CH2PR15MB35448D270772DC5246851BB9D6E3ACH2PR15MB3544namp_-- --_004_CH2PR15MB35448D270772DC5246851BB9D6E3ACH2PR15MB3544namp_ Content-Type: application/octet-stream; name="0001-Fix-64-bit-red-zone-frame-size-in-AIX.patch" Content-Description: 0001-Fix-64-bit-red-zone-frame-size-in-AIX.patch Content-Disposition: attachment; filename="0001-Fix-64-bit-red-zone-frame-size-in-AIX.patch"; size=968; creation-date="Fri, 25 Aug 2023 14:17:11 GMT"; modification-date="Fri, 25 Aug 2023 14:17:11 GMT" Content-Transfer-Encoding: base64 RnJvbSBmN2IwY2MwNDI4NDAyN2VlZmEwMjYzMmQ4Yjg4NjY0ZjkwYWUyMmMy IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBZGl0eWEgVmlkeWFk aGFyIEthbWF0aCA8QWRpdHlhLkthbWF0aDFAaWJtLmNvbT4KRGF0ZTogRnJp LCAyNSBBdWcgMjAyMyAwOToxMjo1NyAtMDUwMApTdWJqZWN0OiBbUEFUQ0hd IEZpeCA2NCBiaXQgcmVkIHpvbmUgZnJhbWUgc2l6ZSBpbiBBSVgKCi0tLQog Z2RiL3JzNjAwMC1haXgtdGRlcC5jIHwgNCArKystCiAxIGZpbGUgY2hhbmdl ZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0 IGEvZ2RiL3JzNjAwMC1haXgtdGRlcC5jIGIvZ2RiL3JzNjAwMC1haXgtdGRl cC5jCmluZGV4IDgyOWY1NTk4MWNhLi40MTkxNDJiZGIyZCAxMDA2NDQKLS0t IGEvZ2RiL3JzNjAwMC1haXgtdGRlcC5jCisrKyBiL2dkYi9yczYwMDAtYWl4 LXRkZXAuYwpAQCAtMTM5MSw3ICsxMzkxLDkgQEAgcnM2MDAwX2FpeF9pbml0 X29zYWJpIChzdHJ1Y3QgZ2RiYXJjaF9pbmZvIGluZm8sIHN0cnVjdCBnZGJh cmNoICpnZGJhcmNoKQogICAgICAgIDIyNC4gICovCiAgICAgc2V0X2dkYmFy Y2hfZnJhbWVfcmVkX3pvbmVfc2l6ZSAoZ2RiYXJjaCwgMjI0KTsKICAgZWxz ZQotICAgIHNldF9nZGJhcmNoX2ZyYW1lX3JlZF96b25lX3NpemUgKGdkYmFy Y2gsIDApOworICAgIC8qIEluIDY0IGJpdCBtb2RlIHRoZSByZWQgem9uZSBz aG91bGQgaGF2ZSAxOCA4IGJ5dGUgR1BSUyArIDE4IDggYnl0ZQorICAgICAg IEZQUlMgbWFraW5nIGl0IDI4OCBieXRlcy4gVGhpcyBpcyAxNiBieXRlIGFs aWduZWQgYXMgd2VsbC4gICovICAKKyAgICBzZXRfZ2RiYXJjaF9mcmFtZV9y ZWRfem9uZV9zaXplIChnZGJhcmNoLCAyODgpOwogCiAgIGlmICh0ZGVwLT53 b3Jkc2l6ZSA9PSA4KQogICAgIHNldF9nZGJhcmNoX3djaGFyX2JpdCAoZ2Ri YXJjaCwgMzIpOwotLSAKMi4zOC4zCgo= --_004_CH2PR15MB35448D270772DC5246851BB9D6E3ACH2PR15MB3544namp_--