All of lore.kernel.org
 help / color / mirror / Atom feed
* "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.