diff --git a/lldb/source/Plugins/InstrumentationRuntime/UBSan/InstrumentationRuntimeUBSan.cpp b/lldb/source/Plugins/InstrumentationRuntime/UBSan/InstrumentationRuntimeUBSan.cpp --- a/lldb/source/Plugins/InstrumentationRuntime/UBSan/InstrumentationRuntimeUBSan.cpp +++ b/lldb/source/Plugins/InstrumentationRuntime/UBSan/InstrumentationRuntimeUBSan.cpp @@ -67,19 +67,18 @@ const char **OutMessage, const char **OutFilename, unsigned *OutLine, unsigned *OutCol, char **OutMemoryAddr); } +)"; -struct data { +static const char *ub_sanitizer_retrieve_report_data_command = R"( +struct { const char *issue_kind; const char *message; const char *filename; unsigned line; unsigned col; char *memory_addr; -}; -)"; +} t; -static const char *ub_sanitizer_retrieve_report_data_command = R"( -data t; __ubsan_get_current_report_data(&t.issue_kind, &t.message, &t.filename, &t.line, &t.col, &t.memory_addr); t; diff --git a/lldb/source/Plugins/MemoryHistory/asan/MemoryHistoryASan.cpp b/lldb/source/Plugins/MemoryHistory/asan/MemoryHistoryASan.cpp --- a/lldb/source/Plugins/MemoryHistory/asan/MemoryHistoryASan.cpp +++ b/lldb/source/Plugins/MemoryHistory/asan/MemoryHistoryASan.cpp @@ -67,8 +67,11 @@ size_t __asan_get_alloc_stack(void *addr, void **trace, size_t size, int *thread_id); size_t __asan_get_free_stack(void *addr, void **trace, size_t size, int *thread_id); } +)"; - struct data { +const char *memory_history_asan_command_format = + R"( + struct { void *alloc_trace[256]; size_t alloc_count; int alloc_tid; @@ -76,12 +79,7 @@ void *free_trace[256]; size_t free_count; int free_tid; - }; -)"; - -const char *memory_history_asan_command_format = - R"( - data t; + } t; t.alloc_count = __asan_get_alloc_stack((void *)0x%)" PRIx64 R"(, t.alloc_trace, 256, &t.alloc_tid);