[xproto: PATCH] Xmd.h: amd64-x32 ABI defines sizeof(long) == sizeof (void*) == 4
ajax at nwnk.net
Tue Jan 3 16:45:42 PST 2012
On 12/28/11 3:29 PM, Lu, Hongjiu wrote:
> __LP64__ isn't the part of x86-64 psABI while GCC always define __LP64__
> for 64bit long on x86. I can check if other compilers do the same.
> In most cases, __amd64__ is checked for 64bit instructions and we have
> ported those we have found so far to x32 so that we can use one __amd64__
> block to support both x32 and x86-64.
With all due respect, you're out of your mind. __amd64__ means LP64 on
Linux. It does not mean "AMD64 instruction set with some arbitrarily
defined pointer size", in the same way that __ppc64__ does not mean that.
Your design is broken. Consider making it not be broken. The way you
do this is you make your psabi define __x32__, instead of having it
redefine a symbol with pre-existing semantics to mean something _other_
than the pre-existing semantics.
More information about the xorg-devel