On 5/15/14, 6:46, "Michael Kerrisk (man-pages)" <mtk.manpages@xxxxxxxxx> wrote: >On 05/15/2014 07:21 AM, Darren Hart wrote: >> On 5/14/14, 17:18, "H. Peter Anvin" <hpa@xxxxxxxxx> wrote: >> >>> On 05/14/2014 09:18 AM, Darren Hart wrote: >>>> >>>> However, unless I'm sorely mistaken, the larger problem is that glibc >>>> removed the futex() call entirely, so these man pages don't describe >>>> something users even have access to anymore. I had to revert to >>>>calling >>>> the syscalls directly in the futextest test suite because of this: >>>> >>>> >>>> >>>>http://git.kernel.org/cgit/linux/kernel/git/dvhart/futextest.git/tree/i >>>>nc >>>> lu >>>> de/futextest.h#n67 >>>> >>> >>> This really comes down to the fact that we should have a libinux which >>> contains the basic system call wrapper machinery for Linux specific >>> things and nothing else. >>> >>> syscall(3) is toxic and breaks randomly on some platforms. >> >> Peter Z and I have had a good time discussing this in the past.... And >> here it is again. :-) > >People have a number of times noted that there are problems >with syscall(), but I'm not knowledgeable on the details. >I'd happily take a patch to the man page (which, for historical >reasons, is actually syscall(2)) that explains the the problems >(and ideally notes those platforms where there are no problems). >From my perspective, a named interface with specific documented interfaces is far more usable than a vargs direct syscall. That just leaves all kinds of room for error - which of course is why we all write our own wrappers in our apps rather than use it directly... If we all do it, it seems to me that is a strong indicator we should provide it in some kind of common library. Maybe that's libc... Maybe that's libnix... -- Darren Hart Open Source Technology Center darren.hart@xxxxxxxxx Intel Corporation -- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html