[klibc] Re: long long on 32-bit machines

H. Peter Anvin hpa at zytor.com
Fri Jan 30 22:08:12 PST 2004


Paul Mackerras wrote:
> H. Peter Anvin writes:
> 
> 
>>Does anyone happen to know if there are *any* 32-bit architectures (on 
>>which Linux runs) for which the ABI for a "long long" is different from 
>>passing two "longs" in the appropriate order, i.e. (hi,lo) for bigendian 
>>or (lo,hi) for littleendian?
> 
> 
> Are you are talking about passing arguments to a function?  PPC32
> passes long long arguments in two registers in the order you would
> expect (hi, lo), BUT you have to use an odd/even register pair.  In
> other words, if you have a function like this:
> 
> 	int foo(int a, long long b)
> 
> then a will be passed in r3 and b will be passed in r5 and r6, and r4
> will be unused.
> 

Does system calls follow the same convention?

	-hpa



More information about the klibc mailing list