[klibc] Re: [PATCH] klibc

David Miller davem at davemloft.net
Sat Jun 3 23:30:34 PDT 2006


From: "H. Peter Anvin" <hpa at zytor.com>
Date: Sat, 03 Jun 2006 15:26:05 -0700

> __arch64__ is ugly; it doesn't say it's a sparc thing.  I have added 
> -D__sparc_v9__ to the sparc64 MCONFIG file, so I think that's fine.
> 
> Perhaps the right thing to do is to make this an archconfig.h configurable.

Please don't do this, I'll explain why.

Using __sparc_v9__ is incorrect, here is the lowdown on these defines:

1) __sparc_v9__ means "-mcpu={ultrasparc*,niagara}" or "-mcpu=v9".
   Although this is implied by "-m64" it can be used for 32-bit
   code too.

   __sparc_v9__ means "using v9 instructions" which does not
   necessarily mean 64-bit

2) "__sparc__ && __arch64__" means 64-bit sparc

People often get this wrong, and it certainly is confusing.

Jakub Jelinek gives a good explanation on the gcc mailing
list here:

	http://gcc.gnu.org/ml/gcc/2002-12/msg00108.html

Thanks.



More information about the klibc mailing list