patches/dmalloc/5.5.2/160-strdup_macro.patch
author Zoltan Devai <zdevai@gmail.com>
Wed Oct 28 12:03:38 2009 +0100 (2009-10-28)
changeset 1602 1ba79f2126df
parent 569 147a29d2e81f
permissions -rw-r--r--
libc/uClibc: fix building on system with recent glibc

While trying to build a toolchain with ct-ng 1.5.0,
arm-unknown-linux-uclibcgnueabi target,
I get the following error:

[INFO ] Installing C library headers
[EXTRA] Copying sources to build dir
[EXTRA] Applying configuration
[EXTRA] Building headers
[EXTRA] Installing headers
[ERROR] extra/scripts/unifdef.c:209: error: conflicting types for 'getline'
[ERROR] make[2]: *** [extra/scripts/unifdef] Error 1
[ERROR] Build failed in step 'Installing C library headers'

The following patch solves the problem.
(It's a backport of this uClibc commit:
http://git.uclibc.org/uClibc/commit/?id=49e81cada73616864b9b31df0aeb6961c30f5a6e
)

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