Re: [PATCH v2 00/13] Add aarch64-w64-mingw32 target
Evgeny Karpov writes: > Wednesday, April 10, 2024 8:40 PM > Richard Sandiford 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
[PATCH v2 00/13] Add aarch64-w64-mingw32 target
Wednesday, April 10, 2024 8:40 PM Richard Sandiford 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
Re: [PATCH v2 00/13] Add aarch64-w64-mingw32 target
Evgeny Karpov 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.
[PING][PATCH v2 00/13] Add aarch64-w64-mingw32 target
On Thursday, March 7, 2024 9:48 PM 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. > > 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 Hello, The original question was about merging the first 4 patches from the series. Since then, we have obtained regression tests https://gcc.gnu.org/pipermail/gcc-patches/2024-March/648086.html . It appears that it would be safe to merge the entire series without breaking other targets. Regards, Evgeny
Re: [PATCH v2 00/13] Add aarch64-w64-mingw32 target
On Wed, Mar 20, 2024, 07:50 Radek Barton 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 > Sent: Monday, March 18, 2024 10:05 PM > To: Evgeny Karpov; gcc-patches@gcc.gnu.org > Cc: richard.sandif...@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ň >
Re: [PATCH v2 00/13] Add aarch64-w64-mingw32 target
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 Sent: Monday, March 18, 2024 10:05 PM To: Evgeny Karpov; gcc-patches@gcc.gnu.org Cc: richard.sandif...@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ň
Re: [PATCH v2 00/13] Add aarch64-w64-mingw32 target
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
Re: [PATCH v2 00/13] Add aarch64-w64-mingw32 target
On Mon, Mar 18, 2024 at 3:59 PM Fangrui Song wrote: > > On Mon, Mar 18, 2024 at 3:10 PM Evgeny Karpov > 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. > > > -- > 宋方睿
Re: [PATCH v2 00/13] Add aarch64-w64-mingw32 target
On Mon, Mar 18, 2024 at 3:10 PM Evgeny Karpov 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. -- 宋方睿
[PATCH v2 00/13] Add aarch64-w64-mingw32 target
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
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ň
Re: [PATCH v2 00/13] Add aarch64-w64-mingw32 target
On Thu, 7 Mar 2024 at 21:48, Evgeny Karpov 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 >
[PATCH v2 00/13] Add aarch64-w64-mingw32 target
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
[PATCH v2 00/13] Add aarch64-w64-mingw32 target
Wednesday, March 6, 2024 LIU Hao wrote: > May I suggest you keep the mcf thread model for aarch-w64-mingw32? I > requested Martin Storsjö to test it on a physical Windows 11 on ARM machine > with Clang and all tests passed. I think it should work once the GCC support > is > complete. > > > -- > Best regards, > LIU Hao The MCF thread model will be added to the aarch64-w64-mingw32 target in the next patch series. Most probably, this will occur when the mingw unit tests are integrated into the aarch64-w64-mingw32 target. Regards, Evgeny
Re: [PATCH v2 00/13] Add aarch64-w64-mingw32 target
May I suggest you keep the mcf thread model for aarch-w64-mingw32? I requested Martin Storsjö to test it on a physical Windows 11 on ARM machine with Clang and all tests passed. I think it should work once the GCC support is complete. -- Best regards, LIU Hao OpenPGP_signature.asc Description: OpenPGP digital signature
[PATCH v2 00/13] Add aarch64-w64-mingw32 target
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%)
[PATCH v2 00/13] Add aarch64-w64-mingw32 target
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.
[PATCH v2 00/13] Add aarch64-w64-mingw32 target
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. 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.