Messages in this thread | | | Subject | Re: [PATCH] x86/entry: Improve system call entry comments | From | "H. Peter Anvin" <> | Date | Tue, 8 Mar 2016 10:59:10 -0800 |
| |
On 03/08/16 10:50, Andy Lutomirski wrote: > On Tue, Mar 8, 2016 at 10:47 AM, H. Peter Anvin <hpa@zytor.com> wrote: >> On 03/08/16 10:45, Andy Lutomirski wrote: >>> >>> s/modern/most, perhaps? >>> >>> I'm hoping that some day Bionic goes away and gets replaced by musl. >>> >>> Of course, musl doesn't always use fast syscalls because it needs a >>> vdso facility that doesn't currently exist. I'll deal with that >>> eventually. >>> >> >> You don't actually need actual DSO support to support fast system calls >> on i386. Even klibc uses them now, and the additional code to support >> it is trivial. > > That's not the issue. The issue is that musl does something > crazy^Wclever to support POSIX pthread cancellation, and it involves > being able to tell whether a signal's ucontext points to a syscall > and, if so, what the return address is. This is straightforward with > an inlined int $0x80, but doing it reliably with the current vdso > design would requiring parsing the DWARF data, and I can't really > blame musl for not wanting to do that. > > There was a thread awhile back about adding a new vdso helper to do > this. I think I even had some code for it. If I find time, I'll try > to send patches for 4.7. >
As far as I know, when we get a signal the EIP always points to int $0x80 as we don't support system call restart (being a rare case) for the fast system calls.
-hpa
| |