Apple Silicon / M1 Port Planned For GCC 12
Developers are hoping for next year's GCC 12 release they will have Apple AArch64 support on Darwin in place for being able to support Apple Silicon -- initially the M1 SoC -- on macOS with GCC.
LLVM/Clang has long been supporting AArch64 on macOS given that Apple leverages LLVM/Clang as part of their official Xcode toolchain as the basis for their compiler across macOS to iOS and other products. While the GNU Compiler Collection (GCC) supports AArch64 and macOS/Darwin, it hasn't supported the two of them together but there is a port in progress to change it.
Iain Sandoe and Embecosm developers are working on GCC support for 64-bit ARM on macOS for supporting the initial M1 chips. This port isn't trivial with Apple not using an off-the-shelf ARM design but requiring changes to GCC around its model for nested functions and other fundamental differences, largely in the name of Apple M1 security enhancements requiring additional compiler alterations to yield working/supported code.
The code for now is hosted via gcc-darwin-arm64 on GitHub but the developers are hoping this code will be ready for landing in time for GCC 12 with its stable (GCC 12.1) release next year.
More details on this new port via the GCC mailing list.
LLVM/Clang has long been supporting AArch64 on macOS given that Apple leverages LLVM/Clang as part of their official Xcode toolchain as the basis for their compiler across macOS to iOS and other products. While the GNU Compiler Collection (GCC) supports AArch64 and macOS/Darwin, it hasn't supported the two of them together but there is a port in progress to change it.
Iain Sandoe and Embecosm developers are working on GCC support for 64-bit ARM on macOS for supporting the initial M1 chips. This port isn't trivial with Apple not using an off-the-shelf ARM design but requiring changes to GCC around its model for nested functions and other fundamental differences, largely in the name of Apple M1 security enhancements requiring additional compiler alterations to yield working/supported code.
The code for now is hosted via gcc-darwin-arm64 on GitHub but the developers are hoping this code will be ready for landing in time for GCC 12 with its stable (GCC 12.1) release next year.
More details on this new port via the GCC mailing list.
15 Comments