From d4528b2ea15aa87d156277518c33ae73783ded51 Mon Sep 17 00:00:00 2001 From: Etienne Bergeron Date: Thu, 21 Jul 2016 02:32:37 +0000 Subject: [PATCH] [compiler-rt] Fix broken SymInitialize unittest Summary: By adding the initialisation of the symbolisation library (DbgHelp) we are swapping the order in which both warnings are produced. We can't use CHECK-NEXT as the dbghelp warning is multiline. Reviewers: rnk Subscribers: kubabrecka, llvm-commits, wang0109, chrisha Differential Revision: https://reviews.llvm.org/D22586 llvm-svn: 276228 --- compiler-rt/lib/sanitizer_common/sanitizer_win.cc | 2 ++ compiler-rt/test/asan/TestCases/Windows/report_after_syminitialize.cc | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_win.cc b/compiler-rt/lib/sanitizer_common/sanitizer_win.cc index d897559..36d9204 100644 --- a/compiler-rt/lib/sanitizer_common/sanitizer_win.cc +++ b/compiler-rt/lib/sanitizer_common/sanitizer_win.cc @@ -735,6 +735,8 @@ void BufferedStackTrace::SlowUnwindStackWithContext(uptr pc, void *context, STACKFRAME64 stack_frame; memset(&stack_frame, 0, sizeof(stack_frame)); + InitializeDbgHelpIfNeeded(); + size = 0; #if defined(_WIN64) int machine_type = IMAGE_FILE_MACHINE_AMD64; diff --git a/compiler-rt/test/asan/TestCases/Windows/report_after_syminitialize.cc b/compiler-rt/test/asan/TestCases/Windows/report_after_syminitialize.cc index 20bf695..c5ac602 100644 --- a/compiler-rt/test/asan/TestCases/Windows/report_after_syminitialize.cc +++ b/compiler-rt/test/asan/TestCases/Windows/report_after_syminitialize.cc @@ -16,8 +16,8 @@ int main() { // CHECK: ERROR: AddressSanitizer: access-violation on unknown address // CHECK: The signal is caused by a WRITE memory access. // CHECK: Hint: address points to the zero page. - // CHECK-NEXT: {{WARNING: Failed to use and restart external symbolizer}} - // CHECK-NEXT: {{WARNING: .*DbgHelp}} + // CHECK: {{WARNING: .*DbgHelp}} + // CHECK: {{WARNING: Failed to use and restart external symbolizer}} // CHECK: {{#0 0x.* in main.*report_after_syminitialize.cc:}}[[@LINE-6]] // CHECK: AddressSanitizer can not provide additional info. } -- 2.7.4