2017-03-18 14:48 GMT+03:00 Peter Dimov via Boost
Cygwin doesn't have Dl_info and dladdr.
These are the changes required:
C:\Projects\boost-git\boost\libs\stacktrace>git diff diff --git a/include/boost/stacktrace/detail/frame_unwind.ipp b/include/boost/st index 8cb8e2a..37b7a7e 100644 --- a/include/boost/stacktrace/detail/frame_unwind.ipp +++ b/include/boost/stacktrace/detail/frame_unwind.ipp @@ -130,7 +130,7 @@ std::string to_string(const frame* frames, std::size_t size)
std::string frame::name() const { -#ifndef BOOST_WINDOWS +#if !defined(BOOST_WINDOWS) && !defined(__CYGWIN__) ::Dl_info dli; const bool dl_ok = !!::dladdr(addr_, &dli); if (dl_ok && dli.dli_sname) { diff --git a/include/boost/stacktrace/detail/location_from_symbol.hpp b/include/ index 7faf26a..d20b0d6 100644 --- a/include/boost/stacktrace/detail/location_from_symbol.hpp +++ b/include/boost/stacktrace/detail/location_from_symbol.hpp @@ -12,7 +12,7 @@ # pragma once #endif
-#ifndef BOOST_WINDOWS +#if !defined(BOOST_WINDOWS) && !defined(__CYGWIN__) # include
#else # include @@ -21,7 +21,7 @@ namespace boost { namespace stacktrace { namespace detail { class location_from_symbol { -#ifndef BOOST_WINDOWS +#if !defined(BOOST_WINDOWS) && !defined(__CYGWIN__) ::Dl_info dli_;
public:
Fixed in develop. Thanks for the patch! -- Best regards, Antony Polukhin