From patchwork Fri Jun 7 09:44:48 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Evgeny Karpov X-Patchwork-Id: 1944991 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=GNct9Tx5; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=2620:52:3:1:0:246e:9693:128c; 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 [IPv6:2620:52:3:1:0:246e:9693:128c]) (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 4VwbsV1kkqz20Q5 for ; Fri, 7 Jun 2024 19:45:18 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B75743A15840 for ; Fri, 7 Jun 2024 09:45:14 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on2107.outbound.protection.outlook.com [40.107.8.107]) by sourceware.org (Postfix) with ESMTPS id 45CEA39B7DE5 for ; Fri, 7 Jun 2024 09:44:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 45CEA39B7DE5 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 45CEA39B7DE5 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.8.107 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1717753492; cv=pass; b=HdWflQgIqb/HyLYr+HIhXxP2Dl37d1Ij9tUL5YXzpEma2ggOC5L0uEeceMscDVkZSaXD27GWDRH/GVdBrWIaix6UjkYtFo+TtaMlJEtn4envcdUoWvBqztxi4EhaimIOpKINVSccTl4Qup+BiW3NhZiL+EzPGWkGVJluPAc+Hj4= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1717753492; c=relaxed/simple; bh=+YpVQvD+Iiq1UY3LwQvXLi2bg1Qb0yf0N9eV4LiwJI0=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=LmcP2JIqCVeyozJQYNS+4+SpEgqzmIIzfMg+/EFz7icAj0aEF8Ab75AB8/MwPz25PxKgaZJSdvPsW3JTFx/hAHPjsYnhSwEgRWr2iUc7+8H8DsYYRjdy3bmujpNj/HEiipIj0IiQqtcPvCi4R0OyU8pfbwhCXillH7g1GDWwEm8= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HrJk3cgmWFboZImxl+MpzhFJr5i3AWI8w0aik4HRzhgwzvj4ClGlWboU7+mNh9x/3TF9/qT2lpSMVvAUh3+AlFD47tw+MELoBzE1YugmGj0ptC9OJzzWnYZs12V23G3ZNUPhWczHT1MM7g1plL0+IHfL2vutyyMHjdC/9QFtBo/iTOgSH5q+Rnpv+hhFImJmy5ElwJZD6rhpqqmX+tre7L6LfjXIq0wRoYQKLnfanFWe9uZe6BEZDtqscbE32QMkSACNoFZ2V8U2xdSPZBzUY0Ya3gN/gwA3PjbBDpSDpua7ExL+SEubO1S6/Z9IwZAVteTfmv0lMrpygs/+PJBXPQ== 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=sSk1gllZ/ac0belBK0XVCCeO7tolOL4wUwDbW4pVd9g=; b=VlUWW0roWyZPtcfKsSfzhqQ67k6qx3n7Rt7sK40Q2+XogBUaJQksOVt8V7YYuGQhzDWHbj3FrKCHAoKug0IDOOF53mQOQ2lsLq9QcZtUoexLpGmwhvghJd5Nl50mhizM489+aMuEWjRYaXnLSk0Y2S8Dr1XJTjbxQvLML35iI1XxYUCCR9SlNEHEbd2Bwl7YK9NOYRIdTXgJusF/YZdFJeVb9zHw6R/fuZHsBd3Fz2RKOk5D7mGO487pUUHqK7nh75Gyc0BLR/+PCbj5Eee/4hbcZ99eKtqwlydQv82KoUxS+tvrvK635f6EtaJrRfR3EftH61miOKYsrv0Wab8UnA== 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=sSk1gllZ/ac0belBK0XVCCeO7tolOL4wUwDbW4pVd9g=; b=GNct9Tx5y8OMgiuOOpk90XBKgjUtFdYs5GKNJdVVef9yzw18aqd2L2X/ZN1GZ49GFFZfHv1amoMyUlyIQiZ/X6tcgbLktjhOg5wd5dIrkYftYRB/Df0pINS3fd5h6wCk1cgvqDaEnuIctNMd4Gbuhjsxq+ujcebHeWLpgsGfD4E= Received: from DBBPR83MB0613.EURPRD83.prod.outlook.com (2603:10a6:10:533::21) by AS4PR83MB0521.EURPRD83.prod.outlook.com (2603:10a6:20b:4cf::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7677.10; Fri, 7 Jun 2024 09:44:48 +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:44:48 +0000 From: Evgeny Karpov To: "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 0/6] Add DLL import/export implementation to AArch64 Thread-Topic: [PATCH v2 0/6] Add DLL import/export implementation to AArch64 Thread-Index: Adq4vtygfPSK8pTPQei1PaPvYYLTIg== Date: Fri, 7 Jun 2024 09:44:48 +0000 Message-ID: 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_|AS4PR83MB0521:EE_ x-ms-office365-filtering-correlation-id: 6f61d086-9bb1-4a39-32b2-08dc86d6789d x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230031|376005|1800799015|366007|38070700009; x-microsoft-antispam-message-info: Y8E2qgoNE0UUzm0TKkjx1njewONZcHoHDTjeoYUWMxDKCbUSL3B9OD0a3f6tyoxxI9BFtgsgAKonVu+XTgGjgZYK+QJDYDFjsjNRMMl8vsUDhT7XfoTYZenOOhTI7YGr9LtdDVy77q8RGyoSXIEsVKSiYrWlEvIGLBGdrOCxHniD1wPTuQAm/SOL10tml7NEwex2xBvcLkqmj19QKFN0wichNp6//zewLpcyMnDIoZuMzdYS+wBI1LnoEg25oRyyjY8lc2Cz98thPNH5lMoKx5p5GeFV4zGrXnNIhAHjIRkfFt8SNKN0ultUhiVoqj05xU+q5PjOh3Wi5brdLGXl1VPFUBOk0LL+eHGmcfOdDeHzJJdONTSmYa7aPayV4zAV5AxAeUZFpXQJhXhzWwgsiG1R2eFHN+rQYkkXo9tNYBxDFh+Z0uVCdZeVHrG2FeBoUsUHVSZs4Nkaj51Vq/KUYQDqZevpXCRdsYfx4krRojApQ0c6VNT9Wlm3L11zehCBr3pkoZT7coEtbSltY4j5X/hh096+civSGUoU3fI8XbcUPsPKkNr9iRWDMfsEo+SuSnJIBSH1xHa8Iti8fwgEPE+zEd3haRdUzdIKILyctjtguDqTUIHEw1gBvyic0Xc1W6mwAROzr52WYGK2mdGaYrVm3AIiEmxJJRXtKbMO7ODOkITgnUbBwQq0dN5LIZS14mk7bTTKA7YuxUVnoIx4UE++frRL6CJCvNJekN6N1mJSZhyJi4XsqPS2XSCGkSNLGyYP+18ZeJ1l9f0esnnV/PH7lt2Q8JSH7rwIA4/oxRm+QPgkS20WC/777eKAYqO3Ri9J46YSd6Wadm6GuQYV1ruS9rmsFrBpGtwqXgTgp6ZCrYiu8B8hRb3V7fGvmUFb3wn+mvJK4eq9qS9nJ9kcjtjLSPMp3wKIn3e0P/k3aVJ562pkwK5FAufsQiekjGXORIQuabb19bx55V7YEOVrMbvaM3yKJfmYkd5fr2NQXQDBE9l7D7JR6xJYJJy64YB0SSXdcIMnpiByJNSciujtMLCBI6baPm5gCpYCZ2GV+KXRDyxbuT1uAlzVOvpguxEvblcrn2meSfTlDaWtF33PzOPtXPjl+kk5DJ68c/DAacqpRTw9lRJqPlZnUWWDRdw+aKkTl0AiIQmbceMP9WmRGblYYNp2jQXXlyxb7XMZJRGzS3AwB8sO76PFPi29hZ6y8VBOdkVd1kHCOrKx1I3HL7UQHMeMhGQXX/rXepirph0zXfMscXBjsi/0N+ypxANi1PGktJ+w8h98oh08iq+LKlKKUNGSCBCgD0Lol6IDloipR/p/Y2jZAeSf49/sEIIi0WnN9Zjh374cPpVP99u0DpnZAyDgbBXs3vPghf6Nmrs= 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)(376005)(1800799015)(366007)(38070700009); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: GFaWdhBZg8/9qJVFHd4pbrlQdgzrva1Qu42DMpo4qyzOH9CzDQFxVSgKj7g/BKvh3zWx79m/i9RsZxZ8LsV4H4QMBF5zRQT+J9FVyVmYSBpl68VDKCe/vAHJNX1tKKXIDPo8lBLHPnkzdIpUgjxmysuhPYSGxJ0Ilm0FF1DVerB4LPhPkinCuLbp8ZLa5n+B76pOLMBWjdvFMtj01hypP7banJ795/ubkdrAIfES6LI2PI0YAFLYDNt9qVkywVv2wQD5YDr7hY9iPSt0vsFFFDMlektcJpFfnYmqFjV1PmkFSrpHmpbcUAcmiEIUHf/+V8hRpJZUFVoS+KmGuC5Gw14cfHYB2h76KrAcwdhi/xFpRTJoOZLD1kHBWvDKvSrIcHwRmLbKrqcQDgDjXbS4NCBlSAmqh5Aqkl/cCbh8jHTU6GNf/g5XDr7D86/WdAo0V91/92LB0/L39wWIlL+uzzIyazcQk3ybo3xhiPQZ0qLcb5RQm49vRogimXuGtUcsdrnFlo7DMLkZPFRbt+52rhWGhhuL0fQNgP8cgOC3K35Vz6fup9ulkYtRvhc3O0O9k6SSoH52aEwYJhMzcoSJRCzMCjxs+yS6EAhdhCkcQJB2HGPvBOU8ArCBlotx88mI/VvnL2laJWrjsE5p5Uo02IoOehDYB2j32p17KYQZT/4I3RLMvt+p48WWRdLPYrQAcDxmJADT0T+F56q5FLx6Pf6v2ImZT9I83q2C8wsreoY/hs1zbF9DLPBznnAS5O3CmVwRJ57icBmLsNWmKQvUsY7QhLKR9P8lku9vPsofwTBLvYzy0LU4CnW88xnsFUh+lWT/+dfCqXwXOLsNJYyWC7czPG/MiKjtofiY8orRvlUwUn67ltSxIXpBz+oxm29yttSu2ny1uAT005ZHZwRAAbByOTUlUpJ64swOAWqgFAdW3DIrLfxXO4hCY0Bx7EERh2oGJRodVJy0enHvsd24q65ZBwPUA12ouVge7nCIyiOXtInBIrRvYPdxuaz2qqVGfvU35CSbuVAWa3RyDRhNGDUdlp87d9bc2Har2cqDjsWlifQI1Nj9mdoZHDqbxWGKtrTM0BwI0NDe35v99ixnNBAExgydC6Wm//axBKYN2pnLmt9UiidoHnEEzzJGAFJR0JvckJRhzx23crQfjVbhAGtDiXvdTMb9py/IGpMRTG7Wgy3yUXn2DmbdHwO6q/MxSv9uM6iaFyNjGiHvNMLt8QpeGbI+9tswlM/I21EAUdim0wbKJ/C7nyV1afY/UkY1YUT6Rpa44qM8kCVsezyfyy1L7ryPfKQGzblyUFHdmxKAlOBzN/+kE4bW3alKU5s8+Cpe9lTijeSRkXGuPtoN2zg5I+KnX1/c2urE6xIgos3j53GX8oCgdrB1FFaXA8Y5fYkG1gUvbRZHp5oZyhtlhiLdEJcqpjUCyqy74IL8ruLAElpPlp5gTpzpdfvtbPCPmntSBk0UKO91rARnwc8lQDM4oVjTWoM+mBrOeujH/IGC/V5Om8wZTk7PSF0Q7LgVD4hiPkfgMkfsUtFYc7M4U7J6g8sZ7VJB/goUYLN6vWDfXueUrwmvWD8T4qzSH7x7CDAR2UmkRwQRh01HYoGxY/VUQrdh0UOimKUrEncJfyyLRzYCBOBqdktjd8UB/0Gf 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: 6f61d086-9bb1-4a39-32b2-08dc86d6789d X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Jun 2024 09:44:48.4397 (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: 7+ZDQuZzEnkQXyggfMlMLIXLiqf5qLMpWw9JxDKMUsIf5hVAWtxh1ci/rr5KIfaEBYr4dzIv3hhiNfWNVqAORA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR83MB0521 X-Spam-Status: No, score=-3.7 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FORGED_SPF_HELO, KAM_NUMSUBJECT, 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 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 Hello, Thank you for reviewing v1! v2 addresses all comments on v1. Changes in v2: - Move winnt.h and winnt-dll.h to config.gcc. - Resolve the issue with GCC GC in winnt-dll.cc. - Add definitions for GOT_ALIAS_SET, PE_COFF_EXTERN_DECL_SHOULD_BE_LEGITIMIZED, and HAVE_64BIT_POINTERS to cygming.h. - Replace intermediate functions for PECOFF with ifdef checks in ix86. - Update the copyright date in winnt-dll.cc. - Correct the style. - Rebase from 7th June 2024 Regards, Evgeny Evgeny Karpov (6): Move mingw_* declarations to the mingw folder Extract ix86 dllimport implementation to mingw Rename functions for reuse in AArch64 aarch64: Add selectany attribute handling Adjust DLL import/export implementation for AArch64 aarch64: Add DLL import/export to AArch64 target gcc/config.gcc | 20 ++- gcc/config/aarch64/aarch64-protos.h | 5 - gcc/config/aarch64/aarch64.cc | 42 ++++- gcc/config/aarch64/cygming.h | 33 +++- gcc/config/i386/cygming.h | 16 +- gcc/config/i386/i386-expand.cc | 4 +- gcc/config/i386/i386-expand.h | 2 - gcc/config/i386/i386-protos.h | 10 -- gcc/config/i386/i386.cc | 205 ++---------------------- gcc/config/i386/i386.h | 2 + gcc/config/mingw/mingw32.h | 2 +- gcc/config/mingw/t-cygming | 6 + gcc/config/mingw/winnt-dll.cc | 231 ++++++++++++++++++++++++++++ gcc/config/mingw/winnt-dll.h | 30 ++++ gcc/config/mingw/winnt.cc | 10 +- gcc/config/mingw/winnt.h | 38 +++++ 16 files changed, 423 insertions(+), 233 deletions(-) create mode 100644 gcc/config/mingw/winnt-dll.cc create mode 100644 gcc/config/mingw/winnt-dll.h create mode 100644 gcc/config/mingw/winnt.h