Commit Graph
12 Commits
Author SHA1 Message Date
Martin Storsjö 975930b5b7 Revert "Add ARM64X support"
This reverts commit 64effa9a71.

It turns out that the LLD handling of the TLS data structures
("_tls_used" and "_tls_index") needs more work, causing the
arm64ec side of arm64x binaries to not get them hooked up properly.
2026-07-28 18:44:59 +03:00
Jacek Caban 64effa9a71 Add ARM64X support
Extend the aarch64-w64-mingw32 prefix to provide ARM64EC libraries
alongside standard AArch64 libraries, replacing the separate
arm64ec-w64-mingw32 prefix. This aligns with how MSVC distributes
ARM64EC libraries and enables the linker to process both targets
simultaneously into a single hybrid binary.

This extensively utilizes LLVM's -marm64x option, compiling both
targets in a single compiler invocation to produce hybrid object
files (unlike MSVC tools, which require separate compilation passes).
2026-07-27 19:08:32 +02:00
Martin Storsjö cb92de78e7 Include arm64ec in the lists of all architectures
Since LLVM 21.x, the upstream support for ARM64EC in LLD and
compiler-rt is complete enough for us to be able to build it.
2025-07-17 22:48:39 +03:00
Martin Storsjö 5ba9e1e402 prepare-cross-toolchain: Copy the libc++ module sources 2024-05-02 20:03:56 +03:00
trilader 2312d6ef64 Merge arch headers into LLVM provided include directory
If not building with FULL_LLVM the directory is empty or doesn't exist.
Otherwise it contains the LLVM headers. In either case merge the architecture specific ones into it.
2024-03-29 00:24:45 +02:00
Martin Storsjö 0d1f6acfdc prepare-cross-toolchain: Copy the share subdirectory in the cross roots
This makes the cross built two-stage toolchains match the single-stage
cross toolchains in this aspect.
2022-10-29 23:16:37 +03:00
Martin Storsjö 5e0fd8fe82 prepare-cross-toolchain: Copy all runtime DLLs to the main bin directory
We used to copy libc++ and libunwind, since those were needed
to actually run the toolchain - but others, like the asan runtime,
may be needed for the user to be able to run the executables that
are built. If this bin directory is in the user's $PATH, they should
be picked up automatically.

For distribution, and for architectures other than the default,
the user still needs to use the binaries from the arch specific
directories.
2022-10-27 22:17:04 +03:00
Martin Storsjö 5c375afc11 prepare-cross-toolchain: Include other compiler-rt files too (headers and auxillary files) 2022-10-21 18:00:21 +03:00
Martin Storsjö 36c3834a4b prepare-cross-toolchain: Add comments explaining what is done 2022-10-21 18:00:21 +03:00
Martin Storsjö eac1db1c0d prepare-cross-toolchain: Simplify code using "clang --print-resource-dir" 2022-06-12 23:06:24 +03:00
Martin Storsjö c1882530c3 Add copyright and license headers to all shell script files, for clarity 2020-03-05 11:31:31 +02:00
Martin Storsjö 773c0299c5 Add scripts for crosscompiling the toolchain using an already built native toolchain 2018-10-02 21:34:54 +03:00