---

Re: RFD: x32 ABI system call numbers

“From Linus Torvalds <>
Subject Re: RFD: x32 ABI system call numbers

On Mon, Aug 29, 2011 at 12:01 PM, Geert Uytterhoeven
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

Complete
Story

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends, & analysis