aports/testing/wayfire/no-execinfo.patch

67 lines
1.9 KiB
Diff

diff --git a/src/debug-func.hpp b/src/debug-func.hpp
index a4ff962..be49328 100644
--- a/src/debug-func.hpp
+++ b/src/debug-func.hpp
@@ -2,7 +2,6 @@
#include <wayfire/debug.hpp>
#include <sstream>
#include <iomanip>
-#include <execinfo.h>
#include <cxxabi.h>
#include <cstdio>
#include <dlfcn.h>
@@ -213,45 +212,13 @@ addr2line_result locate_source_file(const demangling_result& dr)
void wf::print_trace(bool fast_mode)
{
void *addrlist[MAX_FRAMES];
- int addrlen = backtrace(addrlist, MAX_FRAMES);
+ int addrlen = 0;
if (addrlen == 0)
{
LOGE("Failed to determine backtrace, recompile with ASAN!");
return;
}
-
- char **symbollist = backtrace_symbols(addrlist, addrlen);
-
- for (int i = 1; i < addrlen; i++)
- {
- auto result = demangle_function(symbollist[i]);
-
- std::ostringstream line;
- line << '#' << std::left << std::setw(2) << i << " ";
- if (HAS_ADDR2LINE && !fast_mode && result.address.size() &&
- result.executable.size())
- {
- auto source = locate_source_file(result);
- line << source.function_name << " " << source.function_source;
- } else if (result.function_name.size())
- {
- line << result.function_name << " at " << result.address;
- } else
- {
- line << symbollist[i];
- }
-
- auto contents = line.str();
- if (contents.size() && (contents.back() == '\n'))
- {
- contents.pop_back();
- }
-
- wf::log::log_plain(wf::log::LOG_LEVEL_ERROR, contents);
- }
-
- free(symbollist);
}
/* ------------------- Impl of debugging functions ---------------------------*/
@@ -284,4 +251,4 @@ wf::pointf_t operator *(const glm::mat4& m, const wf::pointf_t& p)
wf::pointf_t operator *(const glm::mat4& m, const wf::point_t& p)
{
return m * wf::pointf_t{1.0 * p.x, 1.0 * p.y};
-}
+}
\ No newline at end of file