This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: The time(2) man page conflicts with glibc
- From: "Michael Kerrisk (man-pages)" <mtk dot manpages at gmail dot com>
- To: "H.J. Lu" <hjl dot tools at gmail dot com>
- Cc: mtk dot manpages at gmail dot com, Andreas Schwab <schwab at suse dot de>, libc-alpha <libc-alpha at sourceware dot org>, linux-man <linux-man at vger dot kernel dot org>, Mike Frysinger <vapier at gentoo dot org>, Zack Weinberg <zackw at panix dot com>
- Date: Wed, 16 Dec 2015 15:07:46 +0100
- Subject: Re: The time(2) man page conflicts with glibc
- Authentication-results: sourceware.org; auth=none
- References: <CAMe9rOoJLk8VzyJKmkOvbmBxhCj4mVA2huYtHJsdxpatbkgJ1g at mail dot gmail dot com> <mvmegen94qs dot fsf at hawking dot suse dot de> <CAMe9rOr_Ydg5Nr7aV8vS0vYEFehSwFBuxrMAnCFXyyVoTF4vJQ at mail dot gmail dot com> <5671696B dot 3070203 at gmail dot com> <CAMe9rOqsxCEia7OWqzJ-HzZWCra5BTyYqt4japjZTw0pY=fugw at mail dot gmail dot com>
On 12/16/2015 02:53 PM, H.J. Lu wrote:
> On Wed, Dec 16, 2015 at 5:38 AM, Michael Kerrisk (man-pages)
> <mtk.manpages@gmail.com> wrote:
>> On 12/15/2015 03:17 PM, H.J. Lu wrote:
>>> On Tue, Dec 15, 2015 at 6:16 AM, Andreas Schwab <schwab@suse.de> wrote:
>>>> In which way does it conflict?
>>>
>>> On error, ((time_t) -1) is returned, and errno is set appropriately.
>>
>>
>> So, how would the following text be for the man page?
>>
>> ERRORS
>> EFAULT t points outside your accessible address space. On sysâ
>> tems where the C library time() wrapper function invokes
>> an implementation provided by the vdso(7) (so that there
>> is no trap into the kernel), an invalid address may
>> instead trigger a SIGSEGV signal.
>>
>
> time never sets errno. You can't tell if it returns error when time
> in libc.a is used.
Yes, but the raw system call can give us EFAULT. That needs to be
documented.
By the way, what's the reason that one can't tell if it returns
an error when time() in libc.a is used?
Thanks,
Michael
--
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/