Merged revisions 77380 via svnmerge from
authorMark Michelson <mmichelson@digium.com>
Thu, 26 Jul 2007 20:39:46 +0000 (20:39 +0000)
committerMark Michelson <mmichelson@digium.com>
Thu, 26 Jul 2007 20:39:46 +0000 (20:39 +0000)
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
main/logger.c

index fe6211d..697c18a 100644 (file)
--- 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+=-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)),)
 endif
 
 ifneq ($(findstring BSD,$(OSARCH)),)
index 9adb191..209da21 100644 (file)
@@ -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++) {
                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 {
                        }
                        free(strings);
                } else {