Compare commits

..

4 Commits

3 changed files with 13 additions and 6 deletions

View File

@@ -171,7 +171,7 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
os: [ ubuntu-20.04, ubuntu-22.04, macos-12, macos-13, macos-14 ] os: [ ubuntu-20.04, ubuntu-22.04, macos-12, macos-13, macos-14 ]
shared: [ ON ] # https://github.com/boostorg/stacktrace/issues/169 shared: [ OFF, ON ]
runs-on: ${{matrix.os}} runs-on: ${{matrix.os}}
@@ -215,7 +215,7 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
os: [ ubuntu-20.04, ubuntu-22.04, macos-12, macos-13, macos-14 ] os: [ ubuntu-20.04, ubuntu-22.04, macos-12, macos-13, macos-14 ]
shared: [ ON ] # https://github.com/boostorg/stacktrace/issues/169 shared: [ OFF, ON ]
runs-on: ${{matrix.os}} runs-on: ${{matrix.os}}
@@ -275,7 +275,7 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
os: [ ubuntu-20.04, ubuntu-22.04, macos-12, macos-13, macos-14 ] os: [ ubuntu-20.04, ubuntu-22.04, macos-12, macos-13, macos-14 ]
shared: [ ON ] # https://github.com/boostorg/stacktrace/issues/169 shared: [ OFF, ON ]
runs-on: ${{matrix.os}} runs-on: ${{matrix.os}}
@@ -443,7 +443,7 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
os: [ windows-2019, windows-2022 ] os: [ windows-2019, windows-2022 ]
shared: [ ON ] # https://github.com/boostorg/stacktrace/issues/169 shared: [ OFF, ON ]
runs-on: ${{matrix.os}} runs-on: ${{matrix.os}}

View File

@@ -18,6 +18,7 @@
#include <boost/stacktrace/detail/try_dec_convert.hpp> #include <boost/stacktrace/detail/try_dec_convert.hpp>
#include <boost/core/demangle.hpp> #include <boost/core/demangle.hpp>
#include <cstdio> #include <cstdio>
#include <cstring>
#include <sys/types.h> #include <sys/types.h>
#include <sys/wait.h> #include <sys/wait.h>
@@ -116,7 +117,9 @@ inline std::string addr2line(const char* flag, const void* addr) {
std::string res; std::string res;
boost::stacktrace::detail::location_from_symbol loc(addr); boost::stacktrace::detail::location_from_symbol loc(addr);
if (!loc.empty()) { // For programs started through $PATH loc.name() is not absolute and
// addr2line will fail.
if (!loc.empty() && std::strchr(loc.name(), '/') != nullptr) {
res = loc.name(); res = loc.name();
} else { } else {
res.resize(16); res.resize(16);

View File

@@ -11,7 +11,11 @@
# define BOOST_STACKTRACE_LINK # define BOOST_STACKTRACE_LINK
#endif #endif
#if defined(BOOST_STACKTRACE_LINK) && !defined(BOOST_STACKTRACE_DYN_LINK) && defined(BOOST_ALL_DYN_LINK) #if !defined(BOOST_STACKTRACE_LINK) && defined(BOOST_STACKTRACE_STATIC_LINK)
# define BOOST_STACKTRACE_LINK
#endif
#if defined(BOOST_STACKTRACE_LINK) && !defined(BOOST_STACKTRACE_DYN_LINK) && !defined(BOOST_STACKTRACE_STATIC_LINK) && defined(BOOST_ALL_DYN_LINK)
# define BOOST_STACKTRACE_DYN_LINK # define BOOST_STACKTRACE_DYN_LINK
#endif #endif