# HG changeset patch # User Bruno Haible # Date 1249628805 -7200 # Node ID 20dfb1cf7571e3ea2f93f8d49e15404a026998f5 # Parent d97a315e2bca6848a78d2857a5b69aa21a5c00a1 Avoid link error on MacOS X 10.3 and 10.4. diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2009-08-07 Bruno Haible + + 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 * tests/test-version-etc.sh: Use $EXEEXT. diff --git a/lib/argp-ba.c b/lib/argp-ba.c --- 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 . @@ -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 + + . */ +#if defined __ELF__ + /* On ELF systems, variables in BSS behave well. */ +#else + = (const char *) 0 +#endif + ; diff --git a/lib/argp-pv.c b/lib/argp-pv.c --- 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 . @@ -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 + + . */ +#if defined __ELF__ + /* On ELF systems, variables in BSS behave well. */ +#else + = (const char *) 0 +#endif + ;