bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 2/2] Add missing argz_* functions from glibc


From: Eric Blake
Subject: Re: [PATCH 2/2] Add missing argz_* functions from glibc
Date: Fri, 6 Jun 2008 15:03:43 +0000 (UTC)
User-agent: Loom/3.14 (http://gmane.org/)

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 <address@hidden>
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 <address@hidden>
---
 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  <address@hidden>
 
+       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
address@hidden
+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.
+
address@hidden
+This function is broken on some platforms:
+Cygwin 1.5.24.
 @end itemize
 
 Portability problems not fixed by Gnulib:
 @itemize
address@hidden
-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
address@hidden
+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.
+
address@hidden
+This function is broken on some platforms:
+Cygwin 1.5.24.
 @end itemize
 
 Portability problems not fixed by Gnulib:
 @itemize
address@hidden
-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
address@hidden
+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.
+
address@hidden
+This function is broken on some platforms:
+Cygwin 1.5.24.
 @end itemize
 
 Portability problems not fixed by Gnulib:
 @itemize
address@hidden
-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
address@hidden
+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.
+
address@hidden
+This function is broken on some platforms:
+Cygwin 1.5.24.
 @end itemize
 
 Portability problems not fixed by Gnulib:
 @itemize
address@hidden
-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
address@hidden
+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.
+
address@hidden
+This function is broken on some platforms:
+Cygwin 1.5.24.
 @end itemize
 
 Portability problems not fixed by Gnulib:
 @itemize
address@hidden
-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
address@hidden
+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.
+
address@hidden
+This function is broken on some platforms:
+Cygwin 1.5.24.
 @end itemize
 
 Portability problems not fixed by Gnulib:
 @itemize
address@hidden
-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
address@hidden
+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.
+
address@hidden
+This function is broken on some platforms:
+Cygwin 1.5.24.
 @end itemize
 
 Portability problems not fixed by Gnulib:
 @itemize
address@hidden
-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
address@hidden
+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.
+
address@hidden
+This function is broken on some platforms:
+Cygwin 1.5.24.
 @end itemize
 
 Portability problems not fixed by Gnulib:
 @itemize
address@hidden
-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
address@hidden
+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.
+
address@hidden
+This function is broken on some platforms:
+Cygwin 1.5.24.
 @end itemize
 
 Portability problems not fixed by Gnulib:
 @itemize
address@hidden
-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
address@hidden
+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.
+
address@hidden
+This function is broken on some platforms:
+Cygwin 1.5.24.
 @end itemize
 
 Portability problems not fixed by Gnulib:
 @itemize
address@hidden
-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
address@hidden
+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.
+
address@hidden
+This function is broken on some platforms:
+Cygwin 1.5.24.
 @end itemize
 
 Portability problems not fixed by Gnulib:
 @itemize
address@hidden
-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








reply via email to

[Prev in Thread] Current Thread [Next in Thread]