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.
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://220.127.116.11/debian/byhand/l/linux.
Once you're running a kernel with X32 support, you can create a chroot to start experimenting with:
wget http://18.104.22.168/debian/dists/archive.pub debootstrap --arch=x32 --components=main,byhand,partial \ --keyring=`pwd`/archive.pub \ sid /root/x32-chroot/ http://22.214.171.124/debian/
I am currently using the usertag user firstname.lastname@example.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.