Jim Meyering <jim <at> meyering.net> writes: > > For glibc. On cygwin, it looks like all the argz_ functions were added at > > once, on 2002-06-14. But does this properly test for bugs in the argz_ > > implementation? For example, cygwin argz_add_sep failed to handle empty string > > arguments as recently as 2007-05-29. Libtool has already faced hurdles > > detecting cygwin brokenness in the subset of argz_ that libltdl uses; and now > > that we are expanding the set of functions, we should be sure that the .m4 file > > catches all of cygwin's previous bugs, and not just the ones tickled by libltdl. > > That sounds like a nice addition, for cygwin users. > Maybe it's enough just to check for just the latest or a few key bugs?
It turns out that the bugs tickled by libltdl (argz_insert memory corruption) were fixed Mar 07, and the remaining bugs (argz_add_sep handling of empty string) fixed in May 07. Based on cygwin release dates, that means 1.5.24 has both sets of bugs, and 1.5.25 (Nov 07) has neither. Therefore, the existing .m4 file got lucky and already has an adequate check for cygwin, even though it only tests the earlier subset of bug fixes. I'm committing this to clarify the documentation. >From 4a2b4052b869dec9c81a36bef52cbcec38e335a5 Mon Sep 17 00:00:00 2001 From: Eric Blake <[EMAIL PROTECTED]> Date: Fri, 6 Jun 2008 08:51:48 -0600 Subject: [PATCH] Tweak documentation to cover cygwin argz bugs. * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin argz bug fix; no code change needed since no cygwin releases occurred between the last fix and the bug being tested. * doc/glibc-functions/argz_add.texi (argz_add): Document the argz module and recently fixed cygwin bugs. * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise. * doc/glibc-functions/argz_append.texi (argz_append): Likewise. * doc/glibc-functions/argz_count.texi (argz_count): Likewise. * doc/glibc-functions/argz_create.texi (argz_create): Likewise. * doc/glibc-functions/argz_create_sep.texi (argz_create_sep): Likewise. * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise. * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise. * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise. * doc/glibc-functions/argz_next.texi (argz_next): Likewise. * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise. * doc/glibc-functions/argz_stringify.texi (argz_stringify): Likewise. Signed-off-by: Eric Blake <[EMAIL PROTECTED]> --- ChangeLog | 20 ++++++++++++++++++++ doc/glibc-functions/argz_add.texi | 13 +++++++++---- doc/glibc-functions/argz_add_sep.texi | 13 +++++++++---- doc/glibc-functions/argz_append.texi | 13 +++++++++---- doc/glibc-functions/argz_count.texi | 13 +++++++++---- doc/glibc-functions/argz_create.texi | 13 +++++++++---- doc/glibc-functions/argz_create_sep.texi | 13 +++++++++---- doc/glibc-functions/argz_delete.texi | 13 +++++++++---- doc/glibc-functions/argz_extract.texi | 13 +++++++++---- doc/glibc-functions/argz_insert.texi | 13 +++++++++---- doc/glibc-functions/argz_replace.texi | 13 +++++++++---- doc/glibc-functions/argz_stringify.texi | 13 +++++++++---- m4/argz.m4 | 4 ++-- 13 files changed, 121 insertions(+), 46 deletions(-) diff --git a/ChangeLog b/ChangeLog index f72c568..b73cf23 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,25 @@ 2008-06-06 Eric Blake <[EMAIL PROTECTED]> + Tweak documentation to cover cygwin argz bugs. + * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin + argz bug fix; no code change needed since no cygwin releases + occurred between the last fix and the bug being tested. + * doc/glibc-functions/argz_add.texi (argz_add): Document the argz + module and recently fixed cygwin bugs. + * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise. + * doc/glibc-functions/argz_append.texi (argz_append): Likewise. + * doc/glibc-functions/argz_count.texi (argz_count): Likewise. + * doc/glibc-functions/argz_create.texi (argz_create): Likewise. + * doc/glibc-functions/argz_create_sep.texi (argz_create_sep): + Likewise. + * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise. + * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise. + * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise. + * doc/glibc-functions/argz_next.texi (argz_next): Likewise. + * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise. + * doc/glibc-functions/argz_stringify.texi (argz_stringify): + Likewise. + Avoid gcc warning on cygwin. * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE && !ACL_NO_TRIVIAL]: Avoid unused variable. diff --git a/doc/glibc-functions/argz_add.texi b/doc/glibc- functions/argz_add.texi index 53268bb..3e59dc1 100644 --- a/doc/glibc-functions/argz_add.texi +++ b/doc/glibc-functions/argz_add.texi @@ -2,15 +2,20 @@ @subsection @code{argz_add} @findex argz_add -Gnulib module: --- +Gnulib module: argz Portability problems fixed by Gnulib: @itemize [EMAIL PROTECTED] +This function is missing on some platforms: +MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, +IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, Interix 3.5, BeOS. + [EMAIL PROTECTED] +This function is broken on some platforms: +Cygwin 1.5.24. @end itemize Portability problems not fixed by Gnulib: @itemize [EMAIL PROTECTED] -This function is missing on some platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/argz_add_sep.texi b/doc/glibc- functions/argz_add_sep.texi index ba61457..6875f17 100644 --- a/doc/glibc-functions/argz_add_sep.texi +++ b/doc/glibc-functions/argz_add_sep.texi @@ -2,15 +2,20 @@ @subsection @code{argz_add_sep} @findex argz_add_sep -Gnulib module: --- +Gnulib module: argz Portability problems fixed by Gnulib: @itemize [EMAIL PROTECTED] +This function is missing on some platforms: +MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, +IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, Interix 3.5, BeOS. + [EMAIL PROTECTED] +This function is broken on some platforms: +Cygwin 1.5.24. @end itemize Portability problems not fixed by Gnulib: @itemize [EMAIL PROTECTED] -This function is missing on some platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/argz_append.texi b/doc/glibc- functions/argz_append.texi index 9adcda2..ededbd5 100644 --- a/doc/glibc-functions/argz_append.texi +++ b/doc/glibc-functions/argz_append.texi @@ -2,15 +2,20 @@ @subsection @code{argz_append} @findex argz_append -Gnulib module: --- +Gnulib module: argz Portability problems fixed by Gnulib: @itemize [EMAIL PROTECTED] +This function is missing on some platforms: +MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, +IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, Interix 3.5, BeOS. + [EMAIL PROTECTED] +This function is broken on some platforms: +Cygwin 1.5.24. @end itemize Portability problems not fixed by Gnulib: @itemize [EMAIL PROTECTED] -This function is missing on some platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/argz_count.texi b/doc/glibc- functions/argz_count.texi index 86e9b15..95a8030 100644 --- a/doc/glibc-functions/argz_count.texi +++ b/doc/glibc-functions/argz_count.texi @@ -2,15 +2,20 @@ @subsection @code{argz_count} @findex argz_count -Gnulib module: --- +Gnulib module: argz Portability problems fixed by Gnulib: @itemize [EMAIL PROTECTED] +This function is missing on some platforms: +MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, +IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, Interix 3.5, BeOS. + [EMAIL PROTECTED] +This function is broken on some platforms: +Cygwin 1.5.24. @end itemize Portability problems not fixed by Gnulib: @itemize [EMAIL PROTECTED] -This function is missing on some platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/argz_create.texi b/doc/glibc- functions/argz_create.texi index 0c9c1eb..4fc1c6b 100644 --- a/doc/glibc-functions/argz_create.texi +++ b/doc/glibc-functions/argz_create.texi @@ -2,15 +2,20 @@ @subsection @code{argz_create} @findex argz_create -Gnulib module: --- +Gnulib module: argz Portability problems fixed by Gnulib: @itemize [EMAIL PROTECTED] +This function is missing on some platforms: +MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, +IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, Interix 3.5, BeOS. + [EMAIL PROTECTED] +This function is broken on some platforms: +Cygwin 1.5.24. @end itemize Portability problems not fixed by Gnulib: @itemize [EMAIL PROTECTED] -This function is missing on some platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/argz_create_sep.texi b/doc/glibc- functions/argz_create_sep.texi index caa1f5a..2bbf496 100644 --- a/doc/glibc-functions/argz_create_sep.texi +++ b/doc/glibc-functions/argz_create_sep.texi @@ -2,15 +2,20 @@ @subsection @code{argz_create_sep} @findex argz_create_sep -Gnulib module: --- +Gnulib module: argz Portability problems fixed by Gnulib: @itemize [EMAIL PROTECTED] +This function is missing on some platforms: +MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, +IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, Interix 3.5, BeOS. + [EMAIL PROTECTED] +This function is broken on some platforms: +Cygwin 1.5.24. @end itemize Portability problems not fixed by Gnulib: @itemize [EMAIL PROTECTED] -This function is missing on some platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/argz_delete.texi b/doc/glibc- functions/argz_delete.texi index 706f83a..ffd48d6 100644 --- a/doc/glibc-functions/argz_delete.texi +++ b/doc/glibc-functions/argz_delete.texi @@ -2,15 +2,20 @@ @subsection @code{argz_delete} @findex argz_delete -Gnulib module: --- +Gnulib module: argz Portability problems fixed by Gnulib: @itemize [EMAIL PROTECTED] +This function is missing on some platforms: +MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, +IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, Interix 3.5, BeOS. + [EMAIL PROTECTED] +This function is broken on some platforms: +Cygwin 1.5.24. @end itemize Portability problems not fixed by Gnulib: @itemize [EMAIL PROTECTED] -This function is missing on some platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/argz_extract.texi b/doc/glibc- functions/argz_extract.texi index 8f9ebda..b71615d 100644 --- a/doc/glibc-functions/argz_extract.texi +++ b/doc/glibc-functions/argz_extract.texi @@ -2,15 +2,20 @@ @subsection @code{argz_extract} @findex argz_extract -Gnulib module: --- +Gnulib module: argz Portability problems fixed by Gnulib: @itemize [EMAIL PROTECTED] +This function is missing on some platforms: +MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, +IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, Interix 3.5, BeOS. + [EMAIL PROTECTED] +This function is broken on some platforms: +Cygwin 1.5.24. @end itemize Portability problems not fixed by Gnulib: @itemize [EMAIL PROTECTED] -This function is missing on some platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/argz_insert.texi b/doc/glibc- functions/argz_insert.texi index 7d1dd5d..1c76e9c 100644 --- a/doc/glibc-functions/argz_insert.texi +++ b/doc/glibc-functions/argz_insert.texi @@ -2,15 +2,20 @@ @subsection @code{argz_insert} @findex argz_insert -Gnulib module: --- +Gnulib module: argz Portability problems fixed by Gnulib: @itemize [EMAIL PROTECTED] +This function is missing on some platforms: +MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, +IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, Interix 3.5, BeOS. + [EMAIL PROTECTED] +This function is broken on some platforms: +Cygwin 1.5.24. @end itemize Portability problems not fixed by Gnulib: @itemize [EMAIL PROTECTED] -This function is missing on some platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/argz_replace.texi b/doc/glibc- functions/argz_replace.texi index f2de3e5..95074d4 100644 --- a/doc/glibc-functions/argz_replace.texi +++ b/doc/glibc-functions/argz_replace.texi @@ -2,15 +2,20 @@ @subsection @code{argz_replace} @findex argz_replace -Gnulib module: --- +Gnulib module: argz Portability problems fixed by Gnulib: @itemize [EMAIL PROTECTED] +This function is missing on some platforms: +MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, +IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, Interix 3.5, BeOS. + [EMAIL PROTECTED] +This function is broken on some platforms: +Cygwin 1.5.24. @end itemize Portability problems not fixed by Gnulib: @itemize [EMAIL PROTECTED] -This function is missing on some platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, Interix 3.5, BeOS. @end itemize diff --git a/doc/glibc-functions/argz_stringify.texi b/doc/glibc- functions/argz_stringify.texi index 37cc7d9..bec1313 100644 --- a/doc/glibc-functions/argz_stringify.texi +++ b/doc/glibc-functions/argz_stringify.texi @@ -2,15 +2,20 @@ @subsection @code{argz_stringify} @findex argz_stringify -Gnulib module: --- +Gnulib module: argz Portability problems fixed by Gnulib: @itemize [EMAIL PROTECTED] +This function is missing on some platforms: +MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, +IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, Interix 3.5, BeOS. + [EMAIL PROTECTED] +This function is broken on some platforms: +Cygwin 1.5.24. @end itemize Portability problems not fixed by Gnulib: @itemize [EMAIL PROTECTED] -This function is missing on some platforms: -MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, Interix 3.5, BeOS. @end itemize diff --git a/m4/argz.m4 b/m4/argz.m4 index bed025a..e9d790d 100644 --- a/m4/argz.m4 +++ b/m4/argz.m4 @@ -7,7 +7,7 @@ # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. -# serial 5 argz.m4 +# serial 6 argz.m4 AC_DEFUN([gl_FUNC_ARGZ], [gl_PREREQ_ARGZ @@ -35,7 +35,7 @@ dnl on "known bad" systems). Could use a runtime check, but dnl (a) detecting malloc issues is notoriously unreliable dnl (b) only known system that declares argz functions, dnl provides them, yet they are broken, is cygwin -dnl releases prior to 16-Mar-2007 (1.5.24 and earlier) +dnl releases prior to 5-May-2007 (1.5.24 and earlier) dnl So, it's more straightforward simply to special case dnl this for known bad systems. AS_IF([test -z "$ARGZ_H"], -- 1.5.5.1