[PATCH v3 00/12] Add aarch64-w64-mingw32 target
Evgeny Karpov
Evgeny.Karpov@microsoft.com
Thu Apr 11 13:38:50 GMT 2024
Hello,
Thank you for reviewing v2!
v3 addresses all comments on v2.
v3 Changes:
- Exclude the aarch64_calling_abi declaration from the patch series.
- Refactor x18 adjustment for MS ABI.
- Remove unnecessary headers.
- Add an extra comment to explain empty definitions.
- Use gcc_unreachable for definitions that are needed for compilation,
but not used by the aarch64-w64-mingw32 target.
- Retain old index entries.
- Rebase from 11th April 2024
Regards,
Evgeny
Zac Walker (12):
Introduce aarch64-w64-mingw32 target
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 | 34 ++++
gcc/config/aarch64/aarch64-coff.h | 91 +++++++++
gcc/config/aarch64/aarch64-protos.h | 5 +
gcc/config/aarch64/aarch64.h | 13 +-
gcc/config/aarch64/cygming.h | 172 ++++++++++++++++++
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 | 4 +-
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 | 10 +
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
32 files changed, 473 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 (99%)
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%)
--
2.25.1
More information about the Gcc-patches
mailing list