patches/dmalloc/5.5.2/160-strdup_macro.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 569 147a29d2e81f
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@569
     1
--- dmalloc-5.5.2.orig/configure	2008-06-17 13:10:09.000000000 +0200
yann@569
     2
+++ dmalloc-5.5.2/configure	2008-06-17 13:11:25.000000000 +0200
yann@569
     3
@@ -4691,8 +4691,35 @@
yann@569
     4
 echo "$as_me:$LINENO: checking strdup macro" >&5
yann@569
     5
 echo $ECHO_N "checking strdup macro... $ECHO_C" >&6
yann@569
     6
 if test "$cross_compiling" = yes; then
yann@569
     7
-  ac_cv_strdup_macro=no
yann@569
     8
+  cat >conftest.$ac_ext <<_ACEOF
yann@569
     9
+/* confdefs.h */
yann@569
    10
+_ACEOF
yann@569
    11
+cat confdefs.h >>conftest.$ac_ext
yann@569
    12
+cat >>conftest.$ac_ext <<_ACEOF
yann@569
    13
+/* end confdefs.h.  */
yann@569
    14
+
yann@569
    15
+#if HAVE_STDLIB_H
yann@569
    16
+#  include <string.h>
yann@569
    17
+#endif
yann@569
    18
+
yann@569
    19
+#ifndef strdup
yann@569
    20
+       choke me
yann@569
    21
+#endif
yann@569
    22
 
yann@569
    23
+main() { exit(0); }
yann@569
    24
+
yann@569
    25
+_ACEOF
yann@569
    26
+rm -f conftest.o conftest.obj
yann@569
    27
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
yann@569
    28
+  (eval $ac_compile) 2>&5
yann@569
    29
+  ac_status=$?
yann@569
    30
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
yann@569
    31
+  (exit $ac_status); }; then
yann@569
    32
+  ac_cv_strdup_macro=yes
yann@569
    33
+else
yann@569
    34
+  ac_cv_strdup_macro=no
yann@569
    35
+fi
yann@569
    36
+  
yann@569
    37
 else
yann@569
    38
   cat >conftest.$ac_ext <<_ACEOF
yann@569
    39
 /* confdefs.h.  */