linuxx8632bit-64bitbinary-compatibilitylinux-x32-abi

What must be recompiled to run a x32 ABI application?


Can I compile an application with the new x32 ABI, and then run it in a normal kernel? What about the runtime C library? Is there any form of interoperability with precompiled x86/x86_64 libraries?


Solution

  • Nope. x32 needs its own set of libraries, just like x86 and x86-64 do. Just like you cannot run x86 binaries on systems that only provide x86-64 libs, x32 binaries won't work on systems providing only x86 and/or x86-64 libraries. Like x86 and x86-64, x32 is its own architecture.

    Support must also be enabled in the kernel, of course. A kernel that was built without x32 support enabled won't be able to run x32 binaries.