Skip to end of banner
Go to start of banner

GNU Toolchain for Windows on Arm

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Version History

« Previous Version 3 Next »

Motivation

The GNU toolchain is the only major C/C++ toolchain not to support targeting Windows on ARM64. Clang/LLVM and MSVC already have support.

Many downstream open-source toolchains; such as MSYS2, MINGW and Cygwin, expressed interested in supporting WoARM64 if GCC was available.

Status

Multiple patches have been up-streamed to binutils already. The patches add backend support to the GNU toolchain. The target architecture is called aarch64-pe. This enables the linker, assembler and related tools to target WoARM64.

Next steps will be to:

  • Extend support in binutils (SEH and TLS are still missing)

  • Add support to the compiler (GCC) 

Compiling

Binutils can be built using and autotools compatible environment including WSL and MSYS2. For example:

git clone git://sourceware.org/git/binutils-gdb.git
makedir build
cd build
../binutils-gdb/configure --target=aarch64-pe
make -j8

 There is some more information about building it here.
https://github.com/Windows-on-ARM-Experiments/research

Running

The build above will produce the assembler and other components. For example, to assemble a file:

..\gas\as-new con-app-aarch64.s -o con-app-aarch64.o

  • No labels