mirror of
https://github.com/Gericom/teak-llvm.git
synced 2025-06-19 11:35:51 -04:00
[libFuzzer] Make coverage.test work on ARM64
Summary: This test instruments the following code with coverage, runs the fuzzer once, and asserts that there are uncovered PCs. The ARM64 backend optimizes this code using the `csel` (Conditional select) instruction, which removes all branching from the resulting machine code. The test then fails because we do not have any uncovered PCs. The easiest solution for now is to turn off optimization for the DSOs used in this test. ``` int DSO1(int a) { if (a < 123456) return 0; return 1; } ``` rdar://47646400 Reviewers: kcc Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D58087 llvm-svn: 353780
This commit is contained in:
parent
806136f8ef
commit
ee82db57ec
@ -1,8 +1,8 @@
|
||||
# FIXME: Disabled on Windows because -fPIC cannot be used to compile for Windows.
|
||||
UNSUPPORTED: windows
|
||||
RUN: %cpp_compiler -mllvm -use-unknown-locations=Disable %S/NullDerefTest.cpp -o %t-NullDerefTest
|
||||
RUN: %cpp_compiler -mllvm -use-unknown-locations=Disable %S/DSO1.cpp -fPIC %ld_flags_rpath_so1 -shared -o %dynamiclib1
|
||||
RUN: %cpp_compiler -mllvm -use-unknown-locations=Disable %S/DSO2.cpp -fPIC %ld_flags_rpath_so2 -shared -o %dynamiclib2
|
||||
RUN: %cpp_compiler -mllvm -use-unknown-locations=Disable %S/DSO1.cpp -fPIC %ld_flags_rpath_so1 -O0 -shared -o %dynamiclib1
|
||||
RUN: %cpp_compiler -mllvm -use-unknown-locations=Disable %S/DSO2.cpp -fPIC %ld_flags_rpath_so2 -O0 -shared -o %dynamiclib2
|
||||
RUN: %cpp_compiler -mllvm -use-unknown-locations=Disable %S/DSOTestMain.cpp %S/DSOTestExtra.cpp %ld_flags_rpath_exe1 %ld_flags_rpath_exe2 -o %t-DSOTest
|
||||
|
||||
CHECK: COVERAGE:
|
||||
@ -11,10 +11,10 @@ RUN: not %run %t-NullDerefTest -print_coverage=1 2>&1 | FileCheck %s
|
||||
|
||||
RUN: %run %t-DSOTest -print_coverage=1 -runs=0 2>&1 | FileCheck %s --check-prefix=DSO
|
||||
DSO: COVERAGE:
|
||||
DSO-DAG: COVERED_FUNC:{{.*}}1{{.*}}
|
||||
DSO-DAG: COVERED_FUNC:{{.*}}2{{.*}}
|
||||
DSO-DAG: COVERED_FUNC:{{.*}}DSO1
|
||||
DSO-DAG: COVERED_FUNC:{{.*}}DSO2
|
||||
DSO-DAG: COVERED_FUNC:{{.*}}LLVMFuzzerTestOneInput{{.*}}DSOTestMain
|
||||
DSO-DAG: UNCOVERED_PC:{{.*}}1
|
||||
DSO-DAG: UNCOVERED_PC:{{.*}}2
|
||||
DSO-DAG: UNCOVERED_PC:{{.*}}DSO1
|
||||
DSO-DAG: UNCOVERED_PC:{{.*}}DSO2
|
||||
DSO-DAG: UNCOVERED_PC:{{.*}}DSOTestMain
|
||||
DSO-DAG: UNCOVERED_FUNC:{{.*}}Uncovered1
|
||||
|
Loading…
Reference in New Issue
Block a user