From 68cec996d365c1dbb1b8c20a6897226a2bdbe7d5 Mon Sep 17 00:00:00 2001 From: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com> Date: Wed, 4 Mar 2026 18:53:01 +0100 Subject: [PATCH] [Linux] Fix `addr2line` call --- platform/linuxbsd/crash_handler_linuxbsd.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/platform/linuxbsd/crash_handler_linuxbsd.cpp b/platform/linuxbsd/crash_handler_linuxbsd.cpp index 4ab499ac89..0d08567260 100644 --- a/platform/linuxbsd/crash_handler_linuxbsd.cpp +++ b/platform/linuxbsd/crash_handler_linuxbsd.cpp @@ -104,13 +104,13 @@ static void handle_crash(int sig) { #endif //__GLIBC__ if (strings) { int ret; - String output; List args; args.push_back("--version"); String exe_name; if (exe_name.is_empty()) { + String output; // Faster implementation from gimli-rs/addr2line. Error err = OS::get_singleton()->execute(OS::get_singleton()->get_environment("HOME").path_join(String("/.cargo/bin/addr2line")), args, &output, &ret); if (err == OK && ret == 0) { @@ -118,6 +118,7 @@ static void handle_crash(int sig) { } } if (exe_name.is_empty()) { + String output; Error err = OS::get_singleton()->execute(String("llvm-addr2line"), args, &output, &ret); if (err == OK && ret == 0) { exe_name = String("llvm-addr2line"); @@ -137,6 +138,7 @@ static void handle_crash(int sig) { args.push_back(_execpath); // Try to get the file/line number using addr2line + String output; Error err = OS::get_singleton()->execute(exe_name, args, &output, &ret); Vector addr2line_results; if (err == OK) {