SVN: backtracexx: backtracexx.cpp backtracexx.hpp

pluto pluto at pld-linux.org
Sun Feb 22 12:33:37 CET 2009


Author: pluto
Date: Sun Feb 22 12:33:37 2009
New Revision: 10139

Modified:
   backtracexx/backtracexx.cpp
   backtracexx/backtracexx.hpp
Log:
- drop signal trampoline info (it isn't very useful and pulls boost deps).


Modified: backtracexx/backtracexx.cpp
==============================================================================
--- backtracexx/backtracexx.cpp	(original)
+++ backtracexx/backtracexx.cpp	Sun Feb 22 12:33:37 2009
@@ -79,19 +79,8 @@
 
 		_Unwind_Reason_Code helper( struct _Unwind_Context* ctx, TraceHelper* th )
 		{
-			_Unwind_Ptr ip;
-
-#if ( __GNUC__ >= 4 ) && ( __GNUC_MINOR__ >= 2 )
-
-			int beforeInsn;
-			ip = _Unwind_GetIPInfo( ctx, &beforeInsn );
+			_Unwind_Ptr ip = _Unwind_GetIP( ctx );
 			Frame frame( ip );
-			if ( beforeInsn )
-				frame.signalTrampoline = true;
-#else
-			ip = _Unwind_GetIP( ctx );
-			Frame frame( ip );
-#endif
 			lookupSymbol( frame );
 			th->trace.push_back( frame );
 			//
@@ -158,7 +147,7 @@
 
 	Frame::Frame( unsigned long address )
 	:
-		address( address ), displacement(), lineNumber(), signalTrampoline( boost::logic::indeterminate )
+		address( address ), displacement(), lineNumber()
 	{
 	}
 
@@ -236,8 +225,6 @@
 				os << '?';
 			else
 				os << f.symbol << '+' << f.displacement;
-			if ( f.signalTrampoline )
-				os << " [signal trampoline]";
 			os << " [" << f.moduleName << " @ " << std::showbase << std::hex << f.moduleBaseAddress << " ]" << std::endl;
 			if ( !f.fileName.empty() )
 			{

Modified: backtracexx/backtracexx.hpp
==============================================================================
--- backtracexx/backtracexx.hpp	(original)
+++ backtracexx/backtracexx.hpp	Sun Feb 22 12:33:37 2009
@@ -1,7 +1,6 @@
 #ifndef backtracexx_hpp
 #define backtracexx_hpp
 
-#include <boost/logic/tribool.hpp>
 #include <iosfwd>
 #include <string>
 #include <list>
@@ -24,11 +23,6 @@
 
 #endif
 
-#ifdef BOOST_MSVC
-#pragma warning( push )
-#pragma warning( disable : 4251 )	//	disable warning about dll-interface for boost::logic::tribool.
-#endif 
-
 namespace backtracexx
 {
 	struct BACKTRACEXX_EXPORT Frame
@@ -42,22 +36,17 @@
 		unsigned long moduleBaseAddress;
 		std::string fileName;
 		unsigned long lineNumber;
-		boost::logic::tribool signalTrampoline;
 	};
 
 	typedef std::list< Frame > Trace;
 
 	//
-	//	ex == 0, scan() stack from current frame.
-	//	ex != 0, scan() stack from specified context (e.g. passed from SEH handler).
+	//	ctx == 0, scan() stack from current frame.
+	//	ctx != 0, scan() stack from specified context (e.g. passed from SEH handler).
 	//
 	BACKTRACEXX_EXPORT Trace scan( ::PCONTEXT /* not used on linux */ ctx = 0 );
 	BACKTRACEXX_EXPORT bool lookupSymbol( Frame& );
 	BACKTRACEXX_EXPORT std::ostream& operator << ( std::ostream&, Trace const& );
 }
 
-#ifdef BOOST_MSVC
-#pragma warning( pop )
-#endif
-
 #endif


More information about the pld-cvs-commit mailing list