Re: RFD: x32 ABI system call numbers

From: Linus Torvalds
Date: Mon Aug 29 2011 - 21:49:53 EST


On Mon, Aug 29, 2011 at 12:01 PM, Geert Uytterhoeven
<geert@xxxxxxxxxxxxxx> wrote:
>
> 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 even
funny!

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.

Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/