| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
instrumentation. It is less efficient and precise than -fsanitize-coverage=trace-pc-guard, but still works
llvm-svn: 299046
|
|
|
|
| |
llvm-svn: 298654
|
|
|
|
| |
llvm-svn: 298032
|
|
|
|
|
|
| |
Differential revision: https://reviews.llvm.org/D29831
llvm-svn: 294769
|
|
|
|
|
|
|
|
|
|
| |
We should always use unsigned long long to ensure 64 bits. On Windows, unsigned
long is 4 bytes. This was the reason why value-profile-cmp4.test was failing on
Windows.
Differential Revision: https://reviews.llvm.org/D29617
llvm-svn: 294390
|
|
|
|
| |
llvm-svn: 294061
|
|
|
|
|
|
|
|
| |
Reviewers: kcc
Differential Revision: https://reviews.llvm.org/D29502
llvm-svn: 294035
|
|
|
|
|
|
| |
inlined coverage instrumentation. NFC
llvm-svn: 293928
|
|
|
|
|
|
| |
MOD prime) on the hot path where it is useless anyway
llvm-svn: 293239
|
|
|
|
| |
llvm-svn: 293237
|
|
|
|
| |
llvm-svn: 293236
|
|
|
|
| |
llvm-svn: 293128
|
|
|
|
|
|
| |
sure it is not asan/msan-instrumented
llvm-svn: 293125
|
|
|
|
|
|
| |
dumping the PCs
llvm-svn: 293117
|
|
|
|
| |
llvm-svn: 292835
|
|
|
|
|
|
|
|
|
|
| |
Instead of directly using objdump, which is not present on Windows, we consider
different tools depending on the platform.
For Windows, we consider dumpbin and llvm-objdump.
Differential Revision: https://reviews.llvm.org/D28635
llvm-svn: 292739
|
|
|
|
|
|
|
|
| |
For Posix systems and Windows, we need to consider different cases.
Differential Revision: https://reviews.llvm.org/D28633
llvm-svn: 292738
|
|
|
|
|
|
|
|
|
| |
We need to expose Sanitizer Coverage's functions that are rewritten with a
different implementation, so compiler-rt's libraries have access to it.
Differential Revision: https://reviews.llvm.org/D28618
llvm-svn: 292736
|
|
|
|
| |
llvm-svn: 292695
|
|
|
|
| |
llvm-svn: 292681
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: The causes google/ossfuzz#84
Reviewers: kcc
Subscribers: mgorny
Differential Revision: https://reviews.llvm.org/D28827
llvm-svn: 292289
|
|
|
|
|
|
| |
code between cmp and memcmp handling)
llvm-svn: 292287
|
|
|
|
| |
llvm-svn: 290899
|
|
|
|
| |
llvm-svn: 290739
|
|
|
|
| |
llvm-svn: 290703
|
|
|
|
|
|
|
|
| |
Reviewers: kcc, vitalybuka
Differential Revision: https://reviews.llvm.org/D27942
llvm-svn: 290138
|
|
|
|
| |
llvm-svn: 290034
|
|
|
|
|
|
| |
(to make things faster). Also ensure that the signals from value profile do not intersect with the regular coverage
llvm-svn: 290031
|
|
|
|
| |
llvm-svn: 289999
|
|
|
|
|
|
| |
might be uninitialized
llvm-svn: 289680
|
|
|
|
|
|
| |
name while printing the coverage
llvm-svn: 289310
|
|
|
|
|
|
| |
ways. Also initialize a couple of Fuzzer:: members that might have been used uninitialized :(
llvm-svn: 288731
|
|
|
|
|
|
| |
covered dirs. Note: the Windows stub for DirName is left unimplemented
llvm-svn: 288276
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In an effort to get libfuzzer working on Windows, we need to make
a distinction between what functions require platform specific
code (e.g. different code on Windows vs Linux) and what code
doesn't. IO functions, for example, tend to be platform
specific.
This patch separates out some of the functions which will need
to have platform specific implementations into different headers,
so that we can then provide different implementations for each
platform.
Aside from that, this patch contains no functional change. It
is purely a re-organization.
Patch by Marcos Pividori
Differential Revision: https://reviews.llvm.org/D27230
llvm-svn: 288264
|
|
|
|
|
|
| |
the linker. Add no-msan attribute to the memcmp hook.
llvm-svn: 286665
|
|
|
|
| |
llvm-svn: 285262
|
|
|
|
|
|
| |
with -exit_on_src_pos, symbolize every PC only once
llvm-svn: 285223
|
|
|
|
| |
llvm-svn: 285147
|
|
|
|
| |
llvm-svn: 285145
|
|
|
|
| |
llvm-svn: 285142
|
|
|
|
|
|
| |
available, add a test
llvm-svn: 285049
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and files.
Example of output:
COVERAGE:
COVERED: in DSO2(int) /pathto/DSO2.cpp:6
COVERED: in DSO2(int) /pathto/DSO2.cpp:8
COVERED: in DSO1(int) /pathto/DSO1.cpp:6
COVERED: in DSO1(int) /pathto/DSO1.cpp:8
COVERED: in LLVMFuzzerTestOneInput /pathto/DSOTestMain.cpp:16
COVERED: in LLVMFuzzerTestOneInput /pathto/DSOTestMain.cpp:19
COVERED: in LLVMFuzzerTestOneInput /pathto/DSOTestMain.cpp:25
COVERED: in LLVMFuzzerTestOneInput /pathto/DSOTestMain.cpp:26
MODULE_WITH_COVERAGE: /pathto/libLLVMFuzzer-DSO1.so
UNCOVERED_LINE: in DSO1(int) /pathto/DSO1.cpp:9
UNCOVERED_FUNC: in Uncovered1()
MODULE_WITH_COVERAGE: /pathto/libLLVMFuzzer-DSO2.so
UNCOVERED_LINE: in DSO2(int) /pathto/DSO2.cpp:9
UNCOVERED_FUNC: in Uncovered2()
MODULE_WITH_COVERAGE: /pathto/LLVMFuzzer-DSOTest
UNCOVERED_LINE: in LLVMFuzzerTestOneInput /pathto/DSOTestMain.cpp:21
UNCOVERED_LINE: in LLVMFuzzerTestOneInput /pathto/DSOTestMain.cpp:27
UNCOVERED_FILE: /pathto/DSOTestExtra.cpp
Several things are not perfect here:
* we are using objdump+awk instead of sancov because sancov does not support DSOs yet.
* this breaks in the presence of ASAN_OPTIONS=strip_path_prefix=...
(need to implement another API to get the module name by PC)
llvm-svn: 284554
|
|
|
|
| |
llvm-svn: 284301
|
|
|
|
|
|
| |
instructions). This is a reincarnation of the previously deleted -use_traces, but using a different approach for collecting traces. Still a toy, but at least it scales well. Also fix -merge in trace-pc-guard mode
llvm-svn: 284273
|
|
|
|
|
|
| |
fix for gcc build
llvm-svn: 284132
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit r283946.
This breaks when build with GCC:
lib/Fuzzer/FuzzerTracePC.cpp:169:6: error: always_inline function might not be inlinable [-Werror=attributes]
lib/Fuzzer/FuzzerTracePC.cpp:169:6: error: inlining failed in call to always_inline 'void fuzzer::TracePC::HandleCmp(void*, T, T) [with T = long unsigned int]': target specific option mismatch
lib/Fuzzer/FuzzerTracePC.cpp:198:65: error: called from here
llvm-svn: 283979
|
|
|
|
| |
llvm-svn: 283946
|
|
|
|
|
|
| |
array, make sure we don't overflow it
llvm-svn: 283841
|
|
|
|
| |
llvm-svn: 283409
|
|
|
|
| |
llvm-svn: 283286
|