changeset 11791:20dfb1cf7571

Avoid link error on MacOS X 10.3 and 10.4.
author Bruno Haible <bruno@clisp.org>
date Fri, 07 Aug 2009 09:06:45 +0200
parents d97a315e2bca
children 3f075467f0f5
files ChangeLog lib/argp-ba.c lib/argp-pv.c
diffstat 3 files changed, 32 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2009-08-07  Bruno Haible  <bruno@clisp.org>
+
+	Avoid link error on MacOS X 10.3 and 10.4.
+	* lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
+	on non-ELF systems.
+	* lib/argp-pv.c (argp_program_version): Likewise.
+	Reported by Simon Josefsson.
+
 2009-08-07  Simon Josefsson  <simon@josefsson.org>
 
 	* tests/test-version-etc.sh: Use $EXEEXT.
--- a/lib/argp-ba.c
+++ b/lib/argp-ba.c
@@ -1,5 +1,5 @@
 /* Default definition for ARGP_PROGRAM_BUG_ADDRESS.
-   Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1999, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Miles Bader <miles@gnu.ai.mit.edu>.
 
@@ -21,4 +21,14 @@
    the ARGP_HELP_BUG_ADDR flag is set (as it is by various standard help
    messages), embedded in a sentence that says something like `Report bugs to
    ADDR.'.  */
-const char *argp_program_bug_address;
+const char *argp_program_bug_address
+/* This variable should be zero-initialized.  On most systems, putting it into
+   BSS is sufficient.  Not so on MacOS X 10.3 and 10.4, see
+   <http://lists.gnu.org/archive/html/bug-gnulib/2009-01/msg00329.html>
+   <http://lists.gnu.org/archive/html/bug-gnulib/2009-08/msg00096.html>.  */
+#if defined __ELF__
+  /* On ELF systems, variables in BSS behave well.  */
+#else
+  = (const char *) 0
+#endif
+  ;
--- a/lib/argp-pv.c
+++ b/lib/argp-pv.c
@@ -1,5 +1,5 @@
 /* Default definition for ARGP_PROGRAM_VERSION.
-   Copyright (C) 1996, 1997, 1999, 2006 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1999, 2006, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Miles Bader <miles@gnu.ai.mit.edu>.
 
@@ -20,4 +20,14 @@
    --version is added (unless the ARGP_NO_HELP flag is used), which will
    print this string followed by a newline and exit (unless the
    ARGP_NO_EXIT flag is used).  Overridden by ARGP_PROGRAM_VERSION_HOOK.  */
-const char *argp_program_version;
+const char *argp_program_version
+/* This variable should be zero-initialized.  On most systems, putting it into
+   BSS is sufficient.  Not so on MacOS X 10.3 and 10.4, see
+   <http://lists.gnu.org/archive/html/bug-gnulib/2009-01/msg00329.html>
+   <http://lists.gnu.org/archive/html/bug-gnulib/2009-08/msg00096.html>.  */
+#if defined __ELF__
+  /* On ELF systems, variables in BSS behave well.  */
+#else
+  = (const char *) 0
+#endif
+  ;