patches/gcc/4.4.4/200-libiberty.h-asprintf.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon Feb 21 23:39:46 2011 +0100 (2011-02-21)
changeset 2312 8b9938edd3d8
parent 1948 d341be24dc68
permissions -rw-r--r--
libc/glibc: add fortify option

By default, recent versions of glibc and eglibc will build some
functions that take format strings (eg. printf, syslog...) with
run-time checks against some format string attacks. This is
called a fortified build.

Unfortunately, this fails somehow while building the instrumented
version of syslog, with some kind of circular dependency...

Disable fortified builds by default, and hide the enabling option
behind EXPERIMENTAL for daring users...

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
yann@1948
     1
diff -durN gcc-4.4.4.orig/include/libiberty.h gcc-4.4.4/include/libiberty.h
yann@1948
     2
--- gcc-4.4.4.orig/include/libiberty.h	2008-06-24 03:42:31.000000000 +0200
yann@1948
     3
+++ gcc-4.4.4/include/libiberty.h	2010-05-16 19:12:50.000000000 +0200
yann@1948
     4
@@ -595,8 +595,11 @@
yann@1948
     5
 /* Like sprintf but provides a pointer to malloc'd storage, which must
yann@1948
     6
    be freed by the caller.  */
yann@1948
     7
 
yann@1948
     8
+/* asprintf may be declared as a macro by glibc with __USE_FORTIFY_LEVEL.  */
yann@1948
     9
+#ifndef asprintf
yann@1948
    10
 extern int asprintf (char **, const char *, ...) ATTRIBUTE_PRINTF_2;
yann@1948
    11
 #endif
yann@1948
    12
+#endif
yann@1948
    13
 
yann@1948
    14
 #if !HAVE_DECL_VASPRINTF
yann@1948
    15
 /* Like vsprintf but provides a pointer to malloc'd storage, which