summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Fuzzer/FuzzerDriver.cpp
diff options
context:
space:
mode:
authorMarcos Pividori <mpividori@google.com>2016-12-13 17:45:20 +0000
committerMarcos Pividori <mpividori@google.com>2016-12-13 17:45:20 +0000
commitc59b692c85e0b75ffb3168c2dbec2a0280886c9b (patch)
treecec0e0d25a453d4860ebc832fdc9f7e8f80e4389 /llvm/lib/Fuzzer/FuzzerDriver.cpp
parent3462cac9afb58c5355f47ecfc8ce1c5dcae85a0a (diff)
downloadbcm5719-llvm-c59b692c85e0b75ffb3168c2dbec2a0280886c9b.tar.gz
bcm5719-llvm-c59b692c85e0b75ffb3168c2dbec2a0280886c9b.zip
[libFuzzer] Improve Signal Handler interface.
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
Diffstat (limited to 'llvm/lib/Fuzzer/FuzzerDriver.cpp')
-rw-r--r--llvm/lib/Fuzzer/FuzzerDriver.cpp18
1 files changed, 8 insertions, 10 deletions
diff --git a/llvm/lib/Fuzzer/FuzzerDriver.cpp b/llvm/lib/Fuzzer/FuzzerDriver.cpp
index 2e94530e721..1ff822c6881 100644
--- a/llvm/lib/Fuzzer/FuzzerDriver.cpp
+++ b/llvm/lib/Fuzzer/FuzzerDriver.cpp
@@ -457,16 +457,14 @@ int FuzzerDriver(int *argc, char ***argv, UserCallback Callback) {
StartRssThread(F, Flags.rss_limit_mb);
- // Timer
- if (Flags.timeout > 0)
- SetTimer(Flags.timeout / 2 + 1);
- if (Flags.handle_segv) SetSigSegvHandler();
- if (Flags.handle_bus) SetSigBusHandler();
- if (Flags.handle_abrt) SetSigAbrtHandler();
- if (Flags.handle_ill) SetSigIllHandler();
- if (Flags.handle_fpe) SetSigFpeHandler();
- if (Flags.handle_int) SetSigIntHandler();
- if (Flags.handle_term) SetSigTermHandler();
+ Options.HandleAbrt = Flags.handle_abrt;
+ Options.HandleBus = Flags.handle_bus;
+ Options.HandleFpe = Flags.handle_fpe;
+ Options.HandleIll = Flags.handle_ill;
+ Options.HandleInt = Flags.handle_int;
+ Options.HandleSegv = Flags.handle_segv;
+ Options.HandleTerm = Flags.handle_term;
+ SetSignalHandler(Options);
if (Flags.minimize_crash_internal_step)
return MinimizeCrashInputInternalStep(F, Corpus);
OpenPOWER on IntegriCloud