>So the correct fix would be to simply push r1-r4 onto the stack instead
>of r0-r4 in sys_syscall?  I'm guessing somewhere the order they are
>popped off would have to be changed, but I haven't quite figured out
>where that is yet.

No, I don't think so.  What sys_syscall is actually doing is retrieving the 
arg registers that were previously pushed onto the stack by the entry code.  
My guess from a quick look at the code is that it's getting an off-by-one 
result because R4 has gotten pushed underneath R0; you could try changing it 
to be something like

        addle   ip, sp, #4              @ discard old R0
        ldmleib ip, {r0 - r4}           @ get our args from original R1..R5

Russell can probably give you a more definitive answer.  I don't really have 
time to experiment with it right now.

p.


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

Reply via email to