From dbfdbbf4cc189a61e66fdbf2ad48692589447c9d Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Thu, 26 Jul 2007 20:35:17 +0000 Subject: [PATCH] Fixes to get ast_backtrace working properly. The AST_DEVMODE macro was never defined so the majority of ast_backtrace never attempted compilation. The makefile now defines AST_DEVMODE if configure was run with --enable-dev-mode. Also, changes were made to acccomodate 64 bit systems in ast_backtrace. Thanks to qwell, kpfleming, and Corydon76 for their roles in allowing me to get this committed git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@77380 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- Makefile | 2 +- main/logger.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index fb8466a35b..a5d8eae866 100644 --- a/Makefile +++ b/Makefile @@ -192,7 +192,7 @@ ASTCFLAGS+=-pipe -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declar ASTCFLAGS+=-include $(ASTTOPDIR)/include/asterisk/autoconfig.h ifeq ($(AST_DEVMODE),yes) - ASTCFLAGS+=-Werror -Wunused $(AST_DECLARATION_AFTER_STATEMENT) + ASTCFLAGS+=-Werror -Wunused $(AST_DECLARATION_AFTER_STATEMENT) -DAST_DEVMODE endif ifneq ($(findstring BSD,$(OSARCH)),) diff --git a/main/logger.c b/main/logger.c index 3f0e375832..50d8ca1ab2 100644 --- a/main/logger.c +++ b/main/logger.c @@ -830,7 +830,11 @@ void ast_backtrace(void) if ((strings = backtrace_symbols(addresses, count))) { ast_log(LOG_DEBUG, "Got %d backtrace record%c\n", count, count != 1 ? 's' : ' '); for (i=0; i < count ; i++) { +#if __WORDSIZE == 32 ast_log(LOG_DEBUG, "#%d: [%08X] %s\n", i, (unsigned int)addresses[i], strings[i]); +#elif __WORDSIZE == 64 + ast_log(LOG_DEBUG, "#%d: [%016lX] %s\n", i, (unsigned long)addresses[i], strings[i]); +#endif } free(strings); } else {