Skip to content
Snippets Groups Projects
Commit 6a8583eb authored by zwelch's avatar zwelch
Browse files

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
parent af7cdfd8
No related branches found
No related tags found
No related merge requests found
......@@ -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])
......
......@@ -41,9 +41,12 @@
#include <unistd.h>
#include <stdarg.h>
#define PRINT_MEM() 0
#if PRINT_MEM()
#ifdef _DEBUG_FREE_SPACE_
#ifdef HAVE_MALLOC_H
#include <malloc.h>
#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);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment