Red Hat Bugzilla – Bug 195668
No more syscallN, update documentation
Last modified: 2007-11-30 17:11:35 EST
Description of problem:
In previous linux releases, the macro syscall0, syscall1, ... were all available
(defined in linux/unistd.h from memory) for use when declaring non-standard
system call interfaces such as tkill et.l.
In FC-6 that is no longer available, instead syscall(2) should be used.
The documentation should be updated to reflect this.
This has nothing to do with glibc, the change was done in glibc-kernheaders
and documentation is in man-pages.
The syscallX macros in the kernel's private headers were never suitable for
userspace. For a while, we used to _add_ something in linux/unistd.h which just
used glibc's syscall(2). But that was a bad plan -- userspace should not be
using kernel headers, and adding stuff to kernel-private headers _solely_ for
userspace isn't something we're likely to get away with upstream.
Either we could add syscallX macros to glibc's headers, or we should fix the
man-pages to document the use of syscall(2) instead. Or both.
As noted in bug #235206, man-pages-2.55 fixes this.
(There is one possible omission, intro.2, though.)
As noted in comment #8 for bug #235206, version 2.61 fixed the problems in
intro(2), and even updated the obsolete setup(2).
To conclude, current build contains a complete fix.