From 57d5d489a78644df8d5d5ed5572be1e0126e0b53 Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Thu, 26 Jul 2007 20:39:46 +0000 Subject: [PATCH] Merged revisions 77380 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r77380 | mmichelson | 2007-07-26 15:35:17 -0500 (Thu, 26 Jul 2007) | 7 lines 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/trunk@77381 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- Makefile | 2 +- main/logger.c | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index fe6211d260..697c18a259 100644 --- a/Makefile +++ b/Makefile @@ -193,7 +193,7 @@ ASTCFLAGS+=-pipe -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declar ASTCFLAGS+=-include $(ASTTOPDIR)/include/asterisk/autoconfig.h ifeq ($(AST_DEVMODE),yes) - ASTCFLAGS+=-Werror -Wunused -Wundef $(AST_DECLARATION_AFTER_STATEMENT) + ASTCFLAGS+=-Werror -Wunused -Wundef $(AST_DECLARATION_AFTER_STATEMENT) -DAST_DEVMODE endif ifneq ($(findstring BSD,$(OSARCH)),) diff --git a/main/logger.c b/main/logger.c index 9adb191abe..209da2167f 100644 --- a/main/logger.c +++ b/main/logger.c @@ -964,7 +964,11 @@ void ast_backtrace(void) if ((strings = backtrace_symbols(addresses, count))) { ast_debug(1, "Got %d backtrace record%c\n", count, count != 1 ? 's' : ' '); for (i=0; i < count ; i++) { - ast_debug(1, "#%d: [%08X] %s\n", i, (unsigned int)addresses[i], strings[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 {