From: zwelch Date: Mon, 11 May 2009 03:35:25 +0000 (+0000) Subject: Add --enable-malloc-logging configure option and update log.c to match. X-Git-Tag: v0.2.0~803 X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=commitdiff_plain;h=6a8583ebc4af0f6622f6ab0c1fc063cb72425a5d;ds=sidebyside Add --enable-malloc-logging configure option and update log.c to match. git-svn-id: svn://svn.berlios.de/openocd/trunk@1703 b42882b7-edfa-0310-969c-e2dbd0fdcd60 --- diff --git a/configure.in b/configure.in index 4b1053f08f..8da7005d6d 100644 --- a/configure.in +++ b/configure.in @@ -250,6 +250,19 @@ if test $debug_usb_comms = yes; then fi +debug_malloc=no +AC_ARG_ENABLE(malloc_logging, + AS_HELP_STRING([--enable-malloc-logging], + [Include free space in logging messages (requires malloc.h).]), + [debug_malloc=$enableval], []) + +AC_MSG_CHECKING([whether to enable malloc free space logging]); +AC_MSG_RESULT($debug_malloc) +if test $debug_malloc = yes; then + AC_DEFINE([_DEBUG_FREE_SPACE_],[1], [Include malloc free space in logging]) +fi + + AC_ARG_ENABLE(parport, AS_HELP_STRING([--enable-parport], [Enable building the pc parallel port driver]), [build_parport=$enableval], [build_parport=no]) diff --git a/src/helper/log.c b/src/helper/log.c index c603c7e18c..b6bb3479ab 100644 --- a/src/helper/log.c +++ b/src/helper/log.c @@ -41,9 +41,12 @@ #include #include -#define PRINT_MEM() 0 -#if PRINT_MEM() +#ifdef _DEBUG_FREE_SPACE_ +#ifdef HAVE_MALLOC_H #include +#else +#error "malloc.h is required to use --enable-malloc-logging" +#endif #endif int debug_level = -1; @@ -99,16 +102,16 @@ static void log_puts(enum log_levels level, const char *file, int line, const ch { /* print with count and time information */ int t=(int)(timeval_ms()-start); -#if PRINT_MEM() +#ifdef _DEBUG_FREE_SPACE_ struct mallinfo info; info = mallinfo(); #endif fprintf(log_output, "%s%d %d %s:%d %s()" -#if PRINT_MEM() +#ifdef _DEBUG_FREE_SPACE_ " %d" #endif ": %s", log_strings[level+1], count, t, file, line, function, -#if PRINT_MEM() +#ifdef _DEBUG_FREE_SPACE_ info.fordblks, #endif string);