| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 235593
|
|
|
|
|
|
|
| |
On Windows, we have to know if a memory to be protected is mapped or not.
On POSIX, Mprotect was semantically different from mprotect most people know.
llvm-svn: 234602
|
|
|
|
| |
llvm-svn: 234494
|
|
|
|
| |
llvm-svn: 234487
|
|
|
|
| |
llvm-svn: 234481
|
|
|
|
| |
llvm-svn: 234479
|
|
|
|
|
|
| |
sanitizer_posix.h
llvm-svn: 234418
|
|
|
|
| |
llvm-svn: 234410
|
|
|
|
|
|
| |
Address space is a lot more constrained on 32-bit Android compared to Linux.
llvm-svn: 234010
|
|
|
|
| |
llvm-svn: 233918
|
|
|
|
|
|
| |
See https://code.google.com/p/address-sanitizer/issues/detail?id=385.
llvm-svn: 233720
|
|
|
|
|
|
| |
Reviewed at http://reviews.llvm.org/D8666
llvm-svn: 233687
|
|
|
|
|
|
| |
method and one variable
llvm-svn: 233212
|
|
|
|
|
|
| |
coverage do a proper strcmp and strdup. NFC
llvm-svn: 233037
|
|
|
|
|
|
|
|
| |
OpenFile.
This is to fix mapping coverage files into memory on OSX.
llvm-svn: 232936
|
|
|
|
|
|
| |
adding a magic to the beginning of the file
llvm-svn: 232679
|
|
|
|
|
|
| |
dumped in the order of their appearance
llvm-svn: 232573
|
|
|
|
|
|
| |
32-bit offsets dump 32-bit offsets on 32-bit arch and 64-bit offsets on 64-bit arch. Also add the 'bits' parameter to sancov.py. This is a user-visible interface change.
llvm-svn: 232555
|
|
|
|
|
|
|
| |
__sanitizer_cov_hint is part of a different functionality
and was not intended to be submitted.
llvm-svn: 232506
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The experiments can be used to evaluate potential optimizations that remove
instrumentation (assess false negatives). Instead of completely removing
some instrumentation, you set Exp to a non-zero value (mask of optimization
experiments that want to remove instrumentation of this instruction).
If Exp is non-zero, this pass will emit special calls into runtime
(e.g. __asan_report_exp_load1 instead of __asan_report_load1). These calls
make runtime terminate the program in a special way (with a different
exit status). Then you run the new compiler on a buggy corpus, collect
the special terminations (ideally, you don't see them at all -- no false
negatives) and make the decision on the optimization.
The exact reaction to experiments in runtime is not implemented in this patch.
It will be defined and implemented in a subsequent patch.
http://reviews.llvm.org/D8198
llvm-svn: 232501
|
|
|
|
|
|
| |
-sanitizer-coverage-block-threshold=0 to actually do something useful.
llvm-svn: 231736
|
|
|
|
|
|
| |
hopefully making it more robust. Also increase the allowed coverage size on 32-bit.
llvm-svn: 231413
|
|
|
|
| |
llvm-svn: 231343
|
|
|
|
|
|
| |
module, instead of dumping a single combined bitset
llvm-svn: 231319
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
fuzzing).
Introduce -mllvm -sanitizer-coverage-8bit-counters=1
which adds imprecise thread-unfriendly 8-bit coverage counters.
The run-time library maps these 8-bit counters to 8-bit bitsets in the same way
AFL (http://lcamtuf.coredump.cx/afl/technical_details.txt) does:
counter values are divided into 8 ranges and based on the counter
value one of the bits in the bitset is set.
The AFL ranges are used here: 1, 2, 3, 4-7, 8-15, 16-31, 32-127, 128+.
These counters provide a search heuristic for single-threaded
coverage-guided fuzzers, we do not expect them to be useful for other purposes.
Depending on the value of -fsanitize-coverage=[123] flag,
these counters will be added to the function entry blocks (=1),
every basic block (=2), or every edge (=3).
Use these counters as an optional search heuristic in the Fuzzer library.
Add a test where this heuristic is critical.
llvm-svn: 231166
|
|
|
|
|
|
| |
Patch by Laszlo Szekeres
llvm-svn: 229940
|
|
|
|
|
|
| |
coverage instrumentation as calls.
llvm-svn: 228102
|
|
|
|
|
|
|
|
|
| |
arrays
Original commit: http://reviews.llvm.org/rL226440
Related review: http://reviews.llvm.org/D6892
llvm-svn: 227789
|
|
|
|
|
|
| |
while it is running (single-threaded). Also expose the current coverage set to the process.
llvm-svn: 227387
|
|
|
|
|
|
| |
It was fixed the right way in r227195.
llvm-svn: 227196
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D6892
llvm-svn: 226440
|
|
|
|
|
|
|
| |
pc_fd was not initialized to (-1) on some code paths, resulting in the program
erroneously closing stdin when reinitializing coverage.
llvm-svn: 225637
|
|
|
|
|
|
| |
instead of just one (otherwise files of > 2Gb are trunkated). Also a minor adjustment to the trace collection.
llvm-svn: 225230
|
|
|
|
|
|
| |
guard page to trace array, fix the trace IDs before dumping
llvm-svn: 225108
|
|
|
|
|
|
| |
coverage
llvm-svn: 225103
|
|
|
|
|
|
| |
fork()
llvm-svn: 225016
|
|
|
|
|
|
| |
Useful e.g. if the user only needs coverage is bitset
llvm-svn: 225002
|
|
|
|
| |
llvm-svn: 224999
|
|
|
|
|
|
|
| |
This increases the limit from 4M locations to 16M, reserving
64Mb virtual memory. Chrome has >5M unique coverage locations with coverage=3.
llvm-svn: 224855
|
|
|
|
|
|
|
|
| |
This is a re-commit of r224838 + r224839, previously reverted in r224850.
Test failures were likely (still can not reproduce) caused by two lit tests
using the same name for an intermediate build target.
llvm-svn: 224853
|
|
|
|
|
|
| |
Flaky failures on the build bots.
llvm-svn: 224850
|
|
|
|
|
|
| |
Looks like we can't use atexit() during ASan initialization on Windows.
llvm-svn: 224839
|
|
|
|
| |
llvm-svn: 224838
|
|
|
|
|
|
| |
File mapping offset was calculated by offsetting (uptr *) instead of (char *).
llvm-svn: 224821
|
|
|
|
|
|
| |
coverage for the entire process as a single bit set, and if coverage_bitset=1 actually emit that bitset
llvm-svn: 224789
|
|
|
|
|
|
| |
perf-critical function to a header. ALso set the coverage guard to 1 before the early return from CoverageData::Add
llvm-svn: 224660
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: No functionality change.
Test Plan: make check-all
Reviewers: kcc
Reviewed By: kcc
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D6472
llvm-svn: 223164
|
|
|
|
|
|
| |
of hardcoded constants
llvm-svn: 222803
|
|
|
|
|
|
| |
instead of setting the guard to 1 in the generated code, pass the pointer to guard to __sanitizer_cov and set it there. No user-visible functionality change expected
llvm-svn: 222675
|
|
|
|
|
|
| |
for various levels of -fsanitize-coverage
llvm-svn: 222291
|