symbolizer-path
authorLLVM Packaging Team <pkg-llvm-team@lists.alioth.debian.org>
Wed, 18 Dec 2024 09:01:43 +0000 (10:01 +0100)
committerSylvestre Ledru <sylvestre@debian.org>
Wed, 18 Dec 2024 09:01:43 +0000 (10:01 +0100)
===================================================================

Gbp-Pq: Name symbolizer-path.diff

compiler-rt/lib/sanitizer_common/CMakeLists.txt
compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp

index 66f2d259aa5fd46bc627f91789435a846f65414f..21e451ca96f07edaf534a829a6c6c0eb1db57aee 100644 (file)
@@ -211,6 +211,7 @@ set(SANITIZER_IMPL_HEADERS
   )
 
 include_directories(..)
+include_directories(${LLVM_INCLUDE_DIR})
 
 set(SANITIZER_COMMON_DEFINITIONS
   HAVE_RPC_XDR_H=${HAVE_RPC_XDR_H})
index 0ddc24802d2167ed6aebea09ffc97c9860b5d044..0cc9f2668e38c260416ade1dfafee1c87a660c0d 100644 (file)
 #  include "sanitizer_symbolizer_libbacktrace.h"
 #  include "sanitizer_symbolizer_mac.h"
 
+#include "llvm/Config/llvm-config.h" // for LLVM_VERSION_MAJOR
+
+#define TOSTR2(X) #X
+#define TOSTR(X) TOSTR2(X)
+
 // C++ demangling function, as required by Itanium C++ ABI. This is weak,
 // because we do not require a C++ ABI library to be linked to a program
 // using sanitizers; if it's not present, we'll just use the mangled name.
@@ -450,7 +455,7 @@ static SymbolizerTool *ChooseExternalSymbolizer(LowLevelAllocator *allocator) {
     return new(*allocator) AtosSymbolizer(found_path, allocator);
   }
 #endif  // SANITIZER_APPLE
-  if (const char *found_path = FindPathToBinary("llvm-symbolizer")) {
+  if (const char *found_path = "/usr/bin/llvm-symbolizer-" TOSTR(LLVM_VERSION_MAJOR)) {
     VReport(2, "Using llvm-symbolizer found at: %s\n", found_path);
     return new(*allocator) LLVMSymbolizer(found_path, allocator);
   }