Messages in this thread | | | Date | Sat, 21 Sep 2002 01:09:12 -0700 | From | george anzinger <> | Subject | Re: Syscall changes registers beyond %eax, on linux-i386 |
| |
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 High-res-timers: http://sourceforge.net/projects/high-res-timers/ Preemption patch: http://www.kernel.org/pub/linux/kernel/people/rml - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |