* [PATCH v2 00/13] Add aarch64-w64-mingw32 target
2024-03-04 17:24 Evgeny Karpov
@ 2024-03-04 17:55 ` Evgeny Karpov
2024-03-04 19:25 ` Evgeny Karpov
` (3 subsequent siblings)
4 siblings, 0 replies; 17+ messages in thread
From: Evgeny Karpov @ 2024-03-04 17:55 UTC (permalink / raw)
To: Evgeny Karpov, gcc-patches
Cc: richard.sandiford, Richard Earnshaw (lists), Andrew Pinski (QUIC),
Maxim Kuvyrkov, Radek Barton
gcc/ChangeLog:
* config.gcc:
* config/aarch64/aarch64-opts.h (enum aarch64_calling_abi):
* config/aarch64/aarch64-protos.h (mingw_pe_maybe_record_exported_symbol):
(mingw_pe_section_type_flags):
(mingw_pe_unique_section):
(mingw_pe_encode_section_info):
* config/aarch64/aarch64.h (struct seh_frame_state):
(GTY):
* config/i386/cygming.h (SUBTARGET_ENCODE_SECTION_INFO):
(TARGET_ASM_UNIQUE_SECTION):
(TARGET_ASM_NAMED_SECTION):
(TARGET_SECTION_TYPE_FLAGS):
(ASM_DECLARE_COLD_FUNCTION_NAME):
(ASM_OUTPUT_EXTERNAL_LIBCALL):
* config/i386/i386-protos.h (i386_pe_unique_section):
(i386_pe_declare_function_type):
(mingw_pe_unique_section):
(mingw_pe_declare_function_type):
(i386_pe_maybe_record_exported_symbol):
(i386_pe_encode_section_info):
(mingw_pe_maybe_record_exported_symbol):
(mingw_pe_encode_section_info):
(i386_pe_section_type_flags):
(i386_pe_asm_named_section):
(mingw_pe_section_type_flags):
(mingw_pe_asm_named_section):
* config/i386/mingw-w64.opt.urls:
* config/lynx.opt.urls:
* config/i386/cygming.opt: Move to...
* config/mingw/cygming.opt: ...here.
* config/i386/cygwin-d.cc: Move to...
* config/mingw/cygwin-d.cc: ...here.
* config/i386/mingw-stdint.h: Move to...
* config/mingw/mingw-stdint.h: ...here.
* config/i386/mingw.opt: Move to...
* config/mingw/mingw.opt: ...here.
* config/i386/mingw.opt.urls: Move to...
* config/mingw/mingw.opt.urls: ...here.
* config/i386/mingw32.h: Move to...
* config/mingw/mingw32.h: ...here.
* config/i386/msformat-c.cc: Move to...
* config/mingw/msformat-c.cc: ...here.
* config/i386/t-cygming: Move to...
* config/mingw/t-cygming: ...here.
* config/i386/winnt-cxx.cc: Move to...
* config/mingw/winnt-cxx.cc: ...here.
* config/i386/winnt-d.cc: Move to...
* config/mingw/winnt-d.cc: ...here.
* config/i386/winnt-stubs.cc: Move to...
* config/mingw/winnt-stubs.cc: ...here.
* config/i386/winnt.cc: Move to...
* config/mingw/winnt.cc: ...here.
* doc/invoke.texi:
* varasm.cc (switch_to_comdat_section):
* config/i386/cygming.opt.urls: Removed.
* config/aarch64/aarch64-abi-ms.h: New file.
* config/aarch64/aarch64-coff.h: New file.
* config/aarch64/cygming.h: New file.
* config/mingw/cygming.opt.urls: New file.
libatomic/ChangeLog:
* configure.tgt:
libgcc/ChangeLog:
* config.host:
* config/i386/t-gthr-win32: Move to...
* config/mingw/t-gthr-win32: ...here.
* config/i386/t-mingw-pthread: Move to...
* config/mingw/t-mingw-pthread: ...here.
* config/aarch64/t-no-eh: New file.
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v2 00/13] Add aarch64-w64-mingw32 target
2024-03-04 17:24 Evgeny Karpov
2024-03-04 17:55 ` Evgeny Karpov
@ 2024-03-04 19:25 ` Evgeny Karpov
2024-03-07 20:47 ` Evgeny Karpov
` (2 subsequent siblings)
4 siblings, 0 replies; 17+ messages in thread
From: Evgeny Karpov @ 2024-03-04 19:25 UTC (permalink / raw)
To: Evgeny Karpov, gcc-patches
Cc: richard.sandiford, Richard Earnshaw (lists), Andrew Pinski (QUIC),
Maxim Kuvyrkov, Radek Barton
Zac Walker (13):
Introduce aarch64-w64-mingw32 target
aarch64: The aarch64-w64-mingw32 target implements the MS ABI
aarch64: Mark x18 register as a fixed register for MS ABI
aarch64: Add aarch64-w64-mingw32 COFF
Reuse MinGW from i386 for AArch64
Rename section and encoding functions from i386 which will be used in
aarch64
Exclude i386 functionality from aarch64 build
aarch64: Add Cygwin and MinGW environments for AArch64
aarch64: Add SEH to machine_function
Rename "x86 Windows Options" to "Cygwin and MinGW Options"
aarch64: Build and add objects for Cygwin and MinGW for AArch64
aarch64: Add aarch64-w64-mingw32 target to libatomic
Add aarch64-w64-mingw32 target to libgcc
fixincludes/mkfixinc.sh | 3 +-
gcc/config.gcc | 47 +++--
gcc/config/aarch64/aarch64-abi-ms.h | 64 +++++++
gcc/config/aarch64/aarch64-coff.h | 91 +++++++++
gcc/config/aarch64/aarch64-opts.h | 7 +
gcc/config/aarch64/aarch64-protos.h | 5 +
gcc/config/aarch64/aarch64.h | 6 +
gcc/config/aarch64/cygming.h | 175 ++++++++++++++++++
gcc/config/i386/cygming.h | 18 +-
gcc/config/i386/cygming.opt.urls | 30 ---
gcc/config/i386/i386-protos.h | 12 +-
gcc/config/i386/mingw-w64.opt.urls | 2 +-
gcc/config/lynx.opt.urls | 2 +-
gcc/config/{i386 => mingw}/cygming.opt | 0
gcc/config/mingw/cygming.opt.urls | 30 +++
gcc/config/{i386 => mingw}/cygwin-d.cc | 0
gcc/config/{i386 => mingw}/mingw-stdint.h | 9 +-
gcc/config/{i386 => mingw}/mingw.opt | 0
gcc/config/{i386 => mingw}/mingw.opt.urls | 2 +-
gcc/config/{i386 => mingw}/mingw32.h | 6 +-
gcc/config/{i386 => mingw}/msformat-c.cc | 0
gcc/config/{i386 => mingw}/t-cygming | 23 ++-
gcc/config/{i386 => mingw}/winnt-cxx.cc | 0
gcc/config/{i386 => mingw}/winnt-d.cc | 0
gcc/config/{i386 => mingw}/winnt-stubs.cc | 0
gcc/config/{i386 => mingw}/winnt.cc | 30 +--
gcc/doc/invoke.texi | 12 +-
gcc/varasm.cc | 2 +-
libatomic/configure.tgt | 2 +-
libgcc/config.host | 23 ++-
libgcc/config/aarch64/t-no-eh | 2 +
libgcc/config/{i386 => mingw}/t-gthr-win32 | 0
libgcc/config/{i386 => mingw}/t-mingw-pthread | 0
33 files changed, 510 insertions(+), 93 deletions(-)
create mode 100644 gcc/config/aarch64/aarch64-abi-ms.h
create mode 100644 gcc/config/aarch64/aarch64-coff.h
create mode 100644 gcc/config/aarch64/cygming.h
delete mode 100644 gcc/config/i386/cygming.opt.urls
rename gcc/config/{i386 => mingw}/cygming.opt (100%)
create mode 100644 gcc/config/mingw/cygming.opt.urls
rename gcc/config/{i386 => mingw}/cygwin-d.cc (100%)
rename gcc/config/{i386 => mingw}/mingw-stdint.h (86%)
rename gcc/config/{i386 => mingw}/mingw.opt (100%)
rename gcc/config/{i386 => mingw}/mingw.opt.urls (86%)
rename gcc/config/{i386 => mingw}/mingw32.h (98%)
rename gcc/config/{i386 => mingw}/msformat-c.cc (100%)
rename gcc/config/{i386 => mingw}/t-cygming (73%)
rename gcc/config/{i386 => mingw}/winnt-cxx.cc (100%)
rename gcc/config/{i386 => mingw}/winnt-d.cc (100%)
rename gcc/config/{i386 => mingw}/winnt-stubs.cc (100%)
rename gcc/config/{i386 => mingw}/winnt.cc (97%)
create mode 100644 libgcc/config/aarch64/t-no-eh
rename libgcc/config/{i386 => mingw}/t-gthr-win32 (100%)
rename libgcc/config/{i386 => mingw}/t-mingw-pthread (100%)
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v2 00/13] Add aarch64-w64-mingw32 target
2024-03-04 17:24 Evgeny Karpov
2024-03-04 17:55 ` 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 21:05 ` Radek Barton
2024-04-10 18:40 ` Richard Sandiford
4 siblings, 2 replies; 17+ messages in thread
From: Evgeny Karpov @ 2024-03-07 20:47 UTC (permalink / raw)
To: Evgeny Karpov, gcc-patches, richard.sandiford, Richard Earnshaw (lists)
Cc: richard.sandiford, Richard Earnshaw (lists), Andrew Pinski (QUIC),
Maxim Kuvyrkov, Radek Barton
Monday, March 4, 2024
Evgeny Karpov wrote:
>
> Changes from v1 to v2:
> Adjust the target name to aarch64-*-mingw* to exclude the big-endian target
> from support.
> Exclude 64-bit ISA.
> Rename enum calling_abi to aarch64_calling_abi.
> Move AArch64 MS ABI definitions FIXED_REGISTERS,
> CALL_REALLY_USED_REGISTERS, and STATIC_CHAIN_REGNUM from aarch64.h
> to aarch64-abi-ms.h.
> Rename TARGET_ARM64_MS_ABI to TARGET_AARCH64_MS_ABI.
> Exclude TARGET_64BIT from the aarch64 target.
> Exclude HAVE_GAS_WEAK.
> Set HAVE_GAS_ALIGNED_COMM to 1 by default.
> Use a reference from "x86 Windows Options" to "Cygwin and MinGW
> Options".
> Update commit descriptions to follow standard style.
> Rebase from 4th March 2024.
Hello,
It looks like the initial feedback has been addressed.
While unit testing for the x86_64-w64-mingw32 target is still in
progress, the first 4 patches do not obviously change other
targets, including aarch64-linux-gnu.
Could they be merged once stage 1 starts,
or could it be done even now?
Thanks!
Regards,
Evgeny
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 00/13] Add aarch64-w64-mingw32 target
2024-03-07 20:47 ` Evgeny Karpov
@ 2024-03-18 13:33 ` Christophe Lyon
2024-03-18 22:10 ` Evgeny Karpov
1 sibling, 0 replies; 17+ messages in thread
From: Christophe Lyon @ 2024-03-18 13:33 UTC (permalink / raw)
To: Evgeny Karpov
Cc: gcc-patches, richard.sandiford, Richard Earnshaw (lists),
Andrew Pinski (QUIC),
Maxim Kuvyrkov, Radek Barton
On Thu, 7 Mar 2024 at 21:48, Evgeny Karpov <Evgeny.Karpov@microsoft.com> wrote:
>
> Monday, March 4, 2024
> Evgeny Karpov wrote:
>
> >
> > Changes from v1 to v2:
> > Adjust the target name to aarch64-*-mingw* to exclude the big-endian target
> > from support.
> > Exclude 64-bit ISA.
> > Rename enum calling_abi to aarch64_calling_abi.
> > Move AArch64 MS ABI definitions FIXED_REGISTERS,
> > CALL_REALLY_USED_REGISTERS, and STATIC_CHAIN_REGNUM from aarch64.h
> > to aarch64-abi-ms.h.
> > Rename TARGET_ARM64_MS_ABI to TARGET_AARCH64_MS_ABI.
> > Exclude TARGET_64BIT from the aarch64 target.
> > Exclude HAVE_GAS_WEAK.
> > Set HAVE_GAS_ALIGNED_COMM to 1 by default.
> > Use a reference from "x86 Windows Options" to "Cygwin and MinGW
> > Options".
> > Update commit descriptions to follow standard style.
> > Rebase from 4th March 2024.
>
> Hello,
>
> It looks like the initial feedback has been addressed.
I had a look at the v2 series, and besides a minor comment patch #8,
ISTM than all the comments your received about v1 have been addressed,
indeed.
> While unit testing for the x86_64-w64-mingw32 target is still in
> progress, the first 4 patches do not obviously change other
> targets, including aarch64-linux-gnu.
> Could they be merged once stage 1 starts,
> or could it be done even now?
What would be the benefit of committing only the first 4 patches?
(whether now or when stage 1 reopens)
Thanks,
Christophe
> Thanks!
>
> Regards,
> Evgeny
>
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v2 00/13] Add aarch64-w64-mingw32 target
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
1 sibling, 1 reply; 17+ messages in thread
From: Evgeny Karpov @ 2024-03-18 22:10 UTC (permalink / raw)
To: gcc-patches, richard.sandiford, Richard Earnshaw (lists),
christophe.lyon
Cc: richard.sandiford, Richard Earnshaw (lists), Andrew Pinski (QUIC),
Maxim Kuvyrkov, Radek Barton
Monday, March 18, 2024 2:34 PM
Christophe Lyon wrote:
> I had a look at the v2 series, and besides a minor comment patch #8, ISTM than
> all the comments your received about v1 have been addressed, indeed.
>
> > While unit testing for the x86_64-w64-mingw32 target is still in
> > progress, the first 4 patches do not obviously change other targets,
> > including aarch64-linux-gnu.
> > Could they be merged once stage 1 starts, or could it be done even
> > now?
>
> What would be the benefit of committing only the first 4 patches?
> (whether now or when stage 1 reopens)
>
> Thanks,
>
> Christophe
Work on obtaining regression test results for x86_x64-w64-mingw32 was still in progress at that moment.
The first 4 patches do not obviously change other targets, so it was safe to merge them.
Now, based on the regression test results https://gcc.gnu.org/pipermail/gcc-patches/2024-March/647967.html,
it appears safe to merge the entire series.
Regards,
Evgeny
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 00/13] Add aarch64-w64-mingw32 target
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ö
0 siblings, 2 replies; 17+ messages in thread
From: Fangrui Song @ 2024-03-18 22:58 UTC (permalink / raw)
To: Evgeny Karpov
Cc: gcc-patches, richard.sandiford, Richard Earnshaw (lists),
christophe.lyon, Andrew Pinski (QUIC),
Maxim Kuvyrkov, Radek Barton, Martin Storsjö
On Mon, Mar 18, 2024 at 3:10 PM Evgeny Karpov
<Evgeny.Karpov@microsoft.com> wrote:
>
>
> Monday, March 18, 2024 2:34 PM
> Christophe Lyon wrote:
>
> > I had a look at the v2 series, and besides a minor comment patch #8, ISTM than
> > all the comments your received about v1 have been addressed, indeed.
> >
> > > While unit testing for the x86_64-w64-mingw32 target is still in
> > > progress, the first 4 patches do not obviously change other targets,
> > > including aarch64-linux-gnu.
> > > Could they be merged once stage 1 starts, or could it be done even
> > > now?
> >
> > What would be the benefit of committing only the first 4 patches?
> > (whether now or when stage 1 reopens)
> >
> > Thanks,
> >
> > Christophe
>
> Work on obtaining regression test results for x86_x64-w64-mingw32 was still in progress at that moment.
> The first 4 patches do not obviously change other targets, so it was safe to merge them.
> Now, based on the regression test results https://gcc.gnu.org/pipermail/gcc-patches/2024-March/647967.html,
> it appears safe to merge the entire series.
>
> Regards,
> Evgeny
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?
Does the patch need any adaptation on the LLVM side, or should a
different target triple be picked?
I have always been wondering what "32" in "x86_x64-w64-mingw32" means.
https://github.com/llvm/llvm-project/pull/78908 even introduced the
first use of the triple "arm64ec-w64-mingw32" into llvm-project.
--
宋方睿
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 00/13] Add aarch64-w64-mingw32 target
2024-03-18 22:58 ` Fangrui Song
@ 2024-03-18 23:22 ` Andrew Pinski
2024-03-19 7:50 ` Martin Storsjö
1 sibling, 0 replies; 17+ messages in thread
From: Andrew Pinski @ 2024-03-18 23:22 UTC (permalink / raw)
To: Fangrui Song
Cc: Evgeny Karpov, gcc-patches, richard.sandiford,
Richard Earnshaw (lists), christophe.lyon, Andrew Pinski (QUIC),
Maxim Kuvyrkov, Radek Barton, Martin Storsjö
On Mon, Mar 18, 2024 at 3:59 PM Fangrui Song <maskray@google.com> wrote:
>
> On Mon, Mar 18, 2024 at 3:10 PM Evgeny Karpov
> <Evgeny.Karpov@microsoft.com> wrote:
> >
> >
> > Monday, March 18, 2024 2:34 PM
> > Christophe Lyon wrote:
> >
> > > I had a look at the v2 series, and besides a minor comment patch #8, ISTM than
> > > all the comments your received about v1 have been addressed, indeed.
> > >
> > > > While unit testing for the x86_64-w64-mingw32 target is still in
> > > > progress, the first 4 patches do not obviously change other targets,
> > > > including aarch64-linux-gnu.
> > > > Could they be merged once stage 1 starts, or could it be done even
> > > > now?
> > >
> > > What would be the benefit of committing only the first 4 patches?
> > > (whether now or when stage 1 reopens)
> > >
> > > Thanks,
> > >
> > > Christophe
> >
> > Work on obtaining regression test results for x86_x64-w64-mingw32 was still in progress at that moment.
> > The first 4 patches do not obviously change other targets, so it was safe to merge them.
> > Now, based on the regression test results https://gcc.gnu.org/pipermail/gcc-patches/2024-March/647967.html,
> > it appears safe to merge the entire series.
> >
> > Regards,
> > Evgeny
>
> 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?
>
> Does the patch need any adaptation on the LLVM side, or should a
> different target triple be picked?
> I have always been wondering what "32" in "x86_x64-w64-mingw32" means.
It was always mingw32, it comes from win32 API interface which dates
to when windows also a 16bit API too.
The API has always been named win32 and Microsoft didn't rename it to
win64 though.
Thanks,
Andrew Pinski
>
> https://github.com/llvm/llvm-project/pull/78908 even introduced the
> first use of the triple "arm64ec-w64-mingw32" into llvm-project.
>
>
> --
> 宋方睿
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 00/13] Add aarch64-w64-mingw32 target
2024-03-18 22:58 ` Fangrui Song
2024-03-18 23:22 ` Andrew Pinski
@ 2024-03-19 7:50 ` Martin Storsjö
1 sibling, 0 replies; 17+ messages in thread
From: Martin Storsjö @ 2024-03-19 7:50 UTC (permalink / raw)
To: Fangrui Song
Cc: Evgeny Karpov, gcc-patches, richard.sandiford,
Richard Earnshaw (lists), christophe.lyon, Andrew Pinski (QUIC),
Maxim Kuvyrkov, Radek Barton
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
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 00/13] Add aarch64-w64-mingw32 target
2024-03-04 17:24 Evgeny Karpov
` (2 preceding siblings ...)
2024-03-07 20:47 ` Evgeny Karpov
@ 2024-03-18 21:05 ` Radek Barton
2024-03-20 11:50 ` Radek Barton
2024-04-10 18:40 ` Richard Sandiford
4 siblings, 1 reply; 17+ messages in thread
From: Radek Barton @ 2024-03-18 21:05 UTC (permalink / raw)
To: Evgeny Karpov, gcc-patches
Cc: richard.sandiford, Richard Earnshaw (lists), Andrew Pinski (QUIC),
Maxim Kuvyrkov
Hello, everyone.
Currently, we are able to provide results of regression testing for `x86_64-w64-mingw32` target with `--enable-languages=c,lto,c++,fortran` running in WSL only.
The summarized results, both for the branch with patch set applied and its corresponding base branch, show:
517501 expected passes
4537 of expected failures
10828 unexpected failures
180 of unexpected successes
5934 of unresolved testcases
19113 of unsupported tests
which means that 98% of the tests ends in an expected way and we haven't detected a single regression between the branches.
The detailed results can be downloaded and reviewed at https://github.com/Windows-on-ARM-Experiments/mingw-woarm64-build/actions/runs/8327889403
Best regards,
Radek Bartoň
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 00/13] Add aarch64-w64-mingw32 target
2024-03-18 21:05 ` Radek Barton
@ 2024-03-20 11:50 ` Radek Barton
2024-03-20 19:37 ` NightStrike
0 siblings, 1 reply; 17+ messages in thread
From: Radek Barton @ 2024-03-20 11:50 UTC (permalink / raw)
To: Evgeny Karpov, gcc-patches
Cc: richard.sandiford, Richard Earnshaw (lists), Andrew Pinski (QUIC),
Maxim Kuvyrkov
Hello, everyone.
I've re-run the `x86_64-w64-mingw32` target tests with all the languages enabled, except of Ada and JIT, which are harder to bootstrap, and Go, which is not supported by MinGW. The summarized results are:
536176 of expected passes
13859 of unexpected failures
188 of unexpected successes
4537 of expected failures
8271 of unresolved testcases
20958 of unsupported tests
97.40% of tests completes in expected way
and, again, zero regressions were detected.
The detailed results can be reviewed at https://github.com/Windows-on-ARM-Experiments/mingw-woarm64-build/actions/runs/8349019387
Best regards,
Radek Bartoň
________________________________________
From: Radek Barton <radek.barton@microsoft.com>
Sent: Monday, March 18, 2024 10:05 PM
To: Evgeny Karpov; gcc-patches@gcc.gnu.org
Cc: richard.sandiford@arm.com; Richard Earnshaw (lists); Andrew Pinski (QUIC); Maxim Kuvyrkov
Subject: Re: [PATCH v2 00/13] Add aarch64-w64-mingw32 target
Hello, everyone.
Currently, we are able to provide results of regression testing for `x86_64-w64-mingw32` target with `--enable-languages=c,lto,c++,fortran` running in WSL only.
The summarized results, both for the branch with patch set applied and its corresponding base branch, show:
517501 expected passes
4537 of expected failures
10828 unexpected failures
180 of unexpected successes
5934 of unresolved testcases
19113 of unsupported tests
which means that 98% of the tests ends in an expected way and we haven't detected a single regression between the branches.
The detailed results can be downloaded and reviewed at https://github.com/Windows-on-ARM-Experiments/mingw-woarm64-build/actions/runs/8327889403
Best regards,
Radek Bartoň
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 00/13] Add aarch64-w64-mingw32 target
2024-03-20 11:50 ` Radek Barton
@ 2024-03-20 19:37 ` NightStrike
0 siblings, 0 replies; 17+ messages in thread
From: NightStrike @ 2024-03-20 19:37 UTC (permalink / raw)
To: Radek Barton
Cc: Evgeny Karpov, GCC Patches, Richard Sandiford,
Richard Earnshaw (lists), Andrew Pinski (QUIC),
Maxim Kuvyrkov
[-- Attachment #1: Type: text/plain, Size: 2103 bytes --]
On Wed, Mar 20, 2024, 07:50 Radek Barton <radek.barton@microsoft.com> wrote:
> Hello, everyone.
>
> I've re-run the `x86_64-w64-mingw32` target tests with all the languages
> enabled, except of Ada and JIT, which are harder to bootstrap, and Go,
> which is not supported by MinGW. The summarized results are:
>
> 536176 of expected passes
> 13859 of unexpected failures
> 188 of unexpected successes
> 4537 of expected failures
> 8271 of unresolved testcases
> 20958 of unsupported tests
> 97.40% of tests completes in expected way
>
You can generate an integrated summary using dejagnu report card:
https://www.gnu.org/software/dejagnu/manual/Invoking-dejagnu-report-card.html
> and, again, zero regressions were detected.
>
> The detailed results can be reviewed at
> https://github.com/Windows-on-ARM-Experiments/mingw-woarm64-build/actions/runs/8349019387
>
> Best regards,
>
> Radek Bartoň
>
> ________________________________________
> From: Radek Barton <radek.barton@microsoft.com>
> Sent: Monday, March 18, 2024 10:05 PM
> To: Evgeny Karpov; gcc-patches@gcc.gnu.org
> Cc: richard.sandiford@arm.com; Richard Earnshaw (lists); Andrew Pinski
> (QUIC); Maxim Kuvyrkov
> Subject: Re: [PATCH v2 00/13] Add aarch64-w64-mingw32 target
>
> Hello, everyone.
>
> Currently, we are able to provide results of regression testing for
> `x86_64-w64-mingw32` target with `--enable-languages=c,lto,c++,fortran`
> running in WSL only.
>
> The summarized results, both for the branch with patch set applied and its
> corresponding base branch, show:
>
> 517501 expected passes
> 4537 of expected failures
> 10828 unexpected failures
> 180 of unexpected successes
> 5934 of unresolved testcases
> 19113 of unsupported tests
>
> which means that 98% of the tests ends in an expected way and we haven't
> detected a single regression between the branches.
>
> The detailed results can be downloaded and reviewed at
> https://github.com/Windows-on-ARM-Experiments/mingw-woarm64-build/actions/runs/8327889403
>
> Best regards,
>
> Radek Bartoň
>
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 00/13] Add aarch64-w64-mingw32 target
2024-03-04 17:24 Evgeny Karpov
` (3 preceding siblings ...)
2024-03-18 21:05 ` Radek Barton
@ 2024-04-10 18:40 ` Richard Sandiford
2024-04-11 14:14 ` Evgeny Karpov
4 siblings, 1 reply; 17+ messages in thread
From: Richard Sandiford @ 2024-04-10 18:40 UTC (permalink / raw)
To: Evgeny Karpov
Cc: gcc-patches, Richard Earnshaw (lists), Andrew Pinski (QUIC),
Maxim Kuvyrkov, Radek Barton
Evgeny Karpov <Evgeny.Karpov@microsoft.com> writes:
> Hello,
>
> v2 is ready for the review!
> Based on the v1 review: https://gcc.gnu.org/pipermail/gcc-patches/2024-February/thread.html#646203
>
> Testing for the x86_64-w64-mingw32 target is in progress to avoid
> regression due to refactoring.
Thanks for the updates and sorry again for the slow review.
I've replied to some of the patches in the series but otherwise
it looks good to me.
If you agree with the suggested changes then the series is OK for
stage 1, assuming no objections from those with an interest in the
x86 cygwin/mingw port.
Richard
> Regards,
> Evgeny
>
>
> Changes from v1 to v2:
> Adjust the target name to aarch64-*-mingw* to exclude the big-endian
> target from support.
> Exclude 64-bit ISA.
> Rename enum calling_abi to aarch64_calling_abi.
> Move AArch64 MS ABI definitions FIXED_REGISTERS,
> CALL_REALLY_USED_REGISTERS, and STATIC_CHAIN_REGNUM from aarch64.h
> to aarch64-abi-ms.h.
> Rename TARGET_ARM64_MS_ABI to TARGET_AARCH64_MS_ABI.
> Exclude TARGET_64BIT from the aarch64 target.
> Exclude HAVE_GAS_WEAK.
> Set HAVE_GAS_ALIGNED_COMM to 1 by default.
> Use a reference from "x86 Windows Options" to
> "Cygwin and MinGW Options".
> Update commit descriptions to follow standard style.
> Rebase from 4th March 2024.
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v2 00/13] Add aarch64-w64-mingw32 target
2024-04-10 18:40 ` Richard Sandiford
@ 2024-04-11 14:14 ` Evgeny Karpov
2024-04-11 14:34 ` Richard Sandiford
0 siblings, 1 reply; 17+ messages in thread
From: Evgeny Karpov @ 2024-04-11 14:14 UTC (permalink / raw)
To: Richard Sandiford
Cc: gcc-patches, Richard Earnshaw (lists), Andrew Pinski (QUIC),
Maxim Kuvyrkov, Radek Barton
Wednesday, April 10, 2024 8:40 PM
Richard Sandiford <richard.sandiford@arm.com> wrote:
> Thanks for the updates and sorry again for the slow review.
> I've replied to some of the patches in the series but otherwise it looks good to
> me.
>
> If you agree with the suggested changes then the series is OK for stage 1,
> assuming no objections from those with an interest in the
> x86 cygwin/mingw port.
>
> Richard
Thank you, Richard, for the review!
v3 addresses all comments on v2.
https://gcc.gnu.org/pipermail/gcc-patches/2024-April/thread.html#649261
Regards,
Evgeny
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 00/13] Add aarch64-w64-mingw32 target
2024-04-11 14:14 ` Evgeny Karpov
@ 2024-04-11 14:34 ` Richard Sandiford
0 siblings, 0 replies; 17+ messages in thread
From: Richard Sandiford @ 2024-04-11 14:34 UTC (permalink / raw)
To: Evgeny Karpov
Cc: gcc-patches, Richard Earnshaw (lists), Andrew Pinski (QUIC),
Maxim Kuvyrkov, Radek Barton
Evgeny Karpov <Evgeny.Karpov@microsoft.com> writes:
> Wednesday, April 10, 2024 8:40 PM
> Richard Sandiford <richard.sandiford@arm.com> wrote:
>
>> Thanks for the updates and sorry again for the slow review.
>> I've replied to some of the patches in the series but otherwise it looks good to
>> me.
>>
>> If you agree with the suggested changes then the series is OK for stage 1,
>> assuming no objections from those with an interest in the
>> x86 cygwin/mingw port.
>>
>> Richard
>
> Thank you, Richard, for the review!
> v3 addresses all comments on v2.
> https://gcc.gnu.org/pipermail/gcc-patches/2024-April/thread.html#649261
Thanks, the new series looks good to me.
Richard
^ permalink raw reply [flat|nested] 17+ messages in thread