[PATCH] D98903: [SanitizerCoverage] Make __start_/__stop_ symbols extern_weak
Fangrui Song via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 22 22:54:17 PDT 2021
MaskRay added a comment.
In D98903#2643589 <https://reviews.llvm.org/D98903#2643589>, @vitalybuka wrote:
> https://lab.llvm.org/buildbot/#/builders/127/builds/8015 fails like this
>
> ******************** TEST 'AddressSanitizer-x86_64-windows :: TestCases/Window
> coverage-dll-stdio.cpp' FAILED ********************
> Script:
> --
> : 'RUN: at line 4'; rm -rf C:\b\slave\sanitizer-windows\build\stage1\project
> compiler-rt\test\asan\X86_64WindowsConfig\TestCases\Windows\Output\coverage-dl
> stdio.cpp.tmp && mkdir C:\b\slave\sanitizer-windows\build\stage1\projects\comp
> er-rt\test\asan\X86_64WindowsConfig\TestCases\Windows\Output\coverage-dll-stdi
> cpp.tmp && cd C:\b\slave\sanitizer-windows\build\stage1\projects\compiler-rt\t
> t\asan\X86_64WindowsConfig\TestCases\Windows\Output\coverage-dll-stdio.cpp.tmp
> : 'RUN: at line 5'; C:/b/slave/sanitizer-windows/build/stage1/./bin/clang
> l.exe -fsanitize=address -Wno-deprecated-declarations -WX -D_HAS_EXCEPTIONS=0
> Zi -fsanitize-coverage=func,trace-pc-guard -Od C:\b\slave\sanitizer-window
> llvm-project\compiler-rt\test\asan\TestCases\Windows/dll_host.cpp -Fet.exe
> : 'RUN: at line 6'; C:/b/slave/sanitizer-windows/build/stage1/./bin/clang
> l.exe -fsanitize=address -Wno-deprecated-declarations -WX -D_HAS_EXCEPTIONS=0
> Zi -fsanitize-coverage=func,trace-pc-guard -LD -Od C:\b\slave\sanitizer-wi
> ows\llvm-project\compiler-rt\test\asan\TestCases\Windows\coverage-dll-stdio.cp
> -Fet.dll
> : 'RUN: at line 7'; ./t.exe t.dll 2>&1 | FileCheck C:\b\slave\sanitizer-win
> ws\llvm-project\compiler-rt\test\asan\TestCases\Windows\coverage-dll-stdio.cpp
> --
> Exit Code: 1
>
> Command Output (stdout):
> --
> $ ":" "RUN: at line 4"
> $ "rm" "-rf" "C:\b\slave\sanitizer-windows\build\stage1\projects\compiler-rt\t
> t\asan\X86_64WindowsConfig\TestCases\Windows\Output\coverage-dll-stdio.cpp.tmp
> $ "mkdir" "C:\b\slave\sanitizer-windows\build\stage1\projects\compiler-rt\test
> san\X86_64WindowsConfig\TestCases\Windows\Output\coverage-dll-stdio.cpp.tmp"
> $ "cd" "C:\b\slave\sanitizer-windows\build\stage1\projects\compiler-rt\test\as
> \X86_64WindowsConfig\TestCases\Windows\Output\coverage-dll-stdio.cpp.tmp"
> $ ":" "RUN: at line 5"
> $ "C:/b/slave/sanitizer-windows/build/stage1/./bin/clang-cl.exe" "-fsanitize=a
> ress" "-Wno-deprecated-declarations" "-WX" "-D_HAS_EXCEPTIONS=0" "-Zi" "-fsani
> ze-coverage=func,trace-pc-guard" "-Od" "C:\b\slave\sanitizer-windows\llvm-proj
> t\compiler-rt\test\asan\TestCases\Windows/dll_host.cpp" "-Fet.exe"
> # command output:
> Creating library t.lib and object t.exp
>
> $ ":" "RUN: at line 6"
> $ "C:/b/slave/sanitizer-windows/build/stage1/./bin/clang-cl.exe" "-fsanitize=a
> ress" "-Wno-deprecated-declarations" "-WX" "-D_HAS_EXCEPTIONS=0" "-Zi" "-fsani
> ze-coverage=func,trace-pc-guard" "-LD" "-Od" "C:\b\slave\sanitizer-windows\llv
> project\compiler-rt\test\asan\TestCases\Windows\coverage-dll-stdio.cpp" "-Fet.
> l"
> # command output:
> Creating library t.lib and object t.exp
>
> $ ":" "RUN: at line 7"
> $ "./t.exe" "t.dll"
> note: command had no output on stdout or stderr
> error: command failed with exit status: 1
> $ "FileCheck" "C:\b\slave\sanitizer-windows\llvm-project\compiler-rt\test\asan
> estCases\Windows\coverage-dll-stdio.cpp"
> # command stderr:
> C:\b\slave\sanitizer-windows\llvm-project\compiler-rt\test\asan\TestCases\Wind
> s\coverage-dll-stdio.cpp:14:12: error: CHECK: expected string not found in inp
>
> // CHECK: hello world
> ^
> <stdin>:1:1: note: scanning from here
> Could not load DLL: t.dll (code: 1114)!
> ^
>
> Input file: <stdin>
> Check file: C:\b\slave\sanitizer-windows\llvm-project\compiler-rt\test\asan\Te
> Cases\Windows\coverage-dll-stdio.cpp
>
> -dump-input=help explains the following input dump.
>
> Input was:
> <<<<<<
> 1: Could not load DLL: t.dll (code: 1114)!
> check:14 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
> 2: =================================================================
> check:14 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 3: ==6276==ERROR: AddressSanitizer: access-violation on unknown addr
> s 0x7ffb669b458c (pc 0x7ffb669b458c bp 0x000000000002 sp 0x002d80a8f458 T0)
> check:14 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 4: ==6276==The signal is caused by a UNKNOWN memory access.
> check:14 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 5: #0 0x7ffb669b458b (<unknown module>)
> check:14 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 6: #1 0x7ffb84aed596 (C:\windows\SYSTEM32\ntdll.dll+0x18001d596)
> check:14 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> .
> .
> .
> >>>>>>
>
> error: command failed with exit status: 1
>
> --
>
> ********************
> Testing: 0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90..
> ********************
> Failed Tests (1):
> AddressSanitizer-x86_64-windows :: TestCases/Windows/coverage-dll-stdio.cpp
>
> reverting change helps
How about hacking Windows to not use `extern_weak`?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D98903/new/
https://reviews.llvm.org/D98903
More information about the llvm-commits
mailing list