Re: Syscall changes registers beyond %eax, on linux-i386

george anzinger
2002-09-21T08:04:35Z

Richard Henderson wrote:
>
> On Fri, Sep 20, 2002 at 01:32:05AM -0700, george anzinger wrote:
> > So, is there a problem? Yes, neither the call stub macros
> > in asm/unistd.h nor those in glibc bother to list the used
> > registers beyond the third ":".
>
> No, this is not the real problem. The real problem is that if
> the program receives a signal during a system call, the kernel
> will return all the way up to entry.S, deliver the signal and
> then restart the syscall.
>
> Except the syscall will restart with the corrupted registers.
>
> Hilarity ensues.
>
I submit that BOTH of these are problems. And only the
kernel can fix the latter.

-g
--
George Anzinger george@mvista.com