"From Linus Torvalds <>
Subject Re: RFD: x32 ABI system call numbers
On Mon, Aug 29, 2011 at 12:01 PM, Geert Uytterhoeven
> Which will break all this non-portable 32-bit-only source code
x32 was invented
> for in the first place?
NO. HELL NO!
Guys, get a f&*king grip already!
There are absolutely ZERO compatibility issues.
If you want compatibility, you run traditional 32-bit x86.
If you want full 64-bit, you run standard x86-64 binaries.
x32 is *not* about compatibility. It's about pure performance,
and perhaps smaller binaries. Nothing else. If you start blathering
about "compatibility", you're so on the wrong track that it isn't
I would seriously suggest that if you want compatible ioctl's,
don't use x32. There's no point. It's not why x32 exists. If this
turns into a "let's add a new compat layer", or "let's just re-do
x86-32 all over again just using "syscall", I think the whole thing
is totally pointless.
If something isn't performance-sensitive, why do it in x32 at
all? It involves new libraries, new compiler support, new calling
conventions, and it will be *less well supported* than the
traditional compat mode.
The *only* reason to use x32 is:
- you get all the new x86-64 registers, and the improved calling
convention (big registers, more of them)
- you get a faster system call.
- smaller memory footprint (32-bit pointers and long).
But no, "compatibility" isn't one of those reasons. You won't be
able to use old libraries, you won't even be able to use an old
compiler,and I would seriously suggest that maybe we shouldn't care
about the more esoteric ioctl's if they end up being a pain.