You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by ge...@apache.org on 2010/03/16 01:05:46 UTC
svn commit: r923514 - in /incubator/trafficserver/traffic/trunk: ./
libinktomi++/ proxy/ proxy/mgmt2/ proxy/mgmt2/api2/remote/ proxy/mgmt2/cli/
proxy/mgmt2/cli2/ proxy/mgmt2/cop/ proxy/mgmt2/tools/ rc/
Author: georgep
Date: Tue Mar 16 00:05:46 2010
New Revision: 923514
URL: http://svn.apache.org/viewvc?rev=923514&view=rev
Log:
TS-244,TS-127: Add backtrace() support for FreeBSD and OSX.
Tested: FreeBSD72,OSX(10.5),Ubuntu904
Modified:
incubator/trafficserver/traffic/trunk/configure.ac
incubator/trafficserver/traffic/trunk/libinktomi++/Makefile.am
incubator/trafficserver/traffic/trunk/libinktomi++/ink_error.cc
incubator/trafficserver/traffic/trunk/libinktomi++/ink_resource.cc
incubator/trafficserver/traffic/trunk/libinktomi++/ink_stack_trace.cc
incubator/trafficserver/traffic/trunk/proxy/Makefile.am
incubator/trafficserver/traffic/trunk/proxy/mgmt2/Makefile.am
incubator/trafficserver/traffic/trunk/proxy/mgmt2/api2/remote/Makefile.am
incubator/trafficserver/traffic/trunk/proxy/mgmt2/cli/Makefile.am
incubator/trafficserver/traffic/trunk/proxy/mgmt2/cli2/Makefile.am
incubator/trafficserver/traffic/trunk/proxy/mgmt2/cop/Makefile.am
incubator/trafficserver/traffic/trunk/proxy/mgmt2/tools/Makefile.am
incubator/trafficserver/traffic/trunk/rc/Makefile.am
Modified: incubator/trafficserver/traffic/trunk/configure.ac
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/configure.ac?rev=923514&r1=923513&r2=923514&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/configure.ac (original)
+++ incubator/trafficserver/traffic/trunk/configure.ac Tue Mar 16 00:05:46 2010
@@ -682,6 +682,21 @@ AC_CHECK_LIB([pcre], [pcre_exec],
[AC_MSG_FAILURE([check for pcre failed. Have you installed pcre-devel?])],
)
+# Check for backtrace() support
+AC_CHECK_HEADERS([execinfo.h], [have_backtrace=yes],[])
+if test "x${have_backtrace}" = "xyes"; then
+ # FreeBSD requires '/usr/ports/devel/libexecinfo' for gdb style backtrace() support
+ AC_CHECK_LIB([execinfo], [backtrace], [have_backtrace_lib=yes
+ AC_SUBST([LIBEXECINFO],["-lexecinfo"])])
+ if test "x${have_backtrace_lib}" = "xyes"; then
+ AC_MSG_NOTICE([Using backtrace library '-lexecinfo'])
+ fi
+ AC_DEFINE(HAVE_BACKTRACE, 1, [Define if you have backtrace()])
+else
+ AC_MSG_WARN([No backtrace() support found])
+fi
+AC_SUBST(HAVE_BACKTRACE)
+
if test "x$enable_libev" = "xyes"; then
AC_DEFINE([USE_LIBEV])
have_good_poller=1
Modified: incubator/trafficserver/traffic/trunk/libinktomi++/Makefile.am
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/libinktomi%2B%2B/Makefile.am?rev=923514&r1=923513&r2=923514&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/libinktomi++/Makefile.am (original)
+++ incubator/trafficserver/traffic/trunk/libinktomi++/Makefile.am Tue Mar 16 00:05:46 2010
@@ -160,15 +160,15 @@ libinktomi___a_LIBADD = ParseRules.o @LI
mkdfa_SOURCES = mkdfa.c
test_atomic_SOURCES = test_atomic.cc
-test_atomic_LDADD = libinktomi++.a @LIBTHREAD@ @LIBTCL@ @LIBICONV@
+test_atomic_LDADD = libinktomi++.a @LIBTHREAD@ @LIBTCL@ @LIBICONV@ @LIBEXECINFO@
test_atomic_LDFLAGS = @EXTRA_CXX_LDFLAGS@
test_freelist_SOURCES = test_freelist.cc
-test_freelist_LDADD = libinktomi++.a @LIBTHREAD@ @LIBTCL@ @LIBICONV@
+test_freelist_LDADD = libinktomi++.a @LIBTHREAD@ @LIBTCL@ @LIBICONV@ @LIBEXECINFO@
test_freelist_LDFLAGS = @EXTRA_CXX_LDFLAGS@
test_arena_SOURCES = test_arena.cc
-test_arena_LDADD = libinktomi++.a @LIBTHREAD@ @LIBTCL@ @LIBICONV@
+test_arena_LDADD = libinktomi++.a @LIBTHREAD@ @LIBTCL@ @LIBICONV@ @LIBEXECINFO@
test_arena_LDFLAGS = @EXTRA_CXX_LDFLAGS@
test_List_SOURCES = test_List.cc
Modified: incubator/trafficserver/traffic/trunk/libinktomi++/ink_error.cc
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/libinktomi%2B%2B/ink_error.cc?rev=923514&r1=923513&r2=923514&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/libinktomi++/ink_error.cc (original)
+++ incubator/trafficserver/traffic/trunk/libinktomi++/ink_error.cc Tue Mar 16 00:05:46 2010
@@ -61,9 +61,7 @@ ink_fatal_va(int return_code, const char
message[sizeof(message) - 1] = 0;
fprintf(stderr, "%s\n", message);
syslog(LOG_CRIT, "%s", message);
-#if (HOST_OS == linux)
ink_stack_trace_dump();
-#endif
ink_die_die_die(return_code);
}
@@ -109,9 +107,7 @@ ink_pfatal(int return_code, const char *
fprintf(stderr, "%s\n", message);
syslog(LOG_CRIT, "%s", message);
va_end(ap);
-#if (HOST_OS == linux)
ink_stack_trace_dump();
-#endif
ink_die_die_die(return_code);
}
Modified: incubator/trafficserver/traffic/trunk/libinktomi++/ink_resource.cc
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/libinktomi%2B%2B/ink_resource.cc?rev=923514&r1=923513&r2=923514&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/libinktomi++/ink_resource.cc (original)
+++ incubator/trafficserver/traffic/trunk/libinktomi++/ink_resource.cc Tue Mar 16 00:05:46 2010
@@ -673,9 +673,7 @@ xdump_to_file(FILE * fp)
void
xdump()
{
-#if (HOST_OS == linux)
ink_stack_trace_dump();
-#endif
xdump_to_file(stderr);
}
Modified: incubator/trafficserver/traffic/trunk/libinktomi++/ink_stack_trace.cc
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/libinktomi%2B%2B/ink_stack_trace.cc?rev=923514&r1=923513&r2=923514&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/libinktomi++/ink_stack_trace.cc (original)
+++ incubator/trafficserver/traffic/trunk/libinktomi++/ink_stack_trace.cc Tue Mar 16 00:05:46 2010
@@ -29,7 +29,7 @@
#include <stdlib.h>
#include <unistd.h>
-#ifdef HAVE_EXECINFO_H
+#if defined(HAVE_EXECINFO_H) && defined(HAVE_BACKTRACE)
#include <execinfo.h> /* for backtrace_symbols, etc. */
#include <signal.h>
@@ -114,7 +114,7 @@ ink_stack_trace_dump(int sighandler_fram
backtrace_symbols_fd(stack, btl, 2);
}
-#else // linux check
+#else /* !(HAVE_EXECINFO_H && HAVE_BACKTRACE) */
void
ink_stack_trace_dump(int sighandler_frame)
@@ -123,4 +123,4 @@ ink_stack_trace_dump(int sighandler_fram
write(2, msg, sizeof(msg) - 1);
}
-#endif // linux check
+#endif /* !(HAVE_EXECINFO_H && HAVE_BACKTRACE) */
Modified: incubator/trafficserver/traffic/trunk/proxy/Makefile.am
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/proxy/Makefile.am?rev=923514&r1=923513&r2=923514&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/proxy/Makefile.am (original)
+++ incubator/trafficserver/traffic/trunk/proxy/Makefile.am Tue Mar 16 00:05:46 2010
@@ -173,7 +173,7 @@ traffic_server_LDADD = \
@LIBTHREAD@ @LIBSOCKET@ @LIBNSL@ @LIBRESOLV@ @LIBRT@ \
@LIBREGEX@ @LIBPCRE@ @LIBDB@ @LIBSQLITE3@ @LIBSSL@ @LIBTCL@ @LIBDL@ \
@LIBEXPAT@ @LIBDEMANGLE@ @LIBICONV@ \
- @LIBMLD@ @LIBEXC@ @LIBM@ @LIBEV@ @LIBPROFILER@
+ @LIBMLD@ @LIBEXC@ @LIBM@ @LIBEV@ @LIBPROFILER@ @LIBEXECINFO@
traffic_logcat_SOURCES = logcat.cc
traffic_logcat_LDFLAGS = @EXTRA_CXX_LDFLAGS@
@@ -231,7 +231,8 @@ traffic_logcat_LDADD = \
$(top_builddir)/libinktomi++/libinktomi++.a \
@LIBTHREAD@ @LIBSOCKET@ @LIBNSL@ @LIBRESOLV@ @LIBRT@ \
@LIBREGEX@ @LIBPCRE@ @LIBDB@ @LIBSQLITE3@ @LIBSSL@ @LIBTCL@ @LIBDL@ @LIBEV@ \
- @LIBEXPAT@ @LIBDEMANGLE@ @LIBMLD@ @LIBEXC@ @LIBICONV@ @LIBM@ @LIBPROFILER@
+ @LIBEXPAT@ @LIBDEMANGLE@ @LIBMLD@ @LIBEXC@ @LIBICONV@ @LIBM@ @LIBPROFILER@ \
+ @LIBEXECINFO@
traffic_logstats_SOURCES = logstats.cc
traffic_logstats_LDFLAGS = @EXTRA_CXX_LDFLAGS@
@@ -291,7 +292,8 @@ traffic_logstats_LDADD = \
$(top_builddir)/libinktomi++/libinktomi++.a \
@LIBTHREAD@ @LIBSOCKET@ @LIBNSL@ @LIBRESOLV@ @LIBRT@ \
@LIBREGEX@ @LIBPCRE@ @LIBDB@ @LIBSQLITE3@ @LIBSSL@ @LIBTCL@ @LIBDL@ @LIBEV@ \
- @LIBEXPAT@ @LIBDEMANGLE@ @LIBMLD@ @LIBEXC@ @LIBICONV@ @LIBM@ @LIBPROFILER@
+ @LIBEXPAT@ @LIBDEMANGLE@ @LIBMLD@ @LIBEXC@ @LIBICONV@ @LIBM@ @LIBPROFILER@ \
+ @LIBEXECINFO@
traffic_sac_SOURCES = sac.cc
traffic_sac_LDFLAGS = @EXTRA_CXX_LDFLAGS@
@@ -349,13 +351,14 @@ traffic_sac_LDADD = \
$(top_builddir)/libinktomi++/libinktomi++.a \
@LIBTHREAD@ @LIBSOCKET@ @LIBNSL@ @LIBRESOLV@ @LIBRT@ \
@LIBREGEX@ @LIBPCRE@ @LIBDB@ @LIBSQLITE3@ @LIBSSL@ @LIBTCL@ @LIBDL@ @LIBEV@ \
- @LIBEXPAT@ @LIBDEMANGLE@ @LIBMLD@ @LIBEXC@ @LIBICONV@ @LIBM@ @LIBPROFILER@
+ @LIBEXPAT@ @LIBDEMANGLE@ @LIBMLD@ @LIBEXC@ @LIBICONV@ @LIBM@ @LIBPROFILER@ \
+ @LIBEXECINFO@
traffic_cust_log_fmt_cnvrt_SOURCES = cust_log_fmt_cnvrt.cc
traffic_cust_log_fmt_cnvrt_LDADD = \
$(top_builddir)/libinktomi++/libinktomi++.a \
@LIBTHREAD@ \
- @LIBTCL@ @LIBRT@ @LIBICONV@ @LIBDL@
+ @LIBTCL@ @LIBRT@ @LIBICONV@ @LIBDL@ @LIBEXECINFO@
libClusterHashStandalone_a_SOURCES = \
ClusterHashStandalone.cc \
Modified: incubator/trafficserver/traffic/trunk/proxy/mgmt2/Makefile.am
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/proxy/mgmt2/Makefile.am?rev=923514&r1=923513&r2=923514&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/proxy/mgmt2/Makefile.am (original)
+++ incubator/trafficserver/traffic/trunk/proxy/mgmt2/Makefile.am Tue Mar 16 00:05:46 2010
@@ -106,7 +106,6 @@ traffic_manager_SOURCES = \
WebPluginList.h
traffic_manager_LDFLAGS = @EXTRA_CXX_LDFLAGS@ @EXPAT_LDFLAGS@
-
traffic_manager_LDADD = \
cluster/libcluster.a \
preparse/libpreparse.a \
@@ -123,4 +122,4 @@ traffic_manager_LDADD = \
@LIBEXPAT@ \
@LIBSSL@ @LIBDB@ @LIBSQLITE3@ @LIBREGEX@ @LIBTCL@ @LIBICONV@ \
@LIBM@ @LIBDL@ @LIBSOCKET@ @LIBNSL@ @LIBRESOLV@ \
- @LIBTHREAD@ @LIBRT@
+ @LIBTHREAD@ @LIBRT@ @LIBEXECINFO@
Modified: incubator/trafficserver/traffic/trunk/proxy/mgmt2/api2/remote/Makefile.am
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/proxy/mgmt2/api2/remote/Makefile.am?rev=923514&r1=923513&r2=923514&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/proxy/mgmt2/api2/remote/Makefile.am (original)
+++ incubator/trafficserver/traffic/trunk/proxy/mgmt2/api2/remote/Makefile.am Tue Mar 16 00:05:46 2010
@@ -60,4 +60,4 @@ traffic_api_cli_remote_LDADD = \
libmgmtapiremote.a \
$(top_builddir)/libinktomi++/libinktomi++.a \
@LIBTHREAD@ @LIBSOCKET@ @LIBNSL@ @LIBRESOLV@ \
- @LIBTCL@ @LIBDB@ @LIBSQLITE3@ @LIBRT@ @LIBDL@ @LIBSSL@ @LIBICONV@
+ @LIBTCL@ @LIBDB@ @LIBRT@ @LIBDL@ @LIBSSL@ @LIBICONV@ @LIBEXECINFO@
Modified: incubator/trafficserver/traffic/trunk/proxy/mgmt2/cli/Makefile.am
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/proxy/mgmt2/cli/Makefile.am?rev=923514&r1=923513&r2=923514&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/proxy/mgmt2/cli/Makefile.am (original)
+++ incubator/trafficserver/traffic/trunk/proxy/mgmt2/cli/Makefile.am Tue Mar 16 00:05:46 2010
@@ -73,4 +73,4 @@ traffic_line_LDADD = \
$(top_builddir)/libinktomi++/libinktomi++.a \
$(top_builddir)/librecords/libreclocal.a \
@LIBTHREAD@ @LIBSOCKET@ @LIBNSL@ @LIBRESOLV@ \
- @LIBTCL@ @LIBRT@ @LIBDL@ @LIBICONV@
+ @LIBTCL@ @LIBRT@ @LIBDL@ @LIBICONV@ @LIBEXECINFO@
Modified: incubator/trafficserver/traffic/trunk/proxy/mgmt2/cli2/Makefile.am
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/proxy/mgmt2/cli2/Makefile.am?rev=923514&r1=923513&r2=923514&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/proxy/mgmt2/cli2/Makefile.am (original)
+++ incubator/trafficserver/traffic/trunk/proxy/mgmt2/cli2/Makefile.am Tue Mar 16 00:05:46 2010
@@ -87,4 +87,4 @@ traffic_shell_LDADD = \
@LIBICONV@ \
@LIBEXPAT@ @LIBSSL@ \
@LIBTHREAD@ @LIBSOCKET@ @LIBNSL@ @LIBRESOLV@ \
- @LIBRT@
+ @LIBRT@ @LIBEXECINFO@
Modified: incubator/trafficserver/traffic/trunk/proxy/mgmt2/cop/Makefile.am
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/proxy/mgmt2/cop/Makefile.am?rev=923514&r1=923513&r2=923514&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/proxy/mgmt2/cop/Makefile.am (original)
+++ incubator/trafficserver/traffic/trunk/proxy/mgmt2/cop/Makefile.am Tue Mar 16 00:05:46 2010
@@ -43,4 +43,4 @@ traffic_cop_LDADD = \
$(top_builddir)/libinktomi++/libinktomi++.a \
@LIBTCL@ \
@LIBSOCKET@ @LIBNSL@ @LIBRESOLV@ \
- @LIBTHREAD@ @LIBDL@ @LIBRT@ @LIBICONV@
+ @LIBTHREAD@ @LIBDL@ @LIBRT@ @LIBICONV@ @LIBEXECINFO@
Modified: incubator/trafficserver/traffic/trunk/proxy/mgmt2/tools/Makefile.am
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/proxy/mgmt2/tools/Makefile.am?rev=923514&r1=923513&r2=923514&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/proxy/mgmt2/tools/Makefile.am (original)
+++ incubator/trafficserver/traffic/trunk/proxy/mgmt2/tools/Makefile.am Tue Mar 16 00:05:46 2010
@@ -41,13 +41,13 @@ traffic_vip_config_SOURCES = VIPConfig.c
traffic_vip_config_LDFLAGS = @EXTRA_CXX_LDFLAGS@
traffic_vip_config_LDADD = \
$(top_builddir)/libinktomi++/libinktomi++.a \
- @LIBSOCKET@ @LIBTCL@ @LIBRT@ @LIBDL@ @LIBICONV@
+ @LIBSOCKET@ @LIBTCL@ @LIBRT@ @LIBDL@ @LIBICONV@ @LIBEXECINFO@
traffic_net_config_SOURCES = NetConfig.cc
traffic_net_config_LDFLAGS = @EXTRA_CXX_LDFLAGS@
traffic_net_config_LDADD = \
$(top_builddir)/libinktomi++/libinktomi++.a \
- @LIBSOCKET@ @LIBTCL@ @LIBRT@ @LIBICONV@
+ @LIBSOCKET@ @LIBTCL@ @LIBRT@ @LIBICONV@ @LIBEXECINFO@
traffic_time_config_SOURCES = TimeConfig.cc
traffic_time_config_LDFLAGS = @EXTRA_CXX_LDFLAGS@
@@ -59,7 +59,7 @@ traffic_mcast_snoop_SOURCES = McastSnoop
traffic_mcast_snoop_LDFLAGS = @EXTRA_CXX_LDFLAGS@
traffic_mcast_snoop_LDADD = \
$(top_builddir)/libinktomi++/libinktomi++.a \
- @LIBSOCKET@ @LIBNSL@ @LIBTCL@ @LIBRT@ @LIBTHREAD@ @LIBDL@ @LIBICONV@
+ @LIBSOCKET@ @LIBNSL@ @LIBTCL@ @LIBRT@ @LIBTHREAD@ @LIBDL@ @LIBICONV@ @LIBEXECINFO@
libinksysapi_a_SOURCES = SysAPI.cc SysAPI.h
Modified: incubator/trafficserver/traffic/trunk/rc/Makefile.am
URL: http://svn.apache.org/viewvc/incubator/trafficserver/traffic/trunk/rc/Makefile.am?rev=923514&r1=923513&r2=923514&view=diff
==============================================================================
--- incubator/trafficserver/traffic/trunk/rc/Makefile.am (original)
+++ incubator/trafficserver/traffic/trunk/rc/Makefile.am Tue Mar 16 00:05:46 2010
@@ -35,5 +35,5 @@ update_records_LDFLAGS = @EXTRA_CXX_LDFL
update_records_LDADD = \
$(top_builddir)/proxy/mgmt2/librecords.a \
$(top_builddir)/libinktomi++/libinktomi++.a \
- @LIBICONV@ @LIBTHREAD@ @LIBRT@ @LIBTCL@ @LIBDL@ @LIBSSL@
+ @LIBICONV@ @LIBTHREAD@ @LIBRT@ @LIBTCL@ @LIBDL@ @LIBSSL@ @LIBEXECINFO@