* "Writing" instead of "Warning" in dlopen(3) manpage
@ 2013-12-31 12:42 noname-CuI0ZDT4mYnsrOwW+9ziJQ
2013-12-31 16:19 ` Mike Frysinger
0 siblings, 1 reply; 9+ messages in thread
From: noname-CuI0ZDT4mYnsrOwW+9ziJQ @ 2013-12-31 12:42 UTC (permalink / raw)
To: mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w; +Cc: linux-man-u79uwXL29TY76Z2rM5mHXA
dlopen C code example contains following comment:
/* Writing: cosine = (double (*)(double)) dlsym(handle, "cos");
... */
"Writing:" should be replaced with "Warning:".
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: "Writing" instead of "Warning" in dlopen(3) manpage
2013-12-31 12:42 "Writing" instead of "Warning" in dlopen(3) manpage noname-CuI0ZDT4mYnsrOwW+9ziJQ
@ 2013-12-31 16:19 ` Mike Frysinger
[not found] ` <201312311119.55754.vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
0 siblings, 1 reply; 9+ messages in thread
From: Mike Frysinger @ 2013-12-31 16:19 UTC (permalink / raw)
To: noname-CuI0ZDT4mYnsrOwW+9ziJQ
Cc: mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w,
linux-man-u79uwXL29TY76Z2rM5mHXA
[-- Attachment #1: Type: Text/Plain, Size: 611 bytes --]
On Tuesday 31 December 2013 07:42:09 noname-CuI0ZDT4mYnsrOwW+9ziJQ@public.gmane.org wrote:
> dlopen C code example contains following comment:
>
> /* Writing: cosine = (double (*)(double)) dlsym(handle, "cos");
> ... */
>
> "Writing:" should be replaced with "Warning:".
both are correct
however, i wonder if the comment should be inverted. the latest POSIX spec
requires that the natural cast work.
http://pubs.opengroup.org/onlinepubs/9699919799/functions/dlsym.html#tag_16_96_07
Linux man pages document the normal Linux environment, and that means POSIX,
not strict ISO C.
-mike
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: "Writing" instead of "Warning" in dlopen(3) manpage
[not found] ` <201312311119.55754.vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
@ 2014-01-02 1:46 ` Michael Kerrisk (man-pages)
[not found] ` <52C4C513.7020509-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
0 siblings, 1 reply; 9+ messages in thread
From: Michael Kerrisk (man-pages) @ 2014-01-02 1:46 UTC (permalink / raw)
To: Mike Frysinger, noname-CuI0ZDT4mYnsrOwW+9ziJQ
Cc: mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w,
linux-man-u79uwXL29TY76Z2rM5mHXA
On 01/01/14 05:19, Mike Frysinger wrote:
> On Tuesday 31 December 2013 07:42:09 noname-CuI0ZDT4mYnsrOwW+9ziJQ@public.gmane.org wrote:
>> dlopen C code example contains following comment:
>>
>> /* Writing: cosine = (double (*)(double)) dlsym(handle, "cos");
>> ... */
>>
>> "Writing:" should be replaced with "Warning:".
>
> both are correct
>
> however, i wonder if the comment should be inverted. the latest POSIX spec
> requires that the natural cast work.
> http://pubs.opengroup.org/onlinepubs/9699919799/functions/dlsym.html#tag_16_96_07
>
> Linux man pages document the normal Linux environment, and that means POSIX,
> not strict ISO C.
Thanks for your comments Mike. It's been at the back of my mind for a while now
to do something about this. I applied the patch below. Look okay to you?
Cheers,
Michael
diff --git a/man3/dlopen.3 b/man3/dlopen.3
index dd54120..47ca55f 100644
--- a/man3/dlopen.3
+++ b/man3/dlopen.3
@@ -466,15 +466,22 @@ main(int argc, char **argv)
dlerror(); /* Clear any existing error */
- /* Writing: cosine = (double (*)(double)) dlsym(handle, "cos");
- would seem more natural, but the C99 standard leaves
- casting from "void *" to a function pointer undefined.
- The assignment used below is the POSIX.1\-2003 (Technical
- Corrigendum 1) workaround; see the Rationale for the
- POSIX specification of dlsym(). */
+ cosine = (double (*)(double)) dlsym(handle, "cos");
- *(void **) (&cosine) = dlsym(handle, "cos");
-.\" But in fact "gcc -O2 -Wall" will complain about the preceding cast.
+ /* According to the C99 standard, casting 'void *' to a function pointer
+ as shown above is forbidden. POSIX.1-2003 and POSIX.2008 followed
+ C99's requirement, and proposed the following workaround:
+
+ *(void **) (&cosine) = dlsym(handle, "cos");
+
+ This (clumsy) cast conforms with C99 and will avoid any compiler
+ warnings.
+
+ The 2013 Technical Corrigendum to POSIX.1-2008 (a.k.a. POSIX.1-2013)
+ improved matters by requiring that conforming implementations support
+ casting 'void *' to a function pointer. Nevertheless, some compilers
+ (e.g., gcc with the '-pedantic' option) may complain about the cast
+ used in this program. */
--
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: "Writing" instead of "Warning" in dlopen(3) manpage
[not found] ` <52C4C513.7020509-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2014-01-02 4:06 ` Mike Frysinger
[not found] ` <201401012306.40108.vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
0 siblings, 1 reply; 9+ messages in thread
From: Mike Frysinger @ 2014-01-02 4:06 UTC (permalink / raw)
To: Michael Kerrisk (man-pages)
Cc: noname-CuI0ZDT4mYnsrOwW+9ziJQ, linux-man-u79uwXL29TY76Z2rM5mHXA
[-- Attachment #1: Type: Text/Plain, Size: 2127 bytes --]
On Wednesday 01 January 2014 20:46:59 Michael Kerrisk (man-pages) wrote:
> --- a/man3/dlopen.3
> +++ b/man3/dlopen.3
>
> /* According to the C99 standard, casting 'void *' to a function pointer
> as shown above is forbidden. POSIX.1-2003 and POSIX.2008 followed
> C99's requirement, and proposed the following workaround:
i don't want to be pedantic, buuuuut:
- you want to say "ISO C" rather than "C99"
- the spec says that it is "undefined behavior" rather than "forbidden"
i wonder about deleting the "followed C99's requirement" part. they aren't
really following the requirement since (at least 2008) says that it must be
supported.
the "POSIX.2008" probably should be "POSIX.1-2008". or maybe just change it
to "POSIX.1" ?
> + *(void **) (&cosine) = dlsym(handle, "cos");
> +
> + This (clumsy) cast conforms with C99 and will avoid any compiler
> + warnings.
might it be worth suggesting a union too ?
double (*cosine)(double);
union {
void *vptr;
double (*ptr)(double);
} cast;
cast.vptr = dlsym(...);
cosine = cast.double;
i think this also avoids aliasing warnings and works nicely in C++ ? or i
could be making this up entirely :).
> The 2013 Technical Corrigendum to POSIX.1-2008 (a.k.a. POSIX.1-2013)
> improved matters by requiring that conforming implementations support
> casting 'void *' to a function pointer.
how about adding a comment inside of the man page itself linking to the POSIX
pages ? making it visible to end users might be too much, but for people
maintaining the comments (i.e. you) would be good.
http://pubs.opengroup.org/onlinepubs/009695399/functions/dlsym.html#tag_03_112_08
http://pubs.opengroup.org/onlinepubs/9699919799/functions/dlsym.html#tag_16_96_07
> Nevertheless, some compilers
> (e.g., gcc with the '-pedantic' option) may complain about the cast
> used in this program. */
three things:
- i think the ISO C standard is required to at least emit a warning
- i was going to suggest the -pedantic thing :)
- seriously, you're using "e.g." after chastising me ? :D
-mike
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: "Writing" instead of "Warning" in dlopen(3) manpage
[not found] ` <201401012306.40108.vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
@ 2014-01-02 9:33 ` Michael Kerrisk (man-pages)
[not found] ` <CAKgNAkjYTw3_BGQKwVNyfs-rLmxgVMiH4hBy_gBm=9DpvSHnFA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
0 siblings, 1 reply; 9+ messages in thread
From: Michael Kerrisk (man-pages) @ 2014-01-02 9:33 UTC (permalink / raw)
To: Mike Frysinger; +Cc: noname, linux-man
Hi Mike,
Thanks for following up.
On Thu, Jan 2, 2014 at 5:06 PM, Mike Frysinger <vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org> wrote:
> On Wednesday 01 January 2014 20:46:59 Michael Kerrisk (man-pages) wrote:
>> --- a/man3/dlopen.3
>> +++ b/man3/dlopen.3
>>
>> /* According to the C99 standard, casting 'void *' to a function pointer
>> as shown above is forbidden. POSIX.1-2003 and POSIX.2008 followed
>> C99's requirement, and proposed the following workaround:
>
> i don't want to be pedantic, buuuuut:
> - you want to say "ISO C" rather than "C99"
Yes, good point. Fixed now.
> - the spec says that it is "undefined behavior" rather than "forbidden"
Likewise; fixed now.
> i wonder about deleting the "followed C99's requirement" part. they aren't
> really following the requirement since (at least 2008) says that it must be
> supported.
Yes, the language could be better. I changed it to "[they] accepted
this state of affairs"
> the "POSIX.2008" probably should be "POSIX.1-2008". or maybe just change it
> to "POSIX.1" ?
POSIX.1-2008.
>> + *(void **) (&cosine) = dlsym(handle, "cos");
>> +
>> + This (clumsy) cast conforms with C99 and will avoid any compiler
>> + warnings.
>
> might it be worth suggesting a union too ?
> double (*cosine)(double);
> union {
> void *vptr;
> double (*ptr)(double);
> } cast;
> cast.vptr = dlsym(...);
> cosine = cast.double;
I think I'll not worry about this.
> i think this also avoids aliasing warnings and works nicely in C++ ? or i
> could be making this up entirely :).
>
>> The 2013 Technical Corrigendum to POSIX.1-2008 (a.k.a. POSIX.1-2013)
>> improved matters by requiring that conforming implementations support
>> casting 'void *' to a function pointer.
>
> how about adding a comment inside of the man page itself linking to the POSIX
> pages ? making it visible to end users might be too much, but for people
> maintaining the comments (i.e. you) would be good.
> http://pubs.opengroup.org/onlinepubs/009695399/functions/dlsym.html#tag_03_112_08
> http://pubs.opengroup.org/onlinepubs/9699919799/functions/dlsym.html#tag_16_96_07
Yes, good idea.
>> Nevertheless, some compilers
>> (e.g., gcc with the '-pedantic' option) may complain about the cast
>> used in this program. */
>
> three things:
> - i think the ISO C standard is required to at least emit a warning
Yes, but it's not quite clear to me if the POSIX.1-2013 is meaning
that compilers should not issue a warning in this case. Maybe I'm
misunderstanding something, though.
> - i was going to suggest the -pedantic thing :)
> - seriously, you're using "e.g." after chastising me ? :D
I don't recall chastising you as such... But, in running text using
"e.g." and "i.e." often does not work well, I find (and most style
manuals agree). As I said, mostly the only place you'll find these
forms in the man pages is in parenthetical asides, as is done here.
Cheers,
Michael
--
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: "Writing" instead of "Warning" in dlopen(3) manpage
[not found] ` <CAKgNAkjYTw3_BGQKwVNyfs-rLmxgVMiH4hBy_gBm=9DpvSHnFA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2014-01-02 12:33 ` Mike Frysinger
[not found] ` <201401020733.11627.vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
0 siblings, 1 reply; 9+ messages in thread
From: Mike Frysinger @ 2014-01-02 12:33 UTC (permalink / raw)
To: mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w; +Cc: noname, linux-man
[-- Attachment #1: Type: Text/Plain, Size: 1262 bytes --]
On Thursday 02 January 2014 04:33:30 Michael Kerrisk (man-pages) wrote:
> On Thu, Jan 2, 2014 at 5:06 PM, Mike Frysinger <vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org> wrote:
> > On Wednesday 01 January 2014 20:46:59 Michael Kerrisk (man-pages) wrote:
> >> Nevertheless, some compilers
> >> (e.g., gcc with the '-pedantic' option) may complain about the cast
> >> used in this program. */
> >
> > three things:
> > - i think the ISO C standard is required to at least emit a warning
>
> Yes, but it's not quite clear to me if the POSIX.1-2013 is meaning
> that compilers should not issue a warning in this case. Maybe I'm
> misunderstanding something, though.
true. in this particular case, it's probably not worth being super pedantic
since we covered our bases earlier on.
overall question: should the new comment block live above or below the example
call ? it's currently below, but i kind of favor putting it before. i know
as the content flows, the current one makes a bit of sense (show the right
answer, and then as an aside, mention the portability issue), but the comment
is specifically covering this line, so putting it above the line it is
discussing is a bit more standard i think in the coding world.
-mike
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: "Writing" instead of "Warning" in dlopen(3) manpage
[not found] ` <201401020733.11627.vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
@ 2014-01-02 19:20 ` Michael Kerrisk (man-pages)
[not found] ` <CAKgNAkjeDs21b36mULBF6VFQeoKeVOEDnRj=7GPTmchci-xDzA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
0 siblings, 1 reply; 9+ messages in thread
From: Michael Kerrisk (man-pages) @ 2014-01-02 19:20 UTC (permalink / raw)
To: Mike Frysinger; +Cc: noname, linux-man
Hi Mike,
On Fri, Jan 3, 2014 at 1:33 AM, Mike Frysinger <vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org> wrote:
> On Thursday 02 January 2014 04:33:30 Michael Kerrisk (man-pages) wrote:
>> On Thu, Jan 2, 2014 at 5:06 PM, Mike Frysinger <vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org> wrote:
>> > On Wednesday 01 January 2014 20:46:59 Michael Kerrisk (man-pages) wrote:
>> >> Nevertheless, some compilers
>> >> (e.g., gcc with the '-pedantic' option) may complain about the cast
>> >> used in this program. */
>> >
>> > three things:
>> > - i think the ISO C standard is required to at least emit a warning
>>
>> Yes, but it's not quite clear to me if the POSIX.1-2013 is meaning
>> that compilers should not issue a warning in this case. Maybe I'm
>> misunderstanding something, though.
>
> true. in this particular case, it's probably not worth being super pedantic
> since we covered our bases earlier on.
>
> overall question: should the new comment block live above or below the example
> call ? it's currently below, but i kind of favor putting it before. i know
> as the content flows, the current one makes a bit of sense (show the right
> answer, and then as an aside, mention the portability issue), but the comment
> is specifically covering this line, so putting it above the line it is
> discussing is a bit more standard i think in the coding world.
I kind of prefer it as an aside, following the code, but I've now also
added some words to more explicitly indicate that the comment refers
to the code above it.
Cheers,
Michael
cosine = (double (*)(double)) dlsym(handle, "cos");
/* According to the ISO C standard, casting between function
pointers and 'void *', as done above, produces undefined results.
POSIX.1-2003 and POSIX.1-2008 accepted this state of affairs and
proposed the following workaround:
*(void **) (&cosine) = dlsym(handle, "cos");
This (clumsy) cast conforms with ISO C standard and will avoid
any compiler warnings.
The 2013 Technical Corrigendum to POSIX.1-2008 (a.k.a.
POSIX.1-2013) improved matters by requiring that conforming
implementations support casting 'void *' to a function pointer.
Nevertheless, some compilers (e.g., gcc with the '-pedantic'
option) may complain about the cast used in this program. */
--
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: "Writing" instead of "Warning" in dlopen(3) manpage
[not found] ` <CAKgNAkjeDs21b36mULBF6VFQeoKeVOEDnRj=7GPTmchci-xDzA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2014-01-02 19:45 ` Mike Frysinger
[not found] ` <201401021445.17586.vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
0 siblings, 1 reply; 9+ messages in thread
From: Mike Frysinger @ 2014-01-02 19:45 UTC (permalink / raw)
To: mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w; +Cc: noname, linux-man
[-- Attachment #1: Type: Text/Plain, Size: 1096 bytes --]
On Thursday 02 January 2014 14:20:50 Michael Kerrisk (man-pages) wrote:
> /* According to the ISO C standard, casting between function
> pointers and 'void *', as done above, produces undefined results.
> POSIX.1-2003 and POSIX.1-2008 accepted this state of affairs and
> proposed the following workaround:
>
> *(void **) (&cosine) = dlsym(handle, "cos");
>
> This (clumsy) cast conforms with ISO C standard and will avoid
> any compiler warnings.
"with the ISO C standard"
> The 2013 Technical Corrigendum to POSIX.1-2008 (a.k.a.
> POSIX.1-2013)
i thought you wanted to avoid "a.k.a." ? or does that not apply to
parenthetical asides too ?
should all these random preferences be added in man-pages(7) ? off the top of
my head:
- userspace vs user space vs user-space
- a.k.a. / e.g. / i.e. usage
- NUL usage (or lack thereof)
- HISTORY should be a .SS of NOTES
- wrapping based on periods/commas
- preference for 75 cols
some of these could even be checks added to scripts/ ...
-mike
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: "Writing" instead of "Warning" in dlopen(3) manpage
[not found] ` <201401021445.17586.vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
@ 2014-01-03 2:51 ` Michael Kerrisk (man-pages)
0 siblings, 0 replies; 9+ messages in thread
From: Michael Kerrisk (man-pages) @ 2014-01-03 2:51 UTC (permalink / raw)
To: Mike Frysinger; +Cc: noname, linux-man
On Fri, Jan 3, 2014 at 8:45 AM, Mike Frysinger <vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org> wrote:
> On Thursday 02 January 2014 14:20:50 Michael Kerrisk (man-pages) wrote:
>> /* According to the ISO C standard, casting between function
>> pointers and 'void *', as done above, produces undefined results.
>> POSIX.1-2003 and POSIX.1-2008 accepted this state of affairs and
>> proposed the following workaround:
>>
>> *(void **) (&cosine) = dlsym(handle, "cos");
>>
>> This (clumsy) cast conforms with ISO C standard and will avoid
>> any compiler warnings.
>
> "with the ISO C standard"
Thanks.
>> The 2013 Technical Corrigendum to POSIX.1-2008 (a.k.a.
>> POSIX.1-2013)
>
> i thought you wanted to avoid "a.k.a." ? or does that not apply to
> parenthetical asides too ?
>
> should all these random preferences be added in man-pages(7) ? off the top of
> my head:
> - userspace vs user space vs user-space
> - a.k.a. / e.g. / i.e. usage
> - NUL usage (or lack thereof)
> - HISTORY should be a .SS of NOTES
> - wrapping based on periods/commas
> - preference for 75 cols
It's one of those things that's been on my TODO list for an age. I've
made a start now, by creating a STYLE GUIDE section in man-page(7).
> some of these could even be checks added to scripts/ ...
Yes, one day...
Cheers,
Michael
--
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2014-01-03 2:51 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-31 12:42 "Writing" instead of "Warning" in dlopen(3) manpage noname-CuI0ZDT4mYnsrOwW+9ziJQ
2013-12-31 16:19 ` Mike Frysinger
[not found] ` <201312311119.55754.vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
2014-01-02 1:46 ` Michael Kerrisk (man-pages)
[not found] ` <52C4C513.7020509-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-01-02 4:06 ` Mike Frysinger
[not found] ` <201401012306.40108.vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
2014-01-02 9:33 ` Michael Kerrisk (man-pages)
[not found] ` <CAKgNAkjYTw3_BGQKwVNyfs-rLmxgVMiH4hBy_gBm=9DpvSHnFA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-01-02 12:33 ` Mike Frysinger
[not found] ` <201401020733.11627.vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
2014-01-02 19:20 ` Michael Kerrisk (man-pages)
[not found] ` <CAKgNAkjeDs21b36mULBF6VFQeoKeVOEDnRj=7GPTmchci-xDzA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-01-02 19:45 ` Mike Frysinger
[not found] ` <201401021445.17586.vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>
2014-01-03 2:51 ` Michael Kerrisk (man-pages)
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.