Skip to content

Commit 8c823c5

Browse files
committed
remove llvm-symbolizer
1 parent 3c55cac commit 8c823c5

File tree

7 files changed

+18
-171
lines changed

7 files changed

+18
-171
lines changed

source/loader/CMakeLists.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,8 +120,6 @@ if(UR_ENABLE_SANITIZER)
120120
${CMAKE_CURRENT_SOURCE_DIR}/layers/sanitizer/device_sanitizer_report.hpp
121121
${CMAKE_CURRENT_SOURCE_DIR}/layers/sanitizer/stacktrace.cpp
122122
${CMAKE_CURRENT_SOURCE_DIR}/layers/sanitizer/stacktrace.hpp
123-
${CMAKE_CURRENT_SOURCE_DIR}/layers/sanitizer/symbolizer_llvm.cpp
124-
${CMAKE_CURRENT_SOURCE_DIR}/layers/sanitizer/symbolizer_llvm.hpp
125123
${CMAKE_CURRENT_SOURCE_DIR}/layers/sanitizer/ur_sanddi.cpp
126124
${CMAKE_CURRENT_SOURCE_DIR}/layers/sanitizer/ur_sanitizer_layer.cpp
127125
${CMAKE_CURRENT_SOURCE_DIR}/layers/sanitizer/ur_sanitizer_layer.hpp

source/loader/layers/sanitizer/common.hpp

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -82,11 +82,7 @@ inline constexpr uptr ComputeRZLog(uptr user_requested_size) {
8282
return Result; \
8383
}
8484

85-
struct BacktraceInfo {
86-
uptr offset;
87-
std::string module;
88-
std::string debug;
89-
};
85+
using BacktraceInfo = std::string;
9086

9187
struct SourceInfo {
9288
std::string file;

source/loader/layers/sanitizer/linux/backtrace.cpp

Lines changed: 10 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -14,40 +14,23 @@
1414

1515
namespace ur_sanitizer_layer {
1616

17-
namespace {
18-
19-
bool ExtractSymbolInfo(const char *symbol, BacktraceInfo &info) {
20-
info.debug = std::string(symbol);
21-
22-
auto s1 = std::strrchr(symbol, '(');
23-
info.module = std::string(symbol, s1 - symbol);
24-
auto s2 = std::strrchr(symbol, '[');
25-
info.offset = std::stoull(s2 + 1, nullptr, 16);
26-
return true;
27-
}
28-
29-
} // namespace
30-
3117
StackTrace GetCurrentBacktrace() {
32-
void *backtraceFrames[MAX_BACKTRACE_FRAMES];
33-
int frameCount = backtrace(backtraceFrames, MAX_BACKTRACE_FRAMES);
34-
char **backtraceStr = backtrace_symbols(backtraceFrames, frameCount);
18+
void *Frames[MAX_BACKTRACE_FRAMES];
19+
int FrameCount = backtrace(Frames, MAX_BACKTRACE_FRAMES);
20+
char **Symbols = backtrace_symbols(Frames, FrameCount);
3521

36-
if (backtraceStr == nullptr) {
22+
if (Symbols == nullptr) {
3723
return StackTrace();
3824
}
3925

40-
StackTrace stack;
41-
for (int i = 0; i < frameCount; i++) {
42-
BacktraceInfo addr_info;
43-
if (!ExtractSymbolInfo(backtraceStr[i], addr_info)) {
44-
continue;
45-
}
46-
stack.stack.emplace_back(std::move(addr_info));
26+
StackTrace Stack;
27+
for (int i = 0; i < FrameCount; i++) {
28+
BacktraceInfo addr_info(Symbols[i]);
29+
Stack.stack.emplace_back(std::move(addr_info));
4730
}
48-
free(backtraceStr);
31+
free(Symbols);
4932

50-
return stack;
33+
return Stack;
5134
}
5235

5336
} // namespace ur_sanitizer_layer

source/loader/layers/sanitizer/stacktrace.cpp

Lines changed: 7 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,14 @@
1111
*/
1212

1313
#include "stacktrace.hpp"
14-
#include "symbolizer_llvm.hpp"
1514
#include "ur_sanitizer_layer.hpp"
1615

1716
namespace ur_sanitizer_layer {
1817

1918
namespace {
2019

21-
std::string GetFileName(const std::string &FilePath) {
22-
auto p = FilePath.find_last_of('/');
23-
return FilePath.substr(p + 1);
24-
}
25-
26-
bool StartWith(const std::string &Str, const char *Pattern) {
27-
return Str.rfind(Pattern, 0) == 0;
20+
bool Contains(const std::string &s, const char *p) {
21+
return s.find(p) != std::string::npos;
2822
}
2923

3024
} // namespace
@@ -37,28 +31,13 @@ void StackTrace::print() const {
3731
unsigned index = 0;
3832

3933
for (auto &BI : stack) {
40-
auto ModuleFile = GetFileName(BI.module);
41-
if (StartWith(ModuleFile, "libsycl.so") ||
42-
StartWith(ModuleFile, "libpi_unified_runtime.so") ||
43-
StartWith(ModuleFile, "libur_loader.so")) {
34+
// Skip runtime modules
35+
if (Contains(BI, "libsycl.so") ||
36+
Contains(BI, "libpi_unified_runtime.so") ||
37+
Contains(BI, "libur_loader.so")) {
4438
continue;
4539
}
46-
47-
SourceInfo SI;
48-
for (auto &symbolizer : SymbolizerTools) {
49-
if (symbolizer->symbolizePC(BI, SI)) {
50-
break;
51-
}
52-
}
53-
54-
if (!SI.file.empty()) {
55-
context.logger.always(" #{} {} in {} {}:{}:{}", index,
56-
(void *)BI.offset, SI.function, SI.file,
57-
SI.line, SI.column);
58-
} else {
59-
context.logger.always(" #{} {} in {} {}", index, (void *)BI.offset,
60-
SI.function, BI.module);
61-
}
40+
context.logger.always(" #{} {}", index, BI);
6241
++index;
6342
}
6443
context.logger.always("");

source/loader/layers/sanitizer/symbolizer_llvm.cpp

Lines changed: 0 additions & 66 deletions
This file was deleted.

source/loader/layers/sanitizer/symbolizer_llvm.hpp

Lines changed: 0 additions & 40 deletions
This file was deleted.

source/loader/layers/sanitizer/ur_sanddi.cpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
*/
1212

1313
#include "asan_interceptor.hpp"
14-
#include "symbolizer_llvm.hpp"
1514
#include "ur_sanitizer_layer.hpp"
1615
#include "ur_sanitizer_utils.hpp"
1716

@@ -543,8 +542,6 @@ ur_result_t context_t::init(ur_dditable_t *dditable,
543542
UR_API_VERSION_CURRENT, &dditable->USM);
544543
}
545544

546-
InitSymbolizers();
547-
548545
return result;
549546
}
550547

0 commit comments

Comments
 (0)