Bug 235206

Summary: The _syscallX macros are not defined anymore
Product: Red Hat Enterprise Linux 5 Reporter: Alfred von Campe <alfred>
Component: man-pagesAssignee: Stepan Kasal <kasal>
Status: CLOSED ERRATA QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 5.0CC: carenas, mtk.manpages
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: RHBA-2007-0529 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-07-18 14:53:04 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Alfred von Campe 2007-04-04 14:54:50 UTC
The _sycallX macros as described in the intro(2) man page are no longer defined
in /usr/include/linux/unistd.h (or anywhere else for that matter).  Some man
pages like gettid still refer to the _syscall macros, although they also mention
that syscall(2) "may be preferable" and point you to intro(2), which mostly
talks about the _syscallX macros.  It's a little confusing to say the least. 
These macros were still defined on RHEL 4.

I've checked a couple of other recent distributions, and the _syscallX macros
are still being defined (albeit in /usr/include/asm-XXX/unistd.h).  Was the
removal of these macro definitions from RHEL 5 deliberate or an oversight?

To avoid confusion, I suggest that either the _syscallX macros should be
defined, or the man pages should be updated to remove all references to the
_syscallX macros.  Here are the man pages I could find that still refer to these
macros:

/usr/share/man/man2/clone.2.gz
/usr/share/man/man2/getdents.2.gz
/usr/share/man/man2/gettid.2.gz
/usr/share/man/man2/intro.2.gz
/usr/share/man/man2/ioprio_set.2.gz
/usr/share/man/man2/llseek.2.gz
/usr/share/man/man2/mmap2.2.gz
/usr/share/man/man2/modify_ldt.2.gz
/usr/share/man/man2/mq_getsetattr.2.gz
/usr/share/man/man2/pivot_root.2.gz
/usr/share/man/man2/readdir.2.gz
/usr/share/man/man2/setup.2.gz
/usr/share/man/man2/sysctl.2.gz
/usr/share/man/man2/syslog.2.gz
/usr/share/man/man2/tkill.2.gz

Comment 1 Alfred von Campe 2007-04-04 15:04:02 UTC
Argh, I mistyped _syscallX in the summary line, so a search won't find it.  If
there is a way to fix this typo, please do so.  There is also an instance of
this typo in the opening sentence of the description.  Sorry about that...

Comment 2 David Woodhouse 2007-04-04 15:07:47 UTC
Whatever 'recent' distributions you checked, they're not up to date. The
_syscallX macros were removed from the upstream kernel. Any distribution which
still has them, shouldn't.

Reassigning to man-pages.

Comment 3 Michael Kerrisk 2007-05-26 14:13:38 UTC
The upstream man-pages will be fixed in release 2.55.

Comment 4 Arenas Belon, Carlo Marcelo 2007-06-05 02:02:26 UTC
the last version from May 29, 2007 is 2.51, and it still refers to the _syscallX
macros

Comment 5 Stepan Kasal 2007-06-20 17:45:37 UTC
(In reply to comment #3)
> The upstream man-pages will be fixed in release 2.55.

Indeed, release 2.55 fixes all occurences, with one exception: intro.2
Michael, do you have capacities to look at it?

Comment 6 Stepan Kasal 2007-06-20 18:25:48 UTC
Fixed in man-pages-2.39-10.el5

Comment 8 Michael Kerrisk 2007-06-20 18:40:59 UTC
Looking at this bug report, I see that I had not fixed setup(2).  This is fixed
now.  Likewise, I have rewritten intro.2 somewhat to note that _syscallN is
historic.  Fixes will be in man-pages-2.61.

Michael Kerrisk
uspstream man-pages maintaner

Comment 13 Red Hat Bugzilla 2007-07-18 14:53:05 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2007-0529.html