Messages in this thread | | | From | Andy Lutomirski <> | Date | Tue, 8 Mar 2016 10:50:59 -0800 | Subject | Re: [PATCH] x86/entry: Improve system call entry comments |
| |
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.
--Andy
| |