>>>>> "Philip" == Philip Blundell <[EMAIL PROTECTED]> writes:

 >> Its probably not the best way of going about things but I'm
 >> participating in a C implimentation of a micro-kernel who's
 >> syscalls in general have more then 4 arguments and return more
 >> then one. Its important to avoid copying. The ABI defines which
 >> registers are what and that all registers less the user SP are
 >> undefined after the syscall except where they are allocated for
 >> results from the syscall.

 Philip> I don't quite understand what you're trying to do.  Are you
 Philip> saying you want to arrange for certain functions to have a
 Philip> non-standard calling sequence where all regs are clobbered
 Philip> and a greater than usual number are used for args and return
 Philip> values?

 Philip> If so, this isn't possible without some hacking of the
 Philip> compiler. 

Couldn't you do it with the extended form of the asm statement that
GCC supports?  That gives a whole lot of control over how parameters
are passed in and out of the asm block.  If the asm block in turn is a 
function call (or syscall) instruction, that may do the job.

        paul

unsubscribe: body of `unsubscribe linux-arm' to [EMAIL PROTECTED]

Reply via email to