blob: 4b9a45db687fd3ed5505978e3bf15533a90e7720 [file] [log] [blame] [edit]
From acbaee34bcb1881db97969dd2c411446f32ca4cc Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Sat, 25 Oct 2014 19:45:33 +0200
Subject: [PATCH 3/5] Fix debug mode build with uClibc
When --enable-debug is passed, liblog4c-localtime wants to use
<mcheck.h>. It takes the precaution of testing if __GLIBC__ is
defined. But unfortunately, the uClibc C library pretends to be
compatible with glibc by defining __GLIBC__, but it doesn't provide
mcheck.h.
To better support this situation, we add an AC_CHECK_HEADERS() check
on mcheck.h, and then use HAVE_MCHECK_H were appropriate.
Submitted upstream: https://github.com/rcmadruga/log4c-localtime/pull/1
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
configure.in | 2 +-
src/log4c/init.c | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/configure.in b/configure.in
index 612ccbe..dbf11e9 100644
--- a/configure.in
+++ b/configure.in
@@ -115,7 +115,7 @@ AM_CONDITIONAL(TEST, test x$enable_test = xyes)
AC_HEADER_STDC
AC_CHECK_HEADERS([fcntl.h inttypes.h langinfo.h limits.h stddef.h stdint.h \
stdlib.h string.h sys/time.h syslog.h unistd.h stdarg.h varargs.h getopt.h \
-pthread.h])
+pthread.h mcheck.h])
# Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
diff --git a/src/log4c/init.c b/src/log4c/init.c
index 7dd9eb4..4b88210 100644
--- a/src/log4c/init.c
+++ b/src/log4c/init.c
@@ -35,7 +35,7 @@ static const char version[] = "$Id$";
#include <layout_type_basic_r.h>
#include <layout_type_dated_r.h>
-#if defined(__LOG4C_DEBUG__) && defined(__GLIBC__)
+#if defined(__LOG4C_DEBUG__) && defined(HAVE_MCHECK_H)
#include <mcheck.h>
#endif
@@ -100,7 +100,7 @@ extern int log4c_init(void)
sd_debug("log4c_init[");
/* activate GLIBC allocation debugging */
-#if defined(__LOG4C_DEBUG__) && defined(__GLIBC__)
+#if defined(__LOG4C_DEBUG__) && defined(HAVE_MCHECK_H)
mtrace();
#endif
@@ -280,7 +280,7 @@ extern int log4c_fini(void)
log4c_dump_all_instances(stderr);
}
#endif
-#if defined(__LOG4C_DEBUG__) && defined(__GLIBC__)
+#if defined(__LOG4C_DEBUG__) && defined(HAVE_MCHECK_H)
muntrace();
#endif
--
2.0.0