From: "Martin Storsjö" <martin@martin.st>
To: Fangrui Song <maskray@google.com>
Cc: Evgeny Karpov <Evgeny.Karpov@microsoft.com>,
"gcc-patches@gcc.gnu.org" <gcc-patches@gcc.gnu.org>,
"richard.sandiford@arm.com" <richard.sandiford@arm.com>,
"Richard Earnshaw (lists)" <Richard.Earnshaw@arm.com>,
"christophe.lyon@linaro.org" <christophe.lyon@linaro.org>,
"Andrew Pinski (QUIC)" <quic_apinski@quicinc.com>,
Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>,
Radek Barton <radek.barton@microsoft.com>
Subject: Re: [PATCH v2 00/13] Add aarch64-w64-mingw32 target
Date: Tue, 19 Mar 2024 09:50:01 +0200 (EET) [thread overview]
Message-ID: <ccd0dfca-1a2b-1e40-b186-89101d4c1aac@martin.st> (raw)
In-Reply-To: <CAFP8O3L_xx592qxgNttj58hWQEknNHE7=z0451sb3T=KjptRfw@mail.gmail.com>
On Mon, 18 Mar 2024, Fangrui Song wrote:
> LLVM has had an aarch64 mingw ABI support for a long time. Does this
> patch series introduce a different ABI?
> If yes, do you have a summary?
This patchset in itself does not reach ABI compatibility with the
preexisting aarch64 mingw ecosystem - but this is also just the first
patchset to lay out the groundwork for a new mingw target within GCC.
As far as I've understood, the divergence is not intended, and they are
working on converging towards compatibility - but such bits are to be
handled in later patchsets.
Off the top of my head, the major missing pieces wrt compatbility are the
variadic calling convention, and using 64 bit doubles for "long double"
(just like for Darwin).
> Does the patch need any adaptation on the LLVM side, or should a
> different target triple be picked?
No, I don't think a different target triple should be used - it is
intended to be the same, but compatibility is a work in progress.
> I have always been wondering what "32" in "x86_x64-w64-mingw32" means.
(Nit, I presume you meant "x86_64-w64-mingw32".)
As Andrew replied, w32 stands for win32, which isn't so much about the
bitness as "the current windows API as of the last 30 years, as opposed to
win16". So it's more of a name than something indicating any form of
bitness.
Likewise, "w64" just indicates which vendor/fork is involved, so we also
have i686-w64-mingw32 and armv7-w64-mingw32, for the 32 bit ABIs with an
SDK from the same vendor.
> https://github.com/llvm/llvm-project/pull/78908 even introduced the
> first use of the triple "arm64ec-w64-mingw32" into llvm-project.
ARM64EC is a totally different thing though; that's an entirely separate
ABI on almost every single level.
// Martin
next prev parent reply other threads:[~2024-03-19 7:50 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-04 17:24 Evgeny Karpov
2024-03-04 17:30 ` [PATCH v2 01/13] Introduce " Evgeny Karpov
2024-03-04 17:33 ` [PATCH v2 02/13] aarch64: The aarch64-w64-mingw32 target implements Evgeny Karpov
2024-04-10 18:17 ` Richard Sandiford
2024-03-04 17:36 ` [PATCH v2 03/13] aarch64: Mark x18 register as a fixed register for MS ABI Evgeny Karpov
2024-04-10 18:25 ` Richard Sandiford
2024-03-04 17:39 ` [PATCH v2 04/13] aarch64: Add aarch64-w64-mingw32 COFF Evgeny Karpov
2024-04-10 18:31 ` Richard Sandiford
2024-03-04 17:39 ` [PATCH v2 05/13] Reuse MinGW from i386 for AArch64 Evgeny Karpov
2024-03-04 17:41 ` [PATCH v2 06/13] Rename section and encoding functions from i386 which will be used in aarch64 Evgeny Karpov
2024-03-04 17:43 ` [PATCH v2 07/13] Exclude i386 functionality from aarch64 build Evgeny Karpov
2024-03-04 17:44 ` [PATCH v2 08/13] aarch64: Add Cygwin and MinGW environments for AArch64 Evgeny Karpov
2024-03-18 13:26 ` Christophe Lyon
2024-03-18 21:35 ` Evgeny Karpov
2024-03-19 13:40 ` Christophe Lyon
2024-03-20 21:53 ` rep.dot.nop
2024-04-10 18:34 ` Richard Sandiford
2024-03-04 17:45 ` [PATCH v2 09/13] aarch64: Add SEH to machine_function Evgeny Karpov
2024-03-04 17:46 ` [PATCH v2 10/13] Rename "x86 Windows Options" to "Cygwin and MinGW Options" Evgeny Karpov
2024-04-10 18:35 ` Richard Sandiford
2024-03-04 17:49 ` [PATCH v2 11/13] aarch64: Build and add objects for Cygwin and MinGW for AArch64 Evgeny Karpov
2024-03-04 17:50 ` [PATCH v2 12/13] aarch64: Add aarch64-w64-mingw32 target to libatomic Evgeny Karpov
2024-03-04 17:51 ` [PATCH v2 13/13] Add aarch64-w64-mingw32 target to libgcc Evgeny Karpov
2024-03-04 17:55 ` [PATCH v2 00/13] Add aarch64-w64-mingw32 target Evgeny Karpov
2024-03-04 19:25 ` Evgeny Karpov
2024-03-07 20:47 ` Evgeny Karpov
2024-03-18 13:33 ` Christophe Lyon
2024-03-18 22:10 ` Evgeny Karpov
2024-03-18 22:58 ` Fangrui Song
2024-03-18 23:22 ` Andrew Pinski
2024-03-19 7:50 ` Martin Storsjö [this message]
2024-03-21 10:28 ` [PING][PATCH " Evgeny Karpov
2024-03-18 21:05 ` [PATCH " Radek Barton
2024-03-20 11:50 ` Radek Barton
2024-03-20 19:37 ` NightStrike
2024-04-10 18:40 ` Richard Sandiford
2024-04-11 14:14 ` Evgeny Karpov
2024-04-11 14:34 ` Richard Sandiford
2024-03-06 8:40 LIU Hao
2024-03-06 14:20 ` Evgeny Karpov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ccd0dfca-1a2b-1e40-b186-89101d4c1aac@martin.st \
--to=martin@martin.st \
--cc=Evgeny.Karpov@microsoft.com \
--cc=Richard.Earnshaw@arm.com \
--cc=christophe.lyon@linaro.org \
--cc=gcc-patches@gcc.gnu.org \
--cc=maskray@google.com \
--cc=maxim.kuvyrkov@linaro.org \
--cc=quic_apinski@quicinc.com \
--cc=radek.barton@microsoft.com \
--cc=richard.sandiford@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).