Message ID | PAXP193MB1296432A56306213F013C1CDE4062@PAXP193MB1296.EURP193.PROD.OUTLOOK.COM |
---|---|
State | New |
Headers |
Return-Path: <gdb-patches-bounces+patchwork=sourceware.org@sourceware.org> X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 4D2183858C33 for <patchwork@sourceware.org>; Wed, 10 Apr 2024 12:08:21 +0000 (GMT) X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04olkn2047.outbound.protection.outlook.com [40.92.75.47]) by sourceware.org (Postfix) with ESMTPS id A21FA3858D20 for <gdb-patches@sourceware.org>; Wed, 10 Apr 2024 12:07:54 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A21FA3858D20 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=hotmail.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=hotmail.de ARC-Filter: OpenARC Filter v1.0.0 sourceware.org A21FA3858D20 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.92.75.47 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1712750876; cv=pass; b=aIICdGXZ/b0pa3qtRVPEHCbVhjmAGg939UMw0+digfzbeK4+Mgh00JvrvLYM4LUJfGiaHmcq0Jh1tUI3XNMuazCfSC2mgAXNoQiJfewlXFKnTSXED8oOf0ONMu5TwIuYBpJB40UvplLZX7TWxs5Y7pa/OZmAlgzAQTR0GL3LQs8= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1712750876; c=relaxed/simple; bh=42OOgb6oI9N3hb5HWe4mEJ0ia0FmHI09wSJxDy82wFE=; h=DKIM-Signature:Message-ID:Date:To:From:Subject:MIME-Version; b=UHNf8dAnkdagxPkov9ilL0iY7ZU/KCBXpBkwpPC8tM8R/Rv0f152Fgh5UuUqBO/yXEPjn3zzifOeGhtoVnV/WazV5W5N+ZO0hoMwEYMCdmK9sKLgV9NLJkPG4lZMjPPXpb4r9iiyIFM3JiuibsbVOu15fjHS072G//dCm15+dOw= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mpqw117CWWYqswLnUBYugc3hzDa6GJW+lByQ7IyZlZ9wIBwWmcsjlj3+/G0a1SqeEavGmLx6LstI0mVxxY7o/H3wmbF2P30hK5zX/+F6c/YOBpwwJV4KUExcW4ZiA8cW7Pfu1SblvFXQnFRuYtThn/7mOfellWO1LJYEiDx5SdsZ3H2n0ap3k11/XORWcfv50hqXlQYh9nIylHsfJts+rsLQjhnwRK5dtIODNEImh+MgLbP8ykXl+pPMhYBcYpqBbB6ZZrJI0vEbn0iDDVCNV1vB5WYF/+9YPipfuVkzIiu7PsFCGSCslGALU67+E0R1Ik0J38C+ax38Swyh/xZ9hQ== 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=ggz2gWRtB7fchmShIAurTtaVVltE5Sk/rvI642FqbF4=; b=ObzNy12fjV4kskbefAfvlz88EWBYa1W/mUKSje6L59BiaifYpDgP3Z9fBWILFHDUdMAvrhaHEzG0CrXzXmABfTvNoPpeqgtDLjgjt1X501l3pva7Ht/CtA2c9aqtGky50P1M+akPHitlhYQUKTtuKaIH49UqORUnaRDEb1G0Oj5ovEoI9aiUtto5zI3l/UXk7XCqD2GtTYAM0nBwoQEvkIlmRINDvgJLg0uoqPBGtV5eFqWSJ8y5SQefzbZYsi9J9k9QRuCcIxsiT2stA4/nat8jYqE9HvU1ixVmIj8qty2tLDGD8n9l4/1zRvzfDOj8AuWrkVihBsGWloFkdTzU+Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=HOTMAIL.DE; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ggz2gWRtB7fchmShIAurTtaVVltE5Sk/rvI642FqbF4=; b=p5MhJphaMBjPfGjg/qss2VjcLX7LT/34+BiogKpmWhE2AMaRlJDLiwiNvdEw+HsJh9zJus6JULQFSYNko4lgW5BdCbDIybQDmO+CJK1efsvVpT2kDApmgO5p8kupFEzveDhDZk5Cod6Hfesx5IDkdE06s4LEaSWtWyxKeX92imJ0EUu4jibimDRG/B6qeCqPFFGrZHyEptBOqOHSh2gGgEbRnc1GbDqX8LU1q9KqE3o1wHECRhTtf+bfBlLGU44Z14OhTSVSkx4UIkCp2x/A2bHy1n8nslQFGQNJ5AC12Eres7sPDmkJuz6win7IeRgrYs+dlA64990Hpl/j1NailA== Received: from PAXP193MB1296.EURP193.PROD.OUTLOOK.COM (2603:10a6:102:15a::24) by AM0P193MB0580.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:16f::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Wed, 10 Apr 2024 12:07:52 +0000 Received: from PAXP193MB1296.EURP193.PROD.OUTLOOK.COM ([fe80::9cd3:f742:8663:6ee]) by PAXP193MB1296.EURP193.PROD.OUTLOOK.COM ([fe80::9cd3:f742:8663:6ee%7]) with mapi id 15.20.7409.042; Wed, 10 Apr 2024 12:07:52 +0000 Message-ID: <PAXP193MB1296432A56306213F013C1CDE4062@PAXP193MB1296.EURP193.PROD.OUTLOOK.COM> Date: Wed, 10 Apr 2024 14:09:41 +0200 User-Agent: Mozilla Thunderbird Content-Language: en-US To: "gdb-patches@sourceware.org" <gdb-patches@sourceware.org> From: Bernd Edlinger <bernd.edlinger@hotmail.de> Subject: [PATCH] sim: riscv: Make stack 16-byte aligned Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-TMN: [JCtaI1plqlOBozRxN5xd/uVtmJ5CJ3UX+YBAYOVfiELAI7nvhXiWgo4PVSqdrpBC] X-ClientProxiedBy: PR0P264CA0061.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1d::25) To PAXP193MB1296.EURP193.PROD.OUTLOOK.COM (2603:10a6:102:15a::24) X-Microsoft-Original-Message-ID: <dacfc8d1-8350-4475-b2d1-abb79cd94f11@hotmail.de> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXP193MB1296:EE_|AM0P193MB0580:EE_ X-MS-Office365-Filtering-Correlation-Id: 2aa2612b-5ee7-4803-07a7-08dc5956d8f6 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: W89/E3ufxUh18IMovhNcAkjj1l0Ut4lR/HCYbO4z96ORFCuQqa+1WUiXObFvZafPbVO+6wibPT23AlIPOcDcTFThDb4wqRJcFUjf6eoBEyMACIz9w/24fVKdz5xlcyqf8IfRb/RiDYV4cRy1j/EMReRSwzNXom7dbaEm+gTbXoJt0PvHujNoD2/74k9nUEXV6BZQxH+NINTIa4O2dB+8BHjo9iW8Qpz9MZjIIlxfV23a6lTQ0Ajr21t2g9a/BqaziBhwor/QJTsDlFLfLctwraao6Z+/QtdOGsVIpJ9zxD3CPpxSATV31No5P+LsZH26NHVuAOoQSAhGMjnBEeg5IJrREI1yQQBB4MeRoX5L0ZfesN7HVmE683KSkD6ofQRlonXW2+p4BzdjKJtfrbgn6Gm51gD/ynrX+NuXqj0XDHWM3dHSJsthN4m0Te09QyX/aXZoExyONe9NmJkU7Rr1yGNmX+oCOIJ3n+jsiGb2vsHa9oBRNH5GGvs9b4f0gjiLznf8YFEHhx/OlE7Oak3d+m3JTuomA46CdoAEflVIM/bxrVlB+v/MoTIBi+o/Z+Fw X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?p2Si5GgG22TINZS/7AJa45eFOJJW?= =?utf-8?q?hzuR2E7QEvb6ZHY59EtN/aiObeR2bj32CuqlZ5lao47wZXO6xMHzkhg3pfnzjishz?= =?utf-8?q?Dq6OJtRfAVE7O9eGJ2TatN6Fz+LhgLcC3NkSIZQbCaDMfTq0YhsG7jX7me2hxWtlI?= =?utf-8?q?x69T8GA/t6D6fCMsIGHXCiUrJeOy+XnuNE9PURAjpdgvkiDWFuJV1ETk/FCUlZMQX?= =?utf-8?q?+JdGNw+mXx2VrE7G24wD3kM+AHL7luyKfKCDn8q6B/A7+ZTO71ZNreuQSERRV0NDd?= =?utf-8?q?QW55OjphBEzIlwmbcyzwPFEyyAxC6FGDZmNp4WHUi9HnaKlgHmQEdP7nmq4vwlQJG?= =?utf-8?q?dZziKDNccHjkjntrQ2Y3VwAYuGhkZ0fP7/xAnquFUfX/dUJmbvIGwBBJGLB9obeFH?= =?utf-8?q?rsmbrZm0VenLmpHuStRYoLjZTNoy0jndjLyFMOTjQrdxpmo3mkzkbt5icHr7A7gIW?= =?utf-8?q?Y5FNYxrj3qdSQEIJg3JZzW6IXJ5FOah3KiYcen7oZLR7aWMAuN8E9afdDS4zXe+qN?= =?utf-8?q?haI+zUkwoDH/wA/ZurLQVmo1i1984XIZpb7LO1W8pFtbdVqUptFLSwWYKJNNhaRtA?= =?utf-8?q?66t8uZdrYdhKUwE6vod/QtE9bvUrGipJ9Jkl0e7nNXdAutxTtgMHxrvdm1y4EFmKp?= =?utf-8?q?Ha7YIvsosGbZCNKeiLvCutMUqAH32ZwBJwmOWlaAIrfAGM+RU3yg6AqOEtnQcKw8/?= =?utf-8?q?02VkbVWQTxJqRJ1XXzMRYsGg3u1m9I32fzeNP6c40QKaxYXDQ6vbihF0XXfmJiD1T?= =?utf-8?q?AjMVVc7qWoZUzfKu2LZDMqHZUc1GgaFtBQmzpa4TcgB+pLLhhyf/XC+kjKKszo1z2?= =?utf-8?q?Ol2PBwFlH+hlyRBmk103gzc9w4U0XWCYopgAEZkmt5aZNJtMgxAhpunFG12+uacS2?= =?utf-8?q?WFFX+GVHjdP3NfbeAgAaLKwoFLzG2mMs9Mq+deuAaG0ieswYzJlIUu9KmSU9WbYzl?= =?utf-8?q?w/xTG0iXgJfcmFOSEzqkBSDCYxfPaIQw8xmXyZG+xog0M6R8XliZZg/yogEN0rUa4?= =?utf-8?q?fqIqU5SP4CzywPe3g48V+ldyheZMXJ+jfr2/jDcP7gmIfrkpcJvDeRummQBQ7huK9?= =?utf-8?q?IZOr0YzMysiuFhsTCZcFtuYXKLJs3gg9j2u1SrxKn3YQLeJdERtefamL0JtkYjFoV?= =?utf-8?q?BGtzB7olz794PXnMnrzsZxzvSoF7GX/ILoLVvMlbQx7pj7G5vozwvof7QSqjUgjeG?= =?utf-8?q?He8H/PE+sBJ41r75mgQyR4EqMr0oSvHJLqCwdggexHw6TY5dXV6wWPC+SVIxmTyuV?= =?utf-8?q?CcWu2WkcCDVPlNSe?= X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-80ceb.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 2aa2612b-5ee7-4803-07a7-08dc5956d8f6 X-MS-Exchange-CrossTenant-AuthSource: PAXP193MB1296.EURP193.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2024 12:07:52.5149 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0P193MB0580 X-Spam-Status: No, score=-13.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, 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 X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list <gdb-patches.sourceware.org> List-Unsubscribe: <https://sourceware.org/mailman/options/gdb-patches>, <mailto:gdb-patches-request@sourceware.org?subject=unsubscribe> List-Archive: <https://sourceware.org/pipermail/gdb-patches/> List-Post: <mailto:gdb-patches@sourceware.org> List-Help: <mailto:gdb-patches-request@sourceware.org?subject=help> List-Subscribe: <https://sourceware.org/mailman/listinfo/gdb-patches>, <mailto:gdb-patches-request@sourceware.org?subject=subscribe> Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org |
Series |
sim: riscv: Make stack 16-byte aligned
|
|
Checks
Context | Check | Description |
---|---|---|
linaro-tcwg-bot/tcwg_gdb_build--master-aarch64 | success | Testing passed |
linaro-tcwg-bot/tcwg_gdb_build--master-arm | success | Testing passed |
linaro-tcwg-bot/tcwg_gdb_check--master-aarch64 | success | Testing passed |
linaro-tcwg-bot/tcwg_gdb_check--master-arm | success | Testing passed |
Commit Message
Bernd Edlinger
April 10, 2024, 12:09 p.m. UTC
Various gcc test cases fail due to the stack alignment of 16 bytes is expected by gcc, causing issues mostly with vararg functinos; e.g. FAIL: gcc.c-torture/execute/nest-align-1.c -O0 execution test FAIL: gcc.c-torture/execute/nest-stdar-1.c -O0 execution test FAIL: gcc.c-torture/execute/va-arg-12.c -O0 execution test FAIL: gcc.c-torture/execute/va-arg-15.c -O0 execution test FAIL: gcc.c-torture/execute/va-arg-16.c -O0 execution test FAIL: gcc.c-torture/execute/va-arg-17.c -O0 execution test FAIL: gcc.c-torture/execute/va-arg-20.c -O0 execution test FAIL: gcc.c-torture/execute/va-arg-26.c -O0 execution test ... --- sim/riscv/sim-main.c | 2 ++ 1 file changed, 2 insertions(+)
Comments
Bernd Edlinger <bernd.edlinger@hotmail.de> writes: > Various gcc test cases fail due to the stack > alignment of 16 bytes is expected by gcc, And indeed by the RISC-V ABI specification I believe. > causing issues mostly with vararg functinos; Typo: functions. > e.g. > > FAIL: gcc.c-torture/execute/nest-align-1.c -O0 execution test > FAIL: gcc.c-torture/execute/nest-stdar-1.c -O0 execution test > FAIL: gcc.c-torture/execute/va-arg-12.c -O0 execution test > FAIL: gcc.c-torture/execute/va-arg-15.c -O0 execution test > FAIL: gcc.c-torture/execute/va-arg-16.c -O0 execution test > FAIL: gcc.c-torture/execute/va-arg-17.c -O0 execution test > FAIL: gcc.c-torture/execute/va-arg-20.c -O0 execution test > FAIL: gcc.c-torture/execute/va-arg-26.c -O0 execution test > ... > --- > sim/riscv/sim-main.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/sim/riscv/sim-main.c b/sim/riscv/sim-main.c > index 4e3672505c6..0876d455570 100644 > --- a/sim/riscv/sim-main.c > +++ b/sim/riscv/sim-main.c > @@ -1586,6 +1586,8 @@ initialize_env (SIM_DESC sd, const char * const *argv, const char * const *env) > sp = sp_flat - ((argc + 1 + envc + 1) * sizeof (address_word)); > /* Then the argc. */ > sp -= sizeof (unsigned_word); > + /* Align to 16 bytes. */ > + sp &= ~(address_word)15; I think you should use 'align_down' from common/sim-bits.h, as: /* Align to 16 bytes. */ sp = align_down (sp, 15); Assuming that works then: Approved-By: Andrew Burgess <aburgess@redhat.com> Thanks, Andrew > > /* Set up the regs the libgloss crt0 expects. */ > riscv_cpu->a0 = argc; > -- > 2.25.1
On 4/12/24 12:32, Andrew Burgess wrote: > Bernd Edlinger <bernd.edlinger@hotmail.de> writes: > >> Various gcc test cases fail due to the stack >> alignment of 16 bytes is expected by gcc, > > And indeed by the RISC-V ABI specification I believe. > >> causing issues mostly with vararg functinos; > > Typo: functions. > >> e.g. >> >> FAIL: gcc.c-torture/execute/nest-align-1.c -O0 execution test >> FAIL: gcc.c-torture/execute/nest-stdar-1.c -O0 execution test >> FAIL: gcc.c-torture/execute/va-arg-12.c -O0 execution test >> FAIL: gcc.c-torture/execute/va-arg-15.c -O0 execution test >> FAIL: gcc.c-torture/execute/va-arg-16.c -O0 execution test >> FAIL: gcc.c-torture/execute/va-arg-17.c -O0 execution test >> FAIL: gcc.c-torture/execute/va-arg-20.c -O0 execution test >> FAIL: gcc.c-torture/execute/va-arg-26.c -O0 execution test >> ... >> --- >> sim/riscv/sim-main.c | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/sim/riscv/sim-main.c b/sim/riscv/sim-main.c >> index 4e3672505c6..0876d455570 100644 >> --- a/sim/riscv/sim-main.c >> +++ b/sim/riscv/sim-main.c >> @@ -1586,6 +1586,8 @@ initialize_env (SIM_DESC sd, const char * const *argv, const char * const *env) >> sp = sp_flat - ((argc + 1 + envc + 1) * sizeof (address_word)); >> /* Then the argc. */ >> sp -= sizeof (unsigned_word); >> + /* Align to 16 bytes. */ >> + sp &= ~(address_word)15; > > I think you should use 'align_down' from common/sim-bits.h, as: > > /* Align to 16 bytes. */ > sp = align_down (sp, 15); > > Assuming that works then: > > Approved-By: Andrew Burgess <aburgess@redhat.com> > > Thanks, > Andrew > Okay, thanks for the hint about align_down. So I changed that to: sp = align_down (sp, 16); and it worked... Pushed. Thanks Bernd.
diff --git a/sim/riscv/sim-main.c b/sim/riscv/sim-main.c index 4e3672505c6..0876d455570 100644 --- a/sim/riscv/sim-main.c +++ b/sim/riscv/sim-main.c @@ -1586,6 +1586,8 @@ initialize_env (SIM_DESC sd, const char * const *argv, const char * const *env) sp = sp_flat - ((argc + 1 + envc + 1) * sizeof (address_word)); /* Then the argc. */ sp -= sizeof (unsigned_word); + /* Align to 16 bytes. */ + sp &= ~(address_word)15; /* Set up the regs the libgloss crt0 expects. */ riscv_cpu->a0 = argc;