Browse Source

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
tags/v0.2.0
zwelch 15 years ago
parent
commit
6a8583ebc4
2 changed files with 21 additions and 5 deletions
  1. +13
    -0
      configure.in
  2. +8
    -5
      src/helper/log.c

+ 13
- 0
configure.in View File

@@ -250,6 +250,19 @@ if test $debug_usb_comms = yes; then
fi 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, AC_ARG_ENABLE(parport,
AS_HELP_STRING([--enable-parport], [Enable building the pc parallel port driver]), AS_HELP_STRING([--enable-parport], [Enable building the pc parallel port driver]),
[build_parport=$enableval], [build_parport=no]) [build_parport=$enableval], [build_parport=no])


+ 8
- 5
src/helper/log.c View File

@@ -41,9 +41,12 @@
#include <unistd.h> #include <unistd.h>
#include <stdarg.h> #include <stdarg.h>


#define PRINT_MEM() 0
#if PRINT_MEM()
#ifdef _DEBUG_FREE_SPACE_
#ifdef HAVE_MALLOC_H
#include <malloc.h> #include <malloc.h>
#else
#error "malloc.h is required to use --enable-malloc-logging"
#endif
#endif #endif


int debug_level = -1; 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 */ /* print with count and time information */
int t=(int)(timeval_ms()-start); int t=(int)(timeval_ms()-start);
#if PRINT_MEM()
#ifdef _DEBUG_FREE_SPACE_
struct mallinfo info; struct mallinfo info;
info = mallinfo(); info = mallinfo();
#endif #endif
fprintf(log_output, "%s%d %d %s:%d %s()" fprintf(log_output, "%s%d %d %s:%d %s()"
#if PRINT_MEM()
#ifdef _DEBUG_FREE_SPACE_
" %d" " %d"
#endif #endif
": %s", log_strings[level+1], count, t, file, line, function, ": %s", log_strings[level+1], count, t, file, line, function,
#if PRINT_MEM()
#ifdef _DEBUG_FREE_SPACE_
info.fordblks, info.fordblks,
#endif #endif
string); string);


Loading…
Cancel
Save