This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: make-syscalls.sh
- From: Carlos O'Donell <carlos at systemhalted dot org>
- To: Ángel González <keisial at gmail dot com>,libc-alpha at sourceware dot org
- Date: Tue, 20 Nov 2012 13:56:36 -0500
- Subject: Re: make-syscalls.sh
- References: <20121119091625.GB3855@gentoo.L3L6.loongson.cn><CAE2sS1gbY6Cw=dTS13-k1KMGby4dR163Ou3QaNfpfe_d_GpmTg@mail.gmail.com><50ABCACE.5090501@gmail.com>
On Tue, Nov 20, 2012 at 07:24:14PM +0100, Ángel González wrote:
> El 19/11/12 17:24, Carlos O'Donell escribió:
> > C is a prefix meaning that the syscall is cancellable.
> >
> > I'll post the following patch upstream for inclusion...
> >
> > --- a/sysdeps/unix/make-syscalls.sh
> > +++ b/sysdeps/unix/make-syscalls.sh
> > @@ -4,8 +4,19 @@
> > # Expects $sysdirs in environment.
> >
> > ##############################################################################
> > -
> > -# Syscall Signature Key Letters for BP Thunks:
> > +#
> > +# This script is used to process the syscall data encoded in the various
> > +# syscalls.list files to produce thin assembly syscall wrappers around the
> > +# appropriate OS syscall. See syscall-template.s for more details on the
> > +# actual wrapper.
> > +#
> > +# Syscall Signature Prefixes:
> > +#
> > +# C: cancellable (e.g., this syscall is a cancellation point)
> I think you should use "i.e.", not "e.g."
>
> Cheers
Thanks for that. You're right. Fixed.
I've checked in the following:
2012-11-20 Carlos O'Donell <carlos_odonell@mentor.com>
* sysdeps/unix/make-syscalls.sh: Document prefixes.
diff --git a/sysdeps/unix/make-syscalls.sh b/sysdeps/unix/make-syscalls.sh
index 7e7de65..f7162e2 100644
--- a/sysdeps/unix/make-syscalls.sh
+++ b/sysdeps/unix/make-syscalls.sh
@@ -4,8 +4,19 @@
# Expects $sysdirs in environment.
##############################################################################
-
-# Syscall Signature Key Letters for BP Thunks:
+#
+# This script is used to process the syscall data encoded in the various
+# syscalls.list files to produce thin assembly syscall wrappers around the
+# appropriate OS syscall. See syscall-template.s for more details on the
+# actual wrapper.
+#
+# Syscall Signature Prefixes:
+#
+# C: cancellable (i.e., this syscall is a cancellation point)
+# E: errno and return value are not set by the call
+# V: errno is not set, but errno or zero (success) is returned from the call
+#
+# Syscall Signature Key Letters:
#
# a: unchecked address (e.g., 1st arg to mmap)
# b: non-NULL buffer (e.g., 2nd arg to read; return value from mmap)
@@ -23,6 +34,7 @@
# v: vararg scalar (e.g., optional 3rd arg to open)
# V: byte-per-page vector (3rd arg to mincore)
# W: wait status, optionally-NULL pointer to int (e.g., 2nd arg of wait4)
+#
ptr='[abBfFINpPsSWV]' # all pointer keyletters
int='[inv]' # all scalar keyletters