| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 290039
|
|
|
|
| |
llvm-svn: 290034
|
|
|
|
| |
llvm-svn: 290033
|
|
|
|
|
|
| |
(to make things faster). Also ensure that the signals from value profile do not intersect with the regular coverage
llvm-svn: 290031
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: This is superceded by protobuf mutation work.
Reviewers: kcc
Subscribers: mgorny
Differential Revision: https://reviews.llvm.org/D27865
llvm-svn: 290018
|
|
|
|
| |
llvm-svn: 289999
|
|
|
|
|
|
| |
max_len to 1M and tries to increases the actual max sizes of mutations very gradually. Also remove a bit of dead code
llvm-svn: 289998
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D27731
llvm-svn: 289966
|
|
|
|
|
|
|
|
|
| |
Remove includes of "unistd.h" header, which is missing in non posix
systems.
Differential Revision: https://reviews.llvm.org/D277300
llvm-svn: 289965
|
|
|
|
|
|
|
|
|
|
|
| |
specific.
Replace sleep() posix function by a more portable sleep_for() function
from std. Also, ignore memmem() and strcasestr() on Windows.
Differential Revision: https://reviews.llvm.org/D27729
llvm-svn: 289964
|
|
|
|
|
|
| |
trace-pc-guard only)
llvm-svn: 289772
|
|
|
|
|
|
| |
might be uninitialized
llvm-svn: 289680
|
|
|
|
|
|
| |
by luck, because the way shifts actually work on clang+x86
llvm-svn: 289607
|
|
|
|
| |
llvm-svn: 289564
|
|
|
|
|
|
|
|
|
|
| |
Windows uses some macros to replace DeleteFile() by DeleteFileA() or
DeleteFileW(). This was causing an error at link time.
DeleteFile was renamed to RemoveFile().
Differential Revision: https://reviews.llvm.org/D27577
llvm-svn: 289563
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement DirName from scratch to avoid dependencies on external libraries.
It's based on MSDN documentation for Naming Files, Paths, and Namespaces.
The algorithm can't simply start from the end and look backwards for the
first separator, because we need to preserve the prefix that represent
the root location. We shouldn't remove anything there. In Windows we
have many different options, like:
\\Server\Share\ , \ , C: , C:\ , \\?\C:\ , \\?\UNC\Server\Share\
We remove the last separator in the rest of the path, if it exists.
It was implemented to have a similar behaviour to dirname() in linux,
removing trailing separators, returning "." when the path doesn't
contain separators, etc.
Differential Revision: https://reviews.llvm.org/D27579
llvm-svn: 289562
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I added a new flag RunningCB to know if the Fuzzer's main thread is
running the CB function, instead of using (!CurrentUnitSize).
(!CurrentUnitSize) doesn't work properly. For example, in FuzzerLoop.cpp,
inside ShuffleAndMinimize() function, we execute the callback with an
empty string (size=0). Previous implementation failed to detect timeouts
in that execution.
Also, I add a regression test for that case.
Differential Revision: https://reviews.llvm.org/D27433
llvm-svn: 289561
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reorganize #includes to follow LLVM Coding Standards.
Include some missing headers. Required to use `Printf()`.
Aside from that, this patch contains no functional change.
It is purely a re-organization.
Differential Revision: https://reviews.llvm.org/D27363
llvm-svn: 289560
|
|
|
|
|
|
|
|
|
|
|
| |
std::thread::hardware_concurrency() returns an unsigned, so I modify
NumberOfCpuCores() to return unsigned too.
The number of cpus is used to define the number of workers, so I decided
to update the worker and jobs flags to be declared as unsigned too.
Differential Revision: https://reviews.llvm.org/D27685
llvm-svn: 289559
|
|
|
|
|
|
|
|
|
|
| |
Use unsigned for PID instead of signed int. GetCurrentProcessId() returns
an unsigned (DWORD) so we must be sure we can deal with all possible values.
I use a long unsigned to be sure it can hold a 32 bit unsigned (DWORD).
Differential Revision: https://reviews.llvm.org/D27281
llvm-svn: 289558
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add new flags to FuzzingOptions to represent the different conditions
on the signal handling. These options are passed when calling
SetSignalHandler().
This changes simplify the implementation of Windows's exception
handling. Now we can define a unique handler for all the exceptions.
Differential Revision: https://reviews.llvm.org/D27238
llvm-svn: 289557
|
|
|
|
|
|
| |
-max_total_time=600). Also respect exact_artifact_path when outputting the end result
llvm-svn: 289506
|
|
|
|
|
|
|
|
|
|
| |
Implemented timeouts for Windows using TimerQueueTimers.
Timers are used to supervise the time of execution of the
callback function that is being fuzzed.
Differential Revision: https://reviews.llvm.org/D27237
llvm-svn: 289495
|
|
|
|
| |
llvm-svn: 289481
|
|
|
|
| |
llvm-svn: 289477
|
|
|
|
| |
llvm-svn: 289469
|
|
|
|
| |
llvm-svn: 289467
|
|
|
|
| |
llvm-svn: 289368
|
|
|
|
| |
llvm-svn: 289314
|
|
|
|
| |
llvm-svn: 289313
|
|
|
|
| |
llvm-svn: 289312
|
|
|
|
|
|
| |
-fsanitize-coverage=trace-pc-guard. Support for the previosly used instrumentation will be removed in the following changes
llvm-svn: 289311
|
|
|
|
|
|
| |
name while printing the coverage
llvm-svn: 289310
|
|
|
|
|
|
| |
(https://github.com/google/sanitizers/issues/722). This is a first experimental variant that needs some more testing, thus not yet adding a lit test (but there are unit tests).
llvm-svn: 289166
|
|
|
|
|
|
| |
Dejan Mircevski
llvm-svn: 288979
|
|
|
|
|
|
| |
ways. Also initialize a couple of Fuzzer:: members that might have been used uninitialized :(
llvm-svn: 288731
|
|
|
|
|
|
|
|
| |
This resubmits r288529, which was resubmitted because it broke a
fuzzer bot. According to kcc@ the test that broke was flakey
and it is unlikely to be a result of this patch.
llvm-svn: 288549
|
|
|
|
|
|
|
| |
This reverts commit r288529, as it seems to introduce some
problems on the Linux bots.
llvm-svn: 288533
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Windows doesn't really support weak aliases, but with some
linker magic we can get something that's pretty close on
Windows. This introduces an interface to accessing weakly
aliased symbols that will work on any platform. Linker
magic changes to come in a separate patch.
Patch by Marcos Pividori
Differential Revision: https://reviews.llvm.org/D27235
llvm-svn: 288530
|
|
|
|
|
|
|
|
|
|
| |
Pave the way for separating out platform specific
utility functions into separate files.
Patch by Marcos Pividori
Differential Revision: https://reviews.llvm.org/D27234
llvm-svn: 288529
|
|
|
|
| |
llvm-svn: 288392
|
|
|
|
| |
llvm-svn: 288389
|
|
|
|
|
|
| |
instrumented code. also revert r288299 which was a workaround for the problem.
llvm-svn: 288300
|
|
|
|
| |
llvm-svn: 288299
|
|
|
|
|
|
| |
exceeds the limit
llvm-svn: 288281
|
|
|
|
|
|
| |
covered dirs. Note: the Windows stub for DirName is left unimplemented
llvm-svn: 288276
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch moves some posix specific file i/o code into a new
file, FuzzerIOPosix.cpp, and provides implementations for these
functions on Windows in FuzzerIOWindows.cpp. This is another
incremental step towards getting libfuzzer working on Windows,
although it still should not be expected to be fully working.
Patch by Marcos Pividori
Differential Revision: https://reviews.llvm.org/D27233
llvm-svn: 288275
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
This is the beginning of an effort to get libfuzzer working on
Windows. This is a NFC to just add some macros for platform
detection on Windows.
Patch by Marcos Pividori
Differential Revision: https://reviews.llvm.org/D27229
llvm-svn: 288249
|
|
|
|
| |
llvm-svn: 286870
|