LLVM Adds Initial Support For PowerPC LE
LLVM has added support for PowerPC LE (32-bit) as its newest target.
While LLVM has supported the PowerPC architecture for years, to date it's been focused on the big endian support. Most PowerPC hardware supports both big and little endian modes and can be switched at run-time. While Linux and others tend to focus on PowerPC support in big endian mode, LLVM has added a PowerPC LE option.
Adding this 32-bit PowerPC Little Endian support to LLVM in 2021 is being done for a few admittedly niche use-cases. Among the expressed uses were for building the FreeBSD loader in little endian mode if booting a little endian kernel, user-space emulation of a 32-bit LE architecture such as x86 on 64-bit hosts with software like box86 requires a 32-bit LE toolchain/libraries, and the Void Linux project experimenting with an entire PowerPC little endian user-space.
So with those reasons, PowerPC 32-bit LE support was upstreamed in LLVM. For clarity, the 64-bit PowerPC LE support has already been available.
The support so far adds the new PowerPC LE triple, Clang support including OpenMP, and support within the LLD linker and LLVMObject. This work will be found in the LLVM 12.0 release due out around March.
While LLVM has supported the PowerPC architecture for years, to date it's been focused on the big endian support. Most PowerPC hardware supports both big and little endian modes and can be switched at run-time. While Linux and others tend to focus on PowerPC support in big endian mode, LLVM has added a PowerPC LE option.
Adding this 32-bit PowerPC Little Endian support to LLVM in 2021 is being done for a few admittedly niche use-cases. Among the expressed uses were for building the FreeBSD loader in little endian mode if booting a little endian kernel, user-space emulation of a 32-bit LE architecture such as x86 on 64-bit hosts with software like box86 requires a 32-bit LE toolchain/libraries, and the Void Linux project experimenting with an entire PowerPC little endian user-space.
So with those reasons, PowerPC 32-bit LE support was upstreamed in LLVM. For clarity, the 64-bit PowerPC LE support has already been available.
The support so far adds the new PowerPC LE triple, Clang support including OpenMP, and support within the LLD linker and LLVMObject. This work will be found in the LLVM 12.0 release due out around March.
4 Comments