The Google Native Client (NaCl) team is looking to upstream some of their LLVM changes such as support for Software Fault Isolation (SFI). As part of pushing forward the changes for Native Client in LLVM, they're also looking to see mainlined the x32 ABI support. X32 is the Application Binary Interface that looks to take advantage of common x86_64 CPU features like increased CPU registers and more instruction set extensions while using 32-bit pointers.
David Sehr of Google, part of their Native Client team, wrote a new mailing list thread on Tuesday about upstreaming x32 ABI support
inside LLVM. What the NaCl team would like to work on next with their LLVM upstreaming is the x32 ABI portion, "our ABI is dependent on the existence of an ILP32 ABI on x86-64. The conventions we rely on are the same as those developed for the x32 effort, and we propose that the community begin reviewing changes to implement the x32 ABI."
Google Native Client is the sandboxing technology for running x86/ARM code using Software Fault Isolation (SFI) within the web-browser and to run this code at near-native speeds.
In terms of Linux x32 coverage there is already Linux x32 kernel support
, glibc support
, gdb debugging support
, and GCC compiler support. There has been early LLVM/Clang x32 support
, but nothing has been merged yet.
Now Google is hoping to see this changed while the x32 ABI hasn't been widely adopted. At least it is possible to do a Gentoo Stage 3 x32 installation
as well as running Debian with x32
, but any Ubuntu support is still a ways off