diff --git a/man2/getgid.2 b/man2/getgid.2 index c3fe4aa06..9b8326f47 100644 --- a/man2/getgid.2 +++ b/man2/getgid.2 @@ -60,9 +60,9 @@ and .BR getegid () wrapper functions transparently deal with the variations across kernel versions. .PP -On Alpha, instead of pair of +On Alpha, instead of a pair of .BR getgid "() and " getegid () -system calls, single +system calls, a single .BR getxgid () system call is provided, which returns a pair of real and effective GIDs. The glibc @@ -75,7 +75,7 @@ See for details regarding register mapping. Other examples of such peculiarity are Alpha-specific .BR getxpid "(2) and " getxuid (2), -along with +as well as .BR pipe (2) on several architectures. .SH SEE ALSO diff --git a/man2/getpid.2 b/man2/getpid.2 index b317ece3f..c11cb625f 100644 --- a/man2/getpid.2 +++ b/man2/getpid.2 @@ -137,9 +137,9 @@ always invoke the actual system call, rather than returning a cached value. .\" FIXME . .\" Review progress of https://bugzilla.redhat.com/show_bug.cgi?id=1469757 .PP -On Alpha, instead of pair of +On Alpha, instead of a pair of .BR getpid "() and " getppid () -system calls, single +system calls, a single .BR getxpid () system call is provided, which returns a pair of PID and parent PID. The glibc @@ -152,7 +152,7 @@ See for details regarding register mapping. Other examples of such peculiarity are Alpha-specific .BR getxuid "(2) and " getxgid (2), -along with +as well as .BR pipe (2) on several architectures. .SH SEE ALSO diff --git a/man2/getuid.2 b/man2/getuid.2 index 0ebab763a..2d5190874 100644 --- a/man2/getuid.2 +++ b/man2/getuid.2 @@ -71,9 +71,9 @@ and .BR geteuid () wrapper functions transparently deal with the variations across kernel versions. .PP -On Alpha, instead of pair of +On Alpha, instead of a pair of .BR getuid "() and " geteuid () -system calls, single +system calls, a single .BR getxuid () system call is provided, which returns a pair of real and effective UIDs. The glibc @@ -86,7 +86,7 @@ See for details regarding register mapping. Other examples of such peculiarity are Alpha-specific .BR getxpid "(2) and " getxgid (2), -along with +as well as .BR pipe (2) on several architectures. .SH SEE ALSO diff --git a/man2/pipe.2 b/man2/pipe.2 index 5a282d449..85d9173a7 100644 --- a/man2/pipe.2 +++ b/man2/pipe.2 @@ -194,21 +194,25 @@ version 2.9. .SH NOTES .\" See http://math-atlas.sourceforge.net/devel/assembly/64.psabi.1.33.ps.Z .\" for example, section 3.2.1 "Registers and the Stack Frame". -SystemV ABI on some architectures allows using more than one register +The SystemV ABI on some architectures allows the use of more than one register for returning multiple values; several architectures (namely, Alpha, IA-64, MIPS, SuperH, and SPARC/SPARC64) -(ab)use this feature in order to implement +(ab)use this feature in order to implement the .BR pipe () -system call in a functional manner: it doesn't take any arguments and returns -a pair of file descriptors as a return value on success. +system call in a functional manner: +the call doesn't take any arguments and returns +a pair of file descriptors as the return value on success. The glibc .BR pipe () -wrapper function transparently deal with this. +wrapper function transparently deals with this. See .BR syscall (2) for information regarding registers used for storing second file descriptor. Other examples of such peculiarity are -.BR getxpid (2)/ getxuid (2)/ getxgid (2) +.BR getxpid (2), +.BR getxuid (2), +and +.BR getxgid (2) on Alpha. .SH CONFORMING TO .BR pipe (): diff --git a/man2/syscall.2 b/man2/syscall.2 index c156a85ef..b256e4390 100644 --- a/man2/syscall.2 +++ b/man2/syscall.2 @@ -281,15 +281,19 @@ argument in a single register and not two, as is done in every other ABI. .RE .IP [6] Some architectures -(namely, Alpha, IA-64, MIPS, SuperH, and SPARC/SPARC64) -use second return value register in order to pass second return value in +(namely, Alpha, IA-64, MIPS, SuperH, sparc/32, and sparc/64) +use an additional register ("Retval2" in the above table) +to pass back a second return value from the .BR pipe (2) system call; -Alpha uses it in the architecture-specific -.BR getxpid "(2), " getxuid "(2), and " getxgid (2) +Alpha uses this technique in the architecture-specific +.BR getxpid (2), +.BR getxuid (2), +and +.BR getxgid (2) system calls as well. Other architectures do not use the second return value register -in the system call interface, even if it is defined in the SystemV ABI. +in the system call interface, even if it is defined in the System V ABI. .RE .if t \{\ .in