[svn-commits] tilghman: branch tilghman/better_backtrace_1.4 r298053 - in /team/tilghman/be...

SVN commits to the Digium repositories svn-commits at lists.digium.com
Fri Dec 10 10:51:02 CST 2010


Author: tilghman
Date: Fri Dec 10 10:50:58 2010
New Revision: 298053

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=298053
Log:
Disable by default.  Also, fix an issue found by Mark Michelson.

Modified:
    team/tilghman/better_backtrace_1.4/build_tools/cflags-devmode.xml
    team/tilghman/better_backtrace_1.4/main/Makefile
    team/tilghman/better_backtrace_1.4/main/logger.c

Modified: team/tilghman/better_backtrace_1.4/build_tools/cflags-devmode.xml
URL: http://svnview.digium.com/svn/asterisk/team/tilghman/better_backtrace_1.4/build_tools/cflags-devmode.xml?view=diff&rev=298053&r1=298052&r2=298053
==============================================================================
--- team/tilghman/better_backtrace_1.4/build_tools/cflags-devmode.xml (original)
+++ team/tilghman/better_backtrace_1.4/build_tools/cflags-devmode.xml Fri Dec 10 10:50:58 2010
@@ -14,4 +14,8 @@
 		</member>
 		<member name="TEST_FRAMEWORK" displayname="Enable Test Framework API">
 		</member>
+		<member name="BETTER_BACKTRACES" displayname="Use libbfd to generate better inline backtraces">
+			<depend>BFD</depend>
+			<defaultenabled>no</defaultenabled>
+		</member>
 	</category>

Modified: team/tilghman/better_backtrace_1.4/main/Makefile
URL: http://svnview.digium.com/svn/asterisk/team/tilghman/better_backtrace_1.4/main/Makefile?view=diff&rev=298053&r1=298052&r2=298053
==============================================================================
--- team/tilghman/better_backtrace_1.4/main/Makefile (original)
+++ team/tilghman/better_backtrace_1.4/main/Makefile Fri Dec 10 10:50:58 2010
@@ -50,7 +50,7 @@
   AST_LIBS+=$(EDITLINE_LIB) -lm
 endif
 
-ifneq ($(BFD_LIB),)
+ifneq ($(findstring BETTER_BACKTRACES,$(MENUSELECT_CFLAGS)),)
   AST_LIBS+=$(BFD_LIB)
 endif
 

Modified: team/tilghman/better_backtrace_1.4/main/logger.c
URL: http://svnview.digium.com/svn/asterisk/team/tilghman/better_backtrace_1.4/main/logger.c?view=diff&rev=298053&r1=298052&r2=298053
==============================================================================
--- team/tilghman/better_backtrace_1.4/main/logger.c (original)
+++ team/tilghman/better_backtrace_1.4/main/logger.c Fri Dec 10 10:50:58 2010
@@ -41,7 +41,7 @@
 #if ((defined(AST_DEVMODE)) && (defined(linux)))
 #  include <execinfo.h>
 #  define MAX_BACKTRACE_FRAMES 20
-#  if defined(HAVE_DLADDR) && defined(HAVE_BFD)
+#  if defined(HAVE_DLADDR) && defined(HAVE_BFD) && defined(BETTER_BACKTRACES)
 #    include <dlfcn.h>
 #    include <bfd.h>
 #  endif
@@ -836,7 +836,7 @@
 #  ifdef AST_DEVMODE
 	int stackcount = 0, stackfr;
 	void **addresses;
-#    if defined(HAVE_DLADDR) && defined(HAVE_BFD)
+#    if defined(HAVE_DLADDR) && defined(HAVE_BFD) && defined(BETTER_BACKTRACES)
 	bfd *bfdobj;           /* bfd.h */
 	Dl_info dli;           /* dlfcn.h */
 	long allocsize;
@@ -853,7 +853,7 @@
 
 	if ((addresses = ast_calloc(MAX_BACKTRACE_FRAMES, sizeof(*addresses)))) {
 		stackcount = backtrace(addresses, MAX_BACKTRACE_FRAMES);
-#    if defined(HAVE_DLADDR) && defined(HAVE_BFD)
+#    if defined(HAVE_DLADDR) && defined(HAVE_BFD) && defined(BETTER_BACKTRACES)
 		ast_log(LOG_DEBUG, "Got %d backtrace record%c\n", stackcount, stackcount != 1 ? 's' : ' ');
 		for (stackfr = 0; stackfr < stackcount; stackfr++) {
 			int found = 0, symbolcount;
@@ -967,21 +967,21 @@
 #      endif
 			}
 		}
-#    else /* !defined(HAVE_DLADDR) || !defined(HAVE_BFD) */
+#    else /* !defined(HAVE_DLADDR) || !defined(HAVE_BFD) || !defined(BETTER_BACKTRACES) */
 		if ((strings = backtrace_symbols(addresses, stackcount))) {
 			ast_log(LOG_DEBUG, "Got %d backtrace record%c\n", stackcount, stackcount != 1 ? 's' : ' ');
 			for (stackfr = 0; stackfr < stackcount ; stackfr++) {
 #      if __WORDSIZE == 32
-				ast_log(LOG_DEBUG, "#%d: [%08X] %s\n", i, (unsigned int)addresses[stackfr], strings[stackfr]);
+				ast_log(LOG_DEBUG, "#%d: [%08X] %s\n", stackfr, (unsigned int)addresses[stackfr], strings[stackfr]);
 #      elif __WORDSIZE == 64
-				ast_log(LOG_DEBUG, "#%d: [%016lX] %s\n", i, (unsigned long)addresses[stackfr], strings[stackfr]);
+				ast_log(LOG_DEBUG, "#%d: [%016lX] %s\n", stackfr, (unsigned long)addresses[stackfr], strings[stackfr]);
 #      endif
 			}
 			free(strings);
 		} else {
 			ast_log(LOG_DEBUG, "Could not allocate memory for backtrace\n");
 		}
-#    endif /* defined(HAVE_DLADDR) && defined(HAVE_BFD) */
+#    endif /* defined(HAVE_DLADDR) && defined(HAVE_BFD) && defined(BETTER_BACKTRACES) */
 		free(addresses);
 	}
 #  else /* !defined(AST_DEVMODE) */




More information about the svn-commits mailing list