[parisc-linux] floating point calling convention on pa

Matthew Wilcox willy@debian.org
Sun, 20 Apr 2003 14:41:47 +0100


On Sat, Apr 19, 2003 at 11:40:31PM -0700, Randolph Chung wrote:
> static int floating(int a, float b, double c, long double d, int e)
> 
> i would have guessed this mapped to:
> 
> a -> gr26   (sp-36)
> b -> fr4L   (sp-40)
> c -> fr7    (sp-48)
> d -> sp-56
> e -> sp-64
> 
> but according to gcc, e is at sp-60.

ehm.. looks like -60 to me.  Here:

a gets bytes 33-36 (4 bytes)
b gets bytes 37-40 (4 bytes)
c gets bytes 41-48 (8 bytes)
d gets bytes 49-56 (8 bytes)
e gets bytes 57-60 (4 bytes)

-- 
"It's not Hollywood.  War is real, war is primarily not about defeat or
victory, it is about death.  I've seen thousands and thousands of dead bodies.
Do you think I want to have an academic debate on this subject?" -- Robert Fisk