From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2113.outbound.protection.outlook.com [40.107.7.113]) by sourceware.org (Postfix) with ESMTPS id 50E1138582A9 for ; Fri, 23 Feb 2024 21:32:31 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 50E1138582A9 Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=microsoft.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=microsoft.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 50E1138582A9 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.7.113 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1708723956; cv=pass; b=dfCtxICc+X24mj3fbbakfhqr5WagL74YSLY+wRn5O9UhBAkDPFpTRPVWnlxrCw2jeVeIFmwKhI3nfyPqYK1imCAqLgtWidyA0ZKbgOie/ggdhUSMsV0aDzNFFpuTT0Aki3xay1ET5eeOjt26uJmz7Fyl5Ap2wqhzbg8JMGBV8zc= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1708723956; c=relaxed/simple; bh=oF+IH+yisrmkBGZ3/4QYCt7HY7BmbdkD9gNuBmmelCA=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=nwUSlIJJK+22csM1VrDIlhHI/o7lPJKs51gQDJzN9z3gKy6UiKjCOtO5EYgT3HriXGeuWuiEylv4VAbf4UzJLDJvlIg8u7BYnvu8lf5dJJXKYfBiKH2DpPHh/68br3R199NmGRVNVAYc5GTrCY+iZ2e8hbrCbbj/nt2dnVRBYsQ= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=a2hdIuhCQkmjcJdFdfvV5nxwoCGEi2jFfn9FrdHOgBk6/v3DjnC94XjjD8GNxPuH0HOL7KgTxyaXl8x1TEbuYL0VyLmNnPf33Gf8Lkidwp44lQ8uPe/GOjT2Mul4ewqp8gbpmdYTH9pMe8LuWLVQcZiIcnz2YcJstkTErf6W4qbMoqk2mTFlMmuUlwD5FLw9AsSu7b2UETpc9RfNIjHGn2+Zqh4ChwLhRzu9+eagSMB8T132m1KXO45RpKL8U7Rol1ZI845qybL09lx3C8VC7B5SvmFflNGyzGLOdJKigeFnUVdXsFIkMLUSyR9Q/X56vIRLCwJywyAwvZdzmuWjbg== 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=bSCnrQ6by2XDN4KfZL01QG9SgkqveZu6PZ0jeeiJ98s=; b=hhNwEUwPd3PHotPwPNoH8htbYKb02gzdJp06ZmWiwwh7z1jsTYM89du7zBi46I8QR7pxXcqdw2YpVxZVlvkQCsReDuJbXTnuyka70nh7l9X7LWlscAdb0HbEJa7L+u9qHbJKp4skf3eUJJtlTolcivyKQ7gtNej2RaqomeOc48WfaA+G1/+hFaPbbQ3fn/Ql/pNtM0A8OiydUQYPcqrrvEWt4Rf0tyVHtu4X0iRgLFC9z4nWR4jmAPsRL6Bsrrac2480XGVJat3VD+JtmCyCIB2i+MHgMuTg0CBuHjLBjS5gjXb1WLpZY1ogV0YGVxnsj54rzD/yHme0/4QPKneqsA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microsoft.com; dmarc=pass action=none header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bSCnrQ6by2XDN4KfZL01QG9SgkqveZu6PZ0jeeiJ98s=; b=bEXd9P3pJgn03i4Gu3uRR3MtIHN7ZDvnXMhVh7EIcZs5ctONvGUxyEs9ne++RoCvUP96ccK0hg4QWLSWYdEPNwkaR4p8bMo2jI7yrNonagYuhsuSEJUACFu9Oy9M7rxMfcMISFwW6631+MYKNIYUYRpByvA6jrt1zyexgTPcxeQ= Received: from VI1PR83MB0431.EURPRD83.prod.outlook.com (2603:10a6:800:17f::6) by PA4PR83MB0550.EURPRD83.prod.outlook.com (2603:10a6:102:26b::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7339.10; Fri, 23 Feb 2024 21:32:16 +0000 Received: from VI1PR83MB0431.EURPRD83.prod.outlook.com ([fe80::7279:eea0:8540:a0f5]) by VI1PR83MB0431.EURPRD83.prod.outlook.com ([fe80::7279:eea0:8540:a0f5%7]) with mapi id 15.20.7339.009; Fri, 23 Feb 2024 21:32:16 +0000 From: Evgeny Karpov To: Richard Sandiford CC: "Richard Earnshaw (lists)" , "gcc-patches@gcc.gnu.org" , "10walls@gmail.com" <10walls@gmail.com>, Maxim Kuvyrkov , "mark@harmstone.com" , Zac Walker , Ron Riddle , Radek Barton , Andrew Pinski Subject: [PATCH v1 02/13] aarch64: The aarch64-w64-mingw32 target implements Thread-Topic: [PATCH v1 02/13] aarch64: The aarch64-w64-mingw32 target implements Thread-Index: AQHaZp/Fo9XexZPxvUChLfn8KfNwRQ== Date: Fri, 23 Feb 2024 21:32:15 +0000 Message-ID: References: <9cd85535-b65b-4be7-9d40-a4e49c72e553@arm.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ActionId=93f632ac-b927-44a9-a876-866f50bab543;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=true;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Standard;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=Internal;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2024-02-23T21:24:03Z;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=microsoft.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: VI1PR83MB0431:EE_|PA4PR83MB0550:EE_ x-ms-office365-filtering-correlation-id: b55895b0-41ed-4c1b-f6aa-08dc34b6e7d1 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: oTbfpsQR+7gHiWwgaTDJpnqZSrzmkDXQ9KPIVUOgVQ438SZVBapu5Z4RSEuUwZPh0dZFpCQQHGkYHjhDr/j4VlmJpetXq6nhdgUirIay/hzv7SrxlJ5hF/+uYp/Y8N7hSyLu6BnTrKMiUL+ngyzG6s1DhadTHrkQgNL4dFAk1dYWZhjOfTjn9EWxJNwTj7GZ/k8Thk8fCC2ykYsFqe0PjnhlGPjeP7ARayzCJ8jxw8Sr1C605E2/48yt3y0Lzu3dke47Av40gJjvx+C3Mo7bAxW6b5X5GZ6mvZYKUEaSLoismkoz24QA7t4xv8bFDEn/U5bfrGbauP0fMmljnG3NbMtC42fLcU221lgoMd9mAN5LJY+uUKkOjBQAmvwWO8Q2sz12xNKDYO9MM8YAY4zv29KMNcc29tpydBvtosPyG8XAKaaIPQxelfrVroHgavSJkR3pa69c+cog8BOEOZ9NQ49IJQAlsEd0GokGhH0ctH+xlyW7AWcfttL9867FkuSki7IkrhqtdKuOF5LuFFag+q4e03Fb1Yz66LB3WG4NgSJEzLwoE1NMnYCUKnaYCgWU50ROkc9EkH3sFxerXQZZSikzdLUmVQ5kUu/P7IpJs2TAxMON8iLw8WECoKKaDSTy x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR83MB0431.EURPRD83.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(38070700009);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?BZGJqMqQq4Uhf99JL6L7RgewA3Gzqm4i+uf0C3K2rjecDXoMRyEHbzak9OXe?= =?us-ascii?Q?KozGRmwgRnZdyDSJ7ITup74/jq1m3py3Oke3RoY5wi7yoKoH39lAZtxEms9Z?= =?us-ascii?Q?eLoekuyEJI40Ujm7AJe3k78tkNooFcBykiiWi+Fabx8PL4WC2k6JtaLUp/VK?= =?us-ascii?Q?j30Ozep0lOMpLaqnxnIGq3StxhJHyJywOEgES4y+w39ykaexZDjS2wSR+BwX?= =?us-ascii?Q?Gw4Qwt9goWT7jFryPJDIquOjsAsObfKr7dWOqq7LR37fPb0z7BEQE4BNTreq?= =?us-ascii?Q?Cje45yre3JdccL+bfSbHwxDjlyaUSFevoKs85buMYB9y007pcd4al7fCikZu?= =?us-ascii?Q?Khm0RmjNhm2TQl3OuHS28XBRkNwePWik6S/0T0B6AffSpKdCwCnrwseb8xeJ?= =?us-ascii?Q?dg9I3c/is1r/ENaLEQRFWplw1+BCJgQzZHFRlpZDMievKyqWyAggqcWGZ6o5?= =?us-ascii?Q?XzxEV50sKmgqK8t36omVWaOZc/xwhVs6MIA0xTeIzfieCAaRRN7pXP9MZeII?= =?us-ascii?Q?EII8q8bwu/7Dmzc7NUS6TWzBXSTO1NPvF9x7aZBiYN99aWDQdn97i3A8CTnO?= =?us-ascii?Q?cY55vY1KrGE+norwZ7s7rYVRgjk/nDfb+d9/pwAbCnUf4fSoDodgmRFqxPoR?= =?us-ascii?Q?NCbMbgsSh5eB/MNqVypjdb5ahPO+RzXlhl9fmXN/Cp1A5zo98hLcHs8w7Y6+?= =?us-ascii?Q?5sOiSIfPqv54wo6yHq/yBYi3aVwy74dCcFLmNwzAsNPRbgXgdPC3WOHQ3f3i?= =?us-ascii?Q?P2Uuaa4FIDf7/6M6t1wZdFhr6bzbkUkZ6avIt8MFB3FelNHQFZhxgFYOoF7g?= =?us-ascii?Q?8QVMKrsG8YWTa517S9HQXBvsW8s/SSAP8V78WMoUJsy+qQR1bYsHS2xOGu3i?= =?us-ascii?Q?hK5MOfvWHGLMf95cz2lS+lAMNmivH5ffo2WvRSMMoWESmo1hZHxliTcYGfHM?= =?us-ascii?Q?TnoOMyzMqGtXC+EI79jqX3BZDA/DfrRTI4zQZ8o4oZ4Ujxr9Zs3JMO1iN5IK?= =?us-ascii?Q?GPDqh0r7ROWdgTtwiKwCh7rmMqJqKlKq+WnBaKztc6rc2rQ4qV6YlMVg43sx?= =?us-ascii?Q?LLFewOB9hj2ZsKTQJH2tXmKaX3lwjbW516fkGdqVmXr5uSR+Fl8itnjuOGcS?= =?us-ascii?Q?dVxcDba0lYKN+yP12QKjepTFwiZxNckopsfN92ynBq03E9t4TqZyiXQ76bS/?= =?us-ascii?Q?inufkWB/oW7sa1+hZMwRfolVUe2d5sK4meJZYoIoKmYyjQaQ3XkZuBzIb/Ql?= =?us-ascii?Q?TJtUDHDPCYudEjQHHPsdklJx77S8JRJh2CBCOM64Sab4RaH8E49lfYC3RQjd?= =?us-ascii?Q?F08+Rev/DLHKtz4Fl48IVeKBusFbeuJNUsG/UVpwvAgZ31ZJTGyPAiGoEaS4?= =?us-ascii?Q?eELGFeIv5bZvg5W/NUIy9+n1F299Gzf7lXVI1xQTh1piULW0VlE5Hzfkaf+r?= =?us-ascii?Q?TOkH0bdqX361cImRm/g0jNsWbMpAanInjpKjfe3arScdrEZFX//fMSCVjpvw?= =?us-ascii?Q?F1We8yErlrk6FJwwaw1b4wVwjYhLhvvmusbupJO4tSQyBYS/aC3noRvvkZE5?= =?us-ascii?Q?XtIBT0L1knTJ+LFg0N78tWpHrWx0rsmYEaJMdeSF?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: VI1PR83MB0431.EURPRD83.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b55895b0-41ed-4c1b-f6aa-08dc34b6e7d1 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Feb 2024 21:32:15.7625 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: lE1cgnCqlEU3+VnZTKBNgL7eavMeFgfM/eU0SAw/gkjh1u4K4G+W4q725Tv3dmxbFJFAEP0PUpVuovxStZxzVg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR83MB0550 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE 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: Hi Richard, Thank you for your review! The MS_ABI definition is for the x86/x64 MS ABI, and it's clear that it sho= uldn't be used on aarch64. The AARCH64_CALLING_ABI_MS definition resolves the issue. It just needs to be properly handled in mingw32.h. The change below is sufficient to resolve the ABI usage in mingw. Regards, Evgeny gcc/config.gcc - tm_defines=3D"${tm_defines} TARGET_ARM64_MS_ABI=3D1" + tm_defines=3D"${tm_defines} TARGET_AARCH64_MS_ABI=3D1" config/aarch64/aarch64-opts.h +/* Available call ABIs. */ +enum aarch64_calling_abi +{ + AARCH64_CALLING_ABI_EABI, + AARCH64_CALLING_ABI_MS +}; + gcc/config/mingw/mingw32.h @@ -19,7 +19,11 @@ -#define DEFAULT_ABI MS_ABI +#if defined (TARGET_AARCH64_MS_ABI) +# define DEFAULT_ABI AARCH64_CALLING_ABI_MS +#else +# define DEFAULT_ABI MS_ABI +#endif -----Original Message----- Friday, February 23, 2024 6:50 PM Richard Sandiford wrote: > What do you think about this change for v2? > > +/* Available call ABIs. */ > +enum aarch64_calling_abi > +{ > + AARCH64_CALLING_ABI_EABI, > + AARCH64_CALLING_ABI_MS, > + MS_ABI =3D AARCH64_CALLING_ABI_MS > +}; > + How is MS_ABI used in practice? When I apply locally, it looks like the tw= o non-x86 uses are in: gcc/config/mingw/mingw32.h: if (TARGET_64BIT && ix86_abi =3D=3D MS_ABI= ) \ gcc/config/mingw/winnt-d.cc: if (TARGET_64BIT && ix86_abi =3D=3D MS_ABI) But these should fail to build if used, because AFAICT there's no definitio= n of ix86_abi on aarch64. The first match is in EXTRA_OS_CPP_BUILTINS, but I couldn't see any uses of= that in aarch64 code, which would explain why everything builds OK. The winnt-d.cc occurence looks like it would break the build with the D fro= ntend enabled though. Are there two distinct ABIs for aarch64-*-mingw*? Or are these distinction= s ignored on aarch64 and just retained for compatibility? If there are two distinct ABIs then we should probably add them to aarch64_= arm_pcs. But if there is only a single ABI, we should probably avoid addin= g calling_abi altogether and instead provide a macro like TARGET_IS_MS_ABI = that aarch64 and x86 can define differently. (To be clear, I don't think the different handling of x18 matters for the P= CS classification. That's an orthogonal platform property that applies to = all PCS variants equally. No-one had suggested otherwise, just wanted to s= ay in case. :-) ) Thanks, Richard