• David S. Miller's avatar
    sparc: Fix handling of orig_i0 wrt. debugging when restarting syscalls. · 1d299bc7
    David S. Miller authored
    Although we provide a proper way for a debugger to control whether
    syscall restart occurs, we run into problems because orig_i0 is not
    saved and restored properly.
    
    Luckily we can solve this problem without having to make debuggers
    aware of the issue.  Across system calls, several registers are
    considered volatile and can be safely clobbered.
    
    Therefore we use the pt_regs save area of one of those registers, %g2,
    as a place to save and restore orig_i0.
    
    Debuggers transparently will do the right thing because they save and
    restore this register already.
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    1d299bc7
signal_32.c 16.8 KB