X32 Port
Translation(s): none
X32 is an ABI for amd64/x86_64 CPUs using 32-bit pointers. The idea is to combine the larger register set of x86_64 with the smaller memory and cache footprint resulting from 32-bit pointers.
Getting Started
Before you can run X32 binaries, you will need to install a kernel with the appropriate support. This means a kernel of version 3.4.0 or later, configured with CONFIG_X86_X32=y. Currently, none of the kernel packages in the Debian archive have this support. If you want to use a prebuilt kernel, you can download packages from http://87.98.215.228/debian/byhand/l/linux.
Once you're running a kernel with X32 support, you can create a chroot to start experimenting with:
wget http://87.98.215.228/debian/dists/archive.pub debootstrap --arch=x32 --components=main,byhand,partial \ --keyring=`pwd`/archive.pub \ sid /root/x32-chroot/ http://87.98.215.228/debian/
Bug Reports
I am currently using the usertag user debian-x32@lists.debian.org for all X32-related bug reports. (I've requested such a mailing list, but it hasn't been created yet.) Some of the tags I'm currently using, or may use in the near future, include:
port-x32 as a catch-all tag applied to all such bugs.
ftbfs-gnulib for packages using an old version of gnulib. With these old versions, gnulib wants to attach a deprecation warning to the prototype of gets(), while eglibc 2.16 (used by the X32 port) no longer exports this prototype by default.
ftbfs-eglibc2-16 for packages which have more general issues building under eglibc 2.16, but still not specific to X32.
ftbfs-libtool for packages using an old version of libtool without X32 support. Without the required support, libtool will often try to run "ld -m elf_i386 -r ..." on X32 objects, instead of the correct "ld -m elf32_x86_64 -r ...". (Also, for technical reasons, without the proper X32 support, libtool will want to run the "ld -r" more often than usual.)
ftbfs-x32 for X32-specific build failures not covered by one of the above.
See also
http://sites.google.com/site/x32abi/


