From patchwork Fri Jun 7 09:51:10 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Evgeny Karpov X-Patchwork-Id: 1945000 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=microsoft.com header.i=@microsoft.com header.a=rsa-sha256 header.s=selector2 header.b=C7kPXA4l; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=8.43.85.97; helo=server2.sourceware.org; envelope-from=gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=patchwork.ozlabs.org) Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Vwc1K5BtNz20KL for ; Fri, 7 Jun 2024 19:52:05 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id A6E293A15870 for ; Fri, 7 Jun 2024 09:52:03 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2070a.outbound.protection.outlook.com [IPv6:2a01:111:f403:2612::70a]) by sourceware.org (Postfix) with ESMTPS id 0693A3A1586B for ; Fri, 7 Jun 2024 09:51:13 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0693A3A1586B 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 0693A3A1586B Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:2612::70a ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1717753875; cv=pass; b=PPmyMJLiKThT7l0Ns1o5UwlAd4vI6Yf38AUgaTETjz0s5CYLUCM8FEcCI4lq9shxka1Pi2To26ouYluOEnGO81TRLoKT8Tz9glmRqq4hoD57uMeetx0urSlGE/rGyvA5n+VFM+uDFSHWe0aIyo/h7EX6/6J/QJ8SIsbwa5fgrIU= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1717753875; c=relaxed/simple; bh=B6SZcAONdVfO289Y1GFCpTm7823RaN6DBV/MFA2gZhs=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=O9nvVp4snI687uIhZP+7V5fLBxLx1DLF/VVTu904T9apKZiUSAkqARM7VSBn6M4FSphZklJohIH/9PEKMf+ih7O7ICgtZRpulZcBeMZYkgG+nUYPljFNDS794pKdbIJe+WLhC/+9FCHsEene+9WeKbrx9rgZhAyHXGojLwbT+dw= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FhYaedcOqzJZ3kLjcud84f/BzOYaL0PaPpUP+FK86AUIJn4RuQp0e1brbdvaz74yTclwcQaAObI4hWZ22nVHS/HrTbcfdrL4/Ke/ShQ609ufSMpDb5dfgIMmS3FmFN6tJa56XWmaHhlSegya7B44mTGv7+MHXcGLYH14nyyBjgybcDAfdZl/5kDkJTDp4MnDll+5qs3hMWgh7p3R8xUxADkVrgBEOwJu8qxrIIJFHCuf3eIpS0644rNV1yoTTzb83rtWkF0aiYo/el9VGfMAfLhvnX4LvcCnIR2hvi4G81i1tuz9aXY+9FVKWcXGzkX1DmGy7Xh0mlimQFId82+dpQ== 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=ImOi2F7s/1NUHMO2BoRkrcA2mUXmQVDiYQ1ccCfvPCg=; b=oI/1rRyc8R7PxW1/f10Z0eN5aZqt4um8kQ48qZi8sTKn9DaggI48DDv0djef72pcHtDcyWW1aFtmOV31CqehxpbX9TsAmU4rnM6BJSLPBJ0CkMh8i0hnDH4flEUU3/7ES9UL12v5zV8ziueZzEaggc2Gr+fLSermsGhEx5lJbKmdqDUPykymROj/xy5J/2d92qGtLcw4ei67D8YmG7x1NFchKM9Jzo0W/TwpMJBpAZC5oz5/g+8Lm0X7Dl6bdR0LDQA7zt9iEjlW5eWOHGM35EOQ3/mWZ0BseMKtVcN9GDLVBGt1nMdQKCi+Oi8Ikg4p1vEkOeXi73titUTRGhEpuQ== 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=ImOi2F7s/1NUHMO2BoRkrcA2mUXmQVDiYQ1ccCfvPCg=; b=C7kPXA4lWVykDhhtiUZ3/4pIX+NMXlZ0D37GD2qJS7Riy6STtjH7KzlLjayVC0+UOe0KEfTZWzof5s44EF7NqEVKHT8FJjALcuI7CgCWg+aLxEsbFXSHSAuWdFSNsuJfA7jnluOKkQsU7WStXdGpmmx5kz3ihlOlnZjEn6M95G8= Received: from DBBPR83MB0613.EURPRD83.prod.outlook.com (2603:10a6:10:533::21) by PAXPR83MB0560.EURPRD83.prod.outlook.com (2603:10a6:102:247::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7677.7; Fri, 7 Jun 2024 09:51:10 +0000 Received: from DBBPR83MB0613.EURPRD83.prod.outlook.com ([fe80::399d:9bfc:1209:af10]) by DBBPR83MB0613.EURPRD83.prod.outlook.com ([fe80::399d:9bfc:1209:af10%7]) with mapi id 15.20.7677.009; Fri, 7 Jun 2024 09:51:10 +0000 From: Evgeny Karpov To: Evgeny Karpov , "gcc-patches@gcc.gnu.org" CC: "richard.sandiford@arm.com" , "Richard Earnshaw (lists)" , Radek Barton , Maxim Kuvyrkov , "ubizjak@gmail.com" , "10walls@gmail.com" <10walls@gmail.com> Subject: [PATCH v2 5/6] Adjust DLL import/export implementation for AArch64 Thread-Topic: [PATCH v2 5/6] Adjust DLL import/export implementation for AArch64 Thread-Index: AQHauMA5HBa8RbvYkUC5HyxeeD147w== Date: Fri, 7 Jun 2024 09:51:10 +0000 Message-ID: References: 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=fc71c0da-0b04-4a90-84d3-756fb686144b; 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-06-07T09:39: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: DBBPR83MB0613:EE_|PAXPR83MB0560:EE_ x-ms-office365-filtering-correlation-id: 5c6107f7-c9cb-4495-aa9a-08dc86d75c1c x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230031|366007|1800799015|376005|38070700009; x-microsoft-antispam-message-info: O/IpOTgDl7lA8AEhjXvEq0kHRIru/vlKCXA0koxLoggYue6y050OLFzxW8FD+vpgzOC7l6bkKDcX0RapxaTPJjlJDDvDnI+tfimc+9Bz/iRubLxWohdmyw61Iy+NsCcv8S/rqpYc/gupuPkqyLrz9QylppHue9vXAVWWUgv7lmxAlUs+FhH8KLBhLDSi3j2WuvDchom9fmUTXYSZc6fo6ZFme9NlC0a/xjKJZJ2otrEGJxa9U8kL7LHT6FAAi5x3B542Q03pa08SA6Kdp90H7Sznm8ppcubG6a6xixviH6/EU1xRk50xpuGb4bpD3K64yC5ojtIxoaORpRe+GYdHEsmnlv4ezX6ILEVLePGXs3qjf3+7hhPgPpw0hC1h8Ud1b5SUjK5nR98Fw9jIbOHTfqW5ciWKmUOuzcrKmwQ5K9ttzxxFtuvOkSBGW6y1EumrSFKmOYqIfZ/FzZU3/kCGWH8FMX3r8ouv1IOQ7RFawyQXVTrQ60oV8DXULW6LjUKDdBkzVA2EBn8dnL+pLK35ZKbcq8gZ8kqZLhckJq0vdZE026jJA7cZ3Ab6Z6cvrb7MxMfulSIbArhTE6vMCXVBQZ/AC+nt+AmVaKgHY9z6RlDxdKXmHlfLDZdBFguQY6WZG0R/CRJyHbEROSbWbBv/dxVS4BnE+Fz1MWE9aphDzNnVBRQxKnydj+N//a4ULuZ4s4FeJyBrGqcB6uth3PAKfgLpsKWX1Jz/Jg3fji8GEwyRnWVszCaqDaoOosSTFfIHxkMnBY3e7iyWiOFVUZbzARhnwmUMnappzye06HfbVSEjz9TNVm0VBxOVjlsxz2jGFrEDvd/M/ORJrm3p/pQGfn+jeVYg8zaIMl4MTxiVAeu9ck76F7bcJe9cwTOeVa5Xjl38woXrrVScOu4nsTxiVPBEEQ+cGsbIPBXX1TOj8GUH2WxuWOkwcVxHa2kbHmlW/HYt0T8+mVhUWZxLL2HzMoN7xotCG8QPe5DipsoRxppq4sYFoczFX7SWEuoP9BB/lZSGfzvcNFd9osq1gI5l4HJre7zRXifdJOkkVzjJdaFByI68EYP5rSZNZHfN7rgtPNbvHb592n0EvqRfoRXTenjtFXeqIlJ5zX6qquYZS5nj9y0iY+kUytpR9tz2btyqLA5NkjTBWqy5tWj1NUaRqSFvyr+47Cgt79weecwMG7nIQ5XfM2AYIbawl/+f5kx1hzcWedMBbJwJeHni3XLznFuLElPCzt27mA2XQH7kHiAjILVdAmTm2hzN6T4n5wjSlX1JSvbK5bfjDWfJ02xOcFke3QRFP3VFa5qFNFw1Lem3dePoLV3xBn4FKwtezGUB5DyeG7NM7dN8IbFBVsHvdqiHr1UGjF3MzTAay1xIgM4= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DBBPR83MB0613.EURPRD83.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(366007)(1800799015)(376005)(38070700009); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: wgfSHtYwZWOURlVnreWGzMU9rwACLBGdof203kyhg62sc0U6tUnniTtCeJtLXyCY19fMgygLmCEs7r4PC4mPUbzFkK7INR+U5zZuX513cCGLUgA7Kr5iCTUqRkxUq7XR17vY58u6srikEwGveoYdwwod/Snvj3jbpuUCPZukDThFMbTNjq+g+Izw1OArMRcbLi9tEBr5Gm3qwQSJ38rX9tnMpsKJmXrMY+bmvs/RBN4aJqrj40KK7N6IkFtzzyD5W3jBjsmwgfKUjgQo6qxmccm5Xms+pfUsy2u9MmVUaVurCSwphglDCnyD4IVR1f7IsxQ/lGfGXEWNubGRCGhp73RDJRJMwA+2akkU7CQ597Zc/GvggsWMlRZHa3SprJ4Dz6UCkXftU5NAhly/UHEzGsmn5wofPs/oghJkBL/fHIM212YRCzYig6uAG86FFdgXl4pagsbLZV/VroBzlN89PQpmDmyrJw3RLxvvs8HYUF+L5N5nqAzQZJcwhA4SOQw+nHvudyKQTFKi0OVG8c8LD7vAjYtiLtlhbr3xOgm52uq65YxPT89N2ldVqfR/NfKUqun6lg/M4EUppgEcLIb5pUe4jyLM65P4IaRmL1r2GH8HU+ZtxSE1xRK3yZH2ykquCo1rQyYgKh/QQsNzsF12k7haV0Cdk+UdEP0LA7Zy5EurWSVllIHB/64kZbc8/yn1ut70RLSSmhdVArDjyQdatso7/j5WZwGINxmjiXjUqPjnOGQQ9/axv4J9e7YiTj83re1kSgc5aHvL1LSHg1zMP27bkymqfz5/nSzElSFpWzEXiabae9t/3OSqZ26QvEbtgW4BE8jR1YYX6h3c+MF1apsaago8u+meF/QWYrxFmhIe/frQryix5B+EtbmASl46jipWubM23aekxxjFesfor5p5JxxVtxGonXWFCBcwMIECCJmmlmjaUobA2yDn/JFy+tZJGYXmabFp1cuZt5fzsQmXqhvKKFl38bxfLI71ESr3eUUcXse1/tFFwxAgB1UQAv25wygjs08M+TFruS4BFIKg1WP0SSF1FJkYd1ULiyEggbE8dt4hI/uWaejenaY1YHJRc4GC5+51xJsfJAB1zq1Lu2mF49Ftl5C+2/sZ7wBzVteO+qMs6pC0M07uuc1xcC9c+vCWI4hFMyA1nV6Bha61cJS/DhlrwAeJWPKcp2IkAMZ/DCo1thDjdn732Y1C4M2zoOBfOlVVZKKwQHvvrBclS+QkGTUEU/Js8YR8ocffCCU/VXaSddjHVFfg+1vaLQsfPxZhJ1bBRGHZjhYDCwnFbrExdwDvhrdm1+CPs2xPswKLD0X9ySSLPgUSbYfyjBbZ5N7RDWs7Nmcs5D9GpmW0cZ90JyG5AxK/EPVxH1NVTFfjVhP0tPN2CtvIi9d0hoWsIi87I5Ui90L9ucz9JGya6G179m7D+Z5wibRwT4pg9hvBNM5bidjCHFhh/uR7DaPdikJmPDDIRr0nrPxGsrxL2CWCAVhWUlW5a0oonxmsibXR0eUxNWgdnn9kMTqkX0NV3E20lCpedk7UeOlggjjlIT1zmSo6upDoz7DdLo7Q31CSHDllMTf5UZ1z9HP59+yBvYkPOTSCQrReRT2iuf0R5ES7pSmjxLEdrtLoQDpnn2nx265p2YWGoLbYbSgY MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DBBPR83MB0613.EURPRD83.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5c6107f7-c9cb-4495-aa9a-08dc86d75c1c X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Jun 2024 09:51:10.0898 (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: 3odPT2h/wO8xfBpbNmmVb/lLiti1XNYWVcJPkmSpKu+dBw8CwKtjU2WW7xYwWgAJ3hLUWPWDEzke7fAjaiWqUg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR83MB0560 X-Spam-Status: No, score=-10.2 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FORGED_SPF_HELO, GIT_PATCH_0, KAM_NUMSUBJECT, SPF_HELO_PASS, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE 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: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org The DLL import/export mingw implementation, originally from ix86, requires minor adjustments to be compatible with AArch64. gcc/ChangeLog: * config/i386/cygming.h (PE_COFF_EXTERN_DECL_SHOULD_BE_LEGITIMIZED): Declare whether an external declaration should be legitimized. (HAVE_64BIT_POINTERS): Define whether the target supports 64-bit pointers. * config/mingw/mingw32.h (defined): Use the correct DllMainCRTStartup entry function. * config/mingw/winnt-dll.cc (defined): Exclude ix86-related code. --- gcc/config/i386/cygming.h | 5 +++++ gcc/config/mingw/mingw32.h | 2 +- gcc/config/mingw/winnt-dll.cc | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/gcc/config/i386/cygming.h b/gcc/config/i386/cygming.h index 4bb8d7f920c..0493b3be875 100644 --- a/gcc/config/i386/cygming.h +++ b/gcc/config/i386/cygming.h @@ -472,3 +472,8 @@ do { \ #undef GOT_ALIAS_SET #define GOT_ALIAS_SET mingw_GOT_alias_set () + +#define PE_COFF_EXTERN_DECL_SHOULD_BE_LEGITIMIZED \ + ix86_cmodel == CM_LARGE_PIC || ix86_cmodel == CM_MEDIUM_PIC + +#define HAVE_64BIT_POINTERS TARGET_64BIT_DEFAULT diff --git a/gcc/config/mingw/mingw32.h b/gcc/config/mingw/mingw32.h index fa6e307476c..0c9d5424942 100644 --- a/gcc/config/mingw/mingw32.h +++ b/gcc/config/mingw/mingw32.h @@ -82,7 +82,7 @@ along with GCC; see the file COPYING3. If not see #endif #undef SUB_LINK_ENTRY -#if TARGET_64BIT_DEFAULT +#if HAVE_64BIT_POINTERS #define SUB_LINK_ENTRY SUB_LINK_ENTRY64 #else #define SUB_LINK_ENTRY SUB_LINK_ENTRY32 diff --git a/gcc/config/mingw/winnt-dll.cc b/gcc/config/mingw/winnt-dll.cc index 1354402a959..66c445cba77 100644 --- a/gcc/config/mingw/winnt-dll.cc +++ b/gcc/config/mingw/winnt-dll.cc @@ -206,7 +206,7 @@ legitimize_pe_coff_symbol (rtx addr, bool inreg) } } - if (ix86_cmodel != CM_LARGE_PIC && ix86_cmodel != CM_MEDIUM_PIC) + if (!PE_COFF_EXTERN_DECL_SHOULD_BE_LEGITIMIZED) return NULL_RTX; if (GET_CODE (addr) == SYMBOL_REF