Linux 3.4 Kernel Has x32 ABI Support
The pull happened last week prior to the Linux 3.4-rc1 release, but one of the other interesting changes in the Linux 3.4 kernel that hasn't been talked about much is the x32 support.
Back in February I talked about the x32 support being called in for kernel review, which Ingo Molnar sent in during the 3.4 merge window and he was successful in getting Linus to pull the tree.
Linux x32 is a new, native 32-bit ABI for x86_64 on Linux. Applications not needing 64-bit address space can now optionally target this 32-bit ABI to take advantage of the smaller 32-bit memory foot-print while still being able to take advantage of x86_64 CPU instructions and other functionality.
On the GCC side the x32 compiler support has already been merged and now the Linux kernel support is in place. There's also changes needed for x32 with GNU binutils and glibc.
On the kernel side, per the Git pull message, is the x32 binary format and execution mode for x86. This provides 32-bit data-space binaries using 64-bit instructions and 64-bit kernel syscalls.
Since the 3.4-rc1 release, on the GCC mailing list there's now an RFC message concerning the x32 TLS specification.
It will be a while until the x32 support is fully ready and found throughout new Linux distribution releases, but this 32-bit ABI is finally materializing in the real world.
Back in February I talked about the x32 support being called in for kernel review, which Ingo Molnar sent in during the 3.4 merge window and he was successful in getting Linus to pull the tree.
Linux x32 is a new, native 32-bit ABI for x86_64 on Linux. Applications not needing 64-bit address space can now optionally target this 32-bit ABI to take advantage of the smaller 32-bit memory foot-print while still being able to take advantage of x86_64 CPU instructions and other functionality.
On the GCC side the x32 compiler support has already been merged and now the Linux kernel support is in place. There's also changes needed for x32 with GNU binutils and glibc.
On the kernel side, per the Git pull message, is the x32 binary format and execution mode for x86. This provides 32-bit data-space binaries using 64-bit instructions and 64-bit kernel syscalls.
Since the 3.4-rc1 release, on the GCC mailing list there's now an RFC message concerning the x32 TLS specification.
It will be a while until the x32 support is fully ready and found throughout new Linux distribution releases, but this 32-bit ABI is finally materializing in the real world.
37 Comments