[PATCH v2] Xmd.h: Treat __ILP32__ targets as LONG32 ones

James Cloos cloos at jhcloos.com
Sun Jun 10 12:54:43 PDT 2012

>>>>> "AC" == Alan Coopersmith <alan.coopersmith at oracle.com> writes:

AC> And I still maintain that if it defines __amd64__ in a non-LP64
AC> environment it is fundamentally broken and incompatible with the
AC> rest of the world.

Your too late, though.  They already did it.

It is in relased versions of gcc, the now frozen version of glibc
which will be relased in a couple of weeks or so and, AIUI, llvm.

Linux distributions, at least, have ports for x32.

And the porting effort wasn't huge.  The vast majority of pacakges
build w/o m32-specific patches.

Had our code been updated to use stdint when available, it wouldn't
have needed patches either.

The differences between the m64 and mx32 are tiny: 32 vs 64 bits
for longs and pointers.  At the C level, you look for __amd64__ 
and either __LP64__ or __ILP32__.

All we can do is respond to it.  Which is why I pushed Sergei's patch.

Whether !defined(__ILP32__) or defined(__LP64__) is the better test
for 64 bit longs is really the only question.  

James Cloos <cloos at jhcloos.com>         OpenPGP: 1024D/ED7DAEA6

More information about the xorg-devel mailing list