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

Alan Coopersmith alan.coopersmith at oracle.com
Sun Jun 10 11:08:27 PDT 2012

On 06/10/12 11:04 AM, Lu, Hongjiu wrote:
>> On 06/10/12 09:22 AM, Lu, Hongjiu wrote:
>>> We are proposing to extend x86-64 psABI to support
>>> ILP32 model:
>>> http://gcc.gnu.org/ml/gcc/2012-05/msg00258.html
>>> If a software package needs update to support ILP32
>>> in x86-64, __ILP32__ can used to distinguish LP64 model
>>> from ILP32 model.  If there are no differences
>>> between ILP32 and LP64 models, no changes are needed.  If
>>> an x86-64 compiler doesn't support ILP32 model, checking
>>> __ILP32__ will make sure that it will works.
>> If the software didn't care about the ABI, they wouldn't check for
>> __amd64__ in the first place.   This is a compatibility breaking
>> change that should not be allowed.   Define a new __x32__ symbol,
>> don't break __amd64__.
> If a package doesn't support x32, it won't work on x32
> anyway. Please show me one example of adding __ILP32__ check
> breaks anything.

This patch is proof that redefining __amd64__ breaks existing software,
forcing us to go around adding new changes to avoid damage.    It's not
adding the __ILP32__ check that breaks things, it's forcing all the
existing software to add it that is the breakage.

	-Alan Coopersmith-              alan.coopersmith at oracle.com
	 Oracle Solaris Engineering - http://blogs.oracle.com/alanc

More information about the xorg-devel mailing list