From: Mike Frysinger <vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
To: mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
Cc: Changhee Han <ch0.han-Hm3cg6mZ9cc@public.gmane.org>,
linux-man <linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
gunho.lee-Hm3cg6mZ9cc@public.gmane.org
Subject: Re: [PATCH] man2 : syscall.2 : add notes
Date: Mon, 1 Apr 2013 04:29:44 -0400 [thread overview]
Message-ID: <201304010429.45737.vapier@gentoo.org> (raw)
In-Reply-To: <CAKgNAkhBASGvXGfdBSjpGaMuxoJofcQvZQrX3a=uxbcKQnXOAQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
[-- Attachment #1: Type: Text/Plain, Size: 2308 bytes --]
On Monday 01 April 2013 03:36:40 Michael Kerrisk (man-pages) wrote:
> +glibc handles the details of copyiing arguments to the right registers
copying
> +the caller may need to handle architecture-dependent details.
may->might
> +For example, on the ARM architecture Embbeded ABI (EABI), a
Embedded
> +.I "long long"
> +argument is considered to be 8-byte aligned and to be split
> +into two 4-byte arguments.
i would rewrite to:
64 bit value (e.g. "long long") must be aligned to an even register pair.
> +.I offset
> +is 64 bit and should be 8-byte aligned.
> +Thus, a padding is inserted before
> +.I offset
> +and
> +.I offset
> +is split into two 32-bit arguments.
i would rewrite to:
Since the offset argument is 64 bits, and the first argument (fd) is passed in
r0, we need to manually split & align the 64 bit value ourselves so that it is
passed in the r2/r3 register pair. That means inserting a dummy value into r1
(the 2nd argument of 0).
> +Similar issues can occur on MIPS with the O32 ABI and
> +on PowerPC with the 32-bit ABI.
> +.BR fadvise64_64 (2)
> +.BR ftruncate64 (2)
> +.BR pread64 (2)
> +.BR pwrite64 (2)
> +.BR readahead (2)
> +and
> +.BR truncate64 (2).
the style here is messed up. i'm guessing you meant to make a new paragraph
starting at "Similar", and you meant to add some text before the function
list. also add to the list: sync_file_range and posix_fadvise.
not sure if it's worth mentioning, but this issue ends up forcing MIPS' O32 to
take 7 arguments to syscall() :). on ARM/PPC, they avoid this by reordering
the arguments.
i see that the existing sync_file_range and posix_fadvise pages explicitly call
out this issue. i'd suggest updating those (as well as the other funcs that
are affected) to point back to syscall(2) for more details rather than getting
into too much detail.
on a related topic, would it be useful to document the exact calling
convention for architecture system calls ? from time to time, i need to
reference this, and i inevitably turn to a variety of sources to dig up the
answer (the kernel itself, or strace, or qemu, or glibc, or uClibc, or lss, or
other random places). i would find it handy to have all of these in a single
location.
-mike
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
next prev parent reply other threads:[~2013-04-01 8:29 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-27 5:11 [PATCH] man2 : syscall.2 : add notes ch0.han-Hm3cg6mZ9cc
[not found] ` <1364361092-5948-1-git-send-email-ch0.han-Hm3cg6mZ9cc@public.gmane.org>
2013-03-27 7:53 ` (unknown), Changhee Han
2013-03-27 8:25 ` [PATCH v2] man2 : syscall.2 : add notes Changhee Han
2013-03-28 9:37 ` [PATCH] " Michael Kerrisk (man-pages)
2013-04-01 5:33 ` Changhee Han
[not found] ` <1364794429-20477-1-git-send-email-ch0.han-Hm3cg6mZ9cc@public.gmane.org>
2013-04-01 6:13 ` Mike Frysinger
[not found] ` <201304010213.06056.vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
2013-04-01 6:22 ` Michael Kerrisk (man-pages)
[not found] ` <CAKgNAki_8bOsuKTJLx3iMLeSvVXHo0bZf8zSUQ08RR7+D33xgQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-04-01 7:19 ` Mike Frysinger
[not found] ` <201304010319.45019.vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
2013-04-01 7:36 ` Michael Kerrisk (man-pages)
[not found] ` <CAKgNAkhBASGvXGfdBSjpGaMuxoJofcQvZQrX3a=uxbcKQnXOAQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-04-01 8:29 ` Mike Frysinger [this message]
[not found] ` <201304010429.45737.vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
2013-04-01 9:29 ` Michael Kerrisk (man-pages)
[not found] ` <CAKgNAkij3zDwakWvcRkRbknmV2Hpt4HWfH4uVqmxp+7gQek-2g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-04-01 10:32 ` Mike Frysinger
[not found] ` <201304010632.41520.vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
2013-04-02 6:54 ` Michael Kerrisk (man-pages)
[not found] ` <CAKgNAkgG2kdCC1tyZQkYU7O_nP7RB8VoCmx6eb8FcudU1s6RgA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-04-02 23:17 ` [PATCH] man2 : syscall.2 : document syscall calling conventions Mike Frysinger
2013-04-07 10:00 ` Michael Kerrisk (man-pages)
2013-04-07 13:55 ` Kyle McMartin
2013-04-07 14:56 ` James Bottomley
2013-04-07 15:11 ` Kyle McMartin
[not found] ` <20130407151134.GX12938-PfSpb0PWhxZc2C7mugBRk2EX/6BAtgUQ@public.gmane.org>
2013-04-07 15:38 ` James Bottomley
2013-04-08 9:18 ` Michael Kerrisk (man-pages)
[not found] ` <20130407135514.GW12938-PfSpb0PWhxZc2C7mugBRk2EX/6BAtgUQ@public.gmane.org>
2013-04-07 18:39 ` Mike Frysinger
2013-04-07 18:48 ` John David Anglin
[not found] ` <BLU0-SMTP986B123D17DB8B88214F797C40-MsuGFMq8XAE@public.gmane.org>
2013-04-08 9:20 ` Michael Kerrisk (man-pages)
2013-04-08 9:20 ` Michael Kerrisk (man-pages)
[not found] ` <CAKgNAkhv6tovvnucoofDR-eOe4H7xeFZDam9+iaVVndEqbuoXg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-04-12 1:40 ` Mike Frysinger
[not found] ` <201304112140.18506.vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
2013-04-16 6:01 ` Michael Kerrisk (man-pages)
2013-04-12 1:55 ` Mike Frysinger
[not found] ` <201304112155.46349.vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
2013-04-12 2:34 ` John David Anglin
2013-04-12 3:38 ` Mike Frysinger
2013-04-12 4:45 ` James Bottomley
2013-04-12 12:17 ` John David Anglin
2013-04-12 18:45 ` Mike Frysinger
2013-04-12 19:14 ` James Bottomley
2013-04-12 19:46 ` Mike Frysinger
2013-04-12 20:25 ` James Bottomley
2013-04-12 14:01 ` Kyle McMartin
[not found] ` <CAKgNAkgODPSWSeA8ZymiAjFBqSAZQMtQe9GW84Y6QHdFEc9S-w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-04-07 18:43 ` Mike Frysinger
2013-04-01 8:37 ` [PATCH] man2 : syscall.2 : add notes Mike Frysinger
[not found] ` <201304010437.52901.vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
2013-04-01 9:30 ` Michael Kerrisk (man-pages)
[not found] ` <CAKgNAkit-qRPErHDzGEJ_yedA+O97bFxDsqWJMZOhCZ9DPvOtw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-04-01 10:09 ` Mike Frysinger
2013-04-01 7:05 ` Fw : Re : " 한창희
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201304010429.45737.vapier@gentoo.org \
--to=vapier-abrp7r+bbdudnm+yrofe0a@public.gmane.org \
--cc=ch0.han-Hm3cg6mZ9cc@public.gmane.org \
--cc=gunho.lee-Hm3cg6mZ9cc@public.gmane.org \
--cc=linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.