With the x32 ABI for Linux finally coming together, Ubuntu developers are making plans to support this interesting ABI in the future.
The Linux x32 ABI
is intended for x86_64 hardware, but rather than simply targeting x86_64, it attempts to blend the best of IA32 and x86_64. With x32 there is a 32-bit pointer size rather than 64-bit, which drops the memory usage and could yield performance improvements, while still allowing the x32-compiled code to take advantage of 64-bit registers, a larger register file, and other x86_64 features.
Support for Linux x32 was added to the Linux 3.4 kernel
, GCC 4.7 supports targeting x32, support has landed within dpkg (via the 1.16.3 release), glibc 2.15 has x32 support, and the binutils support is in its trunk code-base at the moment.
Everything is coming together for x32 support in the upstream Linux components, but it's not known to what extent Canonical will support this architecture flavor in Ubuntu 12.10. Greater tests are going to be conducted after verifying all of the pieces to this puzzle are on the table. (I also plan to do some Linux i686 vs. x86_64 vs. x32 benchmarks this summer.)
Notes are found here
for the Ubuntu Linux x32 discussion. Upstream Linux x32 information is available from its Google site