Google Wants LLVM To Mainline x32 ABI Support

Posted by Michael Larabel on January 16, 2013

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.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. The Cost Of Ubuntu Disk Encryption
  2. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  3. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
  4. F2FS File-System Shows Regressions On Linux 3.10
Latest Linux News
  1. QEMU 1.5 Supports VGA Passthrough, Better USB 3.0
  2. Handbrake 0.9.9 Supports OpenCL Offloading
  3. Freedreno Gallium3D Now Banging The Adreno A3XX
  4. Jolla Announces Their First Phone
  5. Mageia 3 Released, Still Using Legacy GRUB
  6. NetBSD 6.1 Brings In More Features
  7. Using Six Monitors With AMD's Open-Source Linux Driver
  8. Benchmarking The Intel P-State, CPUfreq Changes
  9. FreeBSD Still Working On Next-Gen Package Manager
  10. DNF Still Advancing As Experimental Yum For Fedora
  11. Logitech Begins Supporting Linux Users
Latest Forum Talk
  1. Modern Intel Gallium3D Driver Still Being Toyed...
  2. QEMU 1.5 Supports VGA Passthrough, Better USB 3.0
  3. OpenSUSE Considers Replacing LXDE With E17
  4. The Cost Of Ubuntu Disk Encryption
  5. DRM Moves Ahead With HTML5 Specification
  6. Handbrake 0.9.9 Supports OpenCL Offloading
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite