r6122 - in glibc-package/branches/eglibc-2.19/debian: . patches patches/any
Author: aurel32
Date: 2014-06-04 18:23:36 +0000 (Wed, 04 Jun 2014)
New Revision: 6122
Added:
glibc-package/branches/eglibc-2.19/debian/patches/any/submitted-argp-attribute.diff
Modified:
glibc-package/branches/eglibc-2.19/debian/changelog
glibc-package/branches/eglibc-2.19/debian/patches/series
Log:
debian/patches/any/submitted-argp-attribute.diff: new patch from Ond?\197?\153ej
B?\195?\173lka to fix string functions with FORTIFY_SOURCE=2 when <argp.h> is
included before <string.h>. Closes: #647084.
Modified: glibc-package/branches/eglibc-2.19/debian/changelog
===================================================================
--- glibc-package/branches/eglibc-2.19/debian/changelog 2014-06-04 18:20:38 UTC (rev 6121)
+++ glibc-package/branches/eglibc-2.19/debian/changelog 2014-06-04 18:23:36 UTC (rev 6122)
@@ -8,6 +8,9 @@
* Finish debconf translation update from Esko Arajärvi. Closes: #750124.
* debian/patches/git-updates.diff: update from the 2.19 branch:
- fixes pthread_spin_lock on sparc/sparc64. Closes: #749087.
+ * debian/patches/any/submitted-argp-attribute.diff: new patch from Ondřej
+ Bílka to fix string functions with FORTIFY_SOURCE=2 when <argp.h> is
+ included before <string.h>. Closes: #647084.
[ Samuel Thibault ]
* hurd-i386/unsubmitted-pthread_posix-option.diff: Split patches into...
Added: glibc-package/branches/eglibc-2.19/debian/patches/any/submitted-argp-attribute.diff
===================================================================
--- glibc-package/branches/eglibc-2.19/debian/patches/any/submitted-argp-attribute.diff (rev 0)
+++ glibc-package/branches/eglibc-2.19/debian/patches/any/submitted-argp-attribute.diff 2014-06-04 18:23:36 UTC (rev 6122)
@@ -0,0 +1,111 @@
+2014-06-03 Ondřej Bílka <neleai@seznam.cz>
+
+ * argp/argp-fmtstream.h (_GL_ATTRIBUTE_FORMAT): Define.
+ (argp_error, argp_failure): Use _GL_ATTRIBUTE_FORMAT.
+ * argp/argp.h (__argp_fmtstream_printf): Likewise.
+
+diff --git a/argp/argp-fmtstream.h b/argp/argp-fmtstream.h
+index 1ed2834..fc07d91 100644
+--- a/argp/argp-fmtstream.h
++++ b/argp/argp-fmtstream.h
+@@ -29,17 +29,16 @@
+ #include <string.h>
+ #include <unistd.h>
+
+-#ifndef __attribute__
+-/* This feature is available in gcc versions 2.5 and later. */
+-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__
+-# define __attribute__(Spec) /* empty */
+-# endif
+-/* The __-protected variants of `format' and `printf' attributes
+- are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */
+-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7) || __STRICT_ANSI__
+-# define __format__ format
+-# define __printf__ printf
+-# endif
++/* The __attribute__ feature is available in gcc versions 2.5 and later.
++ The __-protected variants of the attributes 'format' and 'printf' are
++ accepted by gcc versions 2.6.4 (effectively 2.7) and later.
++ We enable _GL_ATTRIBUTE_FORMAT only if these are supported too, because
++ gnulib and libintl do '#define printf __printf__' when they override
++ the 'printf' function. */
++#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
++# define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec))
++#else
++# define _GL_ATTRIBUTE_FORMAT(spec) /* empty */
+ #endif
+
+ #if defined (__GNU_LIBRARY__) && defined (HAVE_LINEWRAP_H)
+@@ -130,10 +127,10 @@ extern void argp_fmtstream_free (argp_fmtstream_t __fs);
+
+ extern ssize_t __argp_fmtstream_printf (argp_fmtstream_t __fs,
+ const char *__fmt, ...)
+- __attribute__ ((__format__ (printf, 2, 3)));
++ _GL_ATTRIBUTE_FORMAT ((printf, 2, 3));
+ extern ssize_t argp_fmtstream_printf (argp_fmtstream_t __fs,
+ const char *__fmt, ...)
+- __attribute__ ((__format__ (printf, 2, 3)));
++ _GL_ATTRIBUTE_FORMAT ((printf, 2, 3));
+
+ extern int __argp_fmtstream_putc (argp_fmtstream_t __fs, int __ch);
+ extern int argp_fmtstream_putc (argp_fmtstream_t __fs, int __ch);
+diff --git a/argp/argp.h b/argp/argp.h
+index 0868228..6a1cc1b 100644
+--- a/argp/argp.h
++++ b/argp/argp.h
+@@ -35,17 +35,16 @@
+ # define __NTH(fct) fct __THROW
+ #endif
+
+-#ifndef __attribute__
+-/* This feature is available in gcc versions 2.5 and later. */
+-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__
+-# define __attribute__(Spec) /* empty */
+-# endif
+-/* The __-protected variants of `format' and `printf' attributes
+- are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */
+-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7) || __STRICT_ANSI__
+-# define __format__ format
+-# define __printf__ printf
+-# endif
++/* The __attribute__ feature is available in gcc versions 2.5 and later.
++ The __-protected variants of the attributes 'format' and 'printf' are
++ accepted by gcc versions 2.6.4 (effectively 2.7) and later.
++ We enable _GL_ATTRIBUTE_FORMAT only if these are supported too, because
++ gnulib and libintl do '#define printf __printf__' when they override
++ the 'printf' function. */
++#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
++# define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec))
++#else
++# define _GL_ATTRIBUTE_FORMAT(spec) /* empty */
+ #endif
+
+ /* GCC 2.95 and later have "__restrict"; C99 compilers have
+@@ -503,10 +500,10 @@ extern void __argp_usage (const struct argp_state *__state);
+ message, then exit (1). */
+ extern void argp_error (const struct argp_state *__restrict __state,
+ const char *__restrict __fmt, ...)
+- __attribute__ ((__format__ (__printf__, 2, 3)));
++ _GL_ATTRIBUTE_FORMAT ((__printf__, 2, 3));
+ extern void __argp_error (const struct argp_state *__restrict __state,
+ const char *__restrict __fmt, ...)
+- __attribute__ ((__format__ (__printf__, 2, 3)));
++ _GL_ATTRIBUTE_FORMAT ((__printf__, 2, 3));
+
+ /* Similar to the standard gnu error-reporting function error(), but will
+ respect the ARGP_NO_EXIT and ARGP_NO_ERRS flags in STATE, and will print
+@@ -519,11 +516,11 @@ extern void __argp_error (const struct argp_state *__restrict __state,
+ extern void argp_failure (const struct argp_state *__restrict __state,
+ int __status, int __errnum,
+ const char *__restrict __fmt, ...)
+- __attribute__ ((__format__ (__printf__, 4, 5)));
++ _GL_ATTRIBUTE_FORMAT ((__printf__, 4, 5));
+ extern void __argp_failure (const struct argp_state *__restrict __state,
+ int __status, int __errnum,
+ const char *__restrict __fmt, ...)
+- __attribute__ ((__format__ (__printf__, 4, 5)));
++ _GL_ATTRIBUTE_FORMAT ((__printf__, 4, 5));
+
+ /* Returns true if the option OPT is a valid short option. */
+ extern int _option_is_short (const struct argp_option *__opt) __THROW;
+
Modified: glibc-package/branches/eglibc-2.19/debian/patches/series
===================================================================
--- glibc-package/branches/eglibc-2.19/debian/patches/series 2014-06-04 18:20:38 UTC (rev 6121)
+++ glibc-package/branches/eglibc-2.19/debian/patches/series 2014-06-04 18:23:36 UTC (rev 6122)
@@ -243,3 +243,4 @@
any/submitted-nl_langinfo-static.diff
any/cvs-strtod.diff
any/cvs-resolv-reuse-fd.diff
+any/submitted-argp-attribute.diff
Reply to: