[parisc-linux] HPUX syscall ABI?

Philipp Rumpf prumpf@suse.de
Mon, 2 Aug 1999 06:21:41 +0200


>> An ABI that would specify too many argument registers would force the 
>> caller
>> to load them before the call and the callee to save them again because both
>> would need the additional argument registers.
> At function entry the compiler copies all parameters passed in registers into
> pseudo-registers.
> 
> Those pseudo registers are then subject to normal register allocation.  ie,
> the compiler can allocate it into a call saved register, into a stack slot
> (and bring it into a register where needed) or into a call clobbered register
> and save/restore it around calls based on which of the options minimizes
> cost.

Is this gcc-specific ?

> There's no benefit to not using those call clobbered registers for parameter
> passing other than to save a little stack space (you have a register flush to
> fixed areas in the frame inside varargs/stdarg functions).

I can imagine cases for which the PA1.1 ABI is better but of course I am not
sure how frequent they are.  For syscalls we definitely want to avoid having
to look at the user stack as soon as we have PL 0.

	Philipp Rumpf