Commit Graph

84 Commits

Author SHA1 Message Date
Max Moroz 5dece89e3c
[infra] Add support for dataflow builds to the helper script and build check (#1632). (#2501)
* [infra] Add support for dataflow builds to the helper script and build check (#1632).

* Update travis config file.

* Address self-review comments and specify dataflow sanitizer for zstd as well.

* Fix fuzzing_engines in project.yaml

* Fix bad build check for DFSan.

* Use "hasattr" in helper.py to check the sanitizer argument.

* Address more review comments.

* Remove DataFlow config from zstd.

* fix a typo
2019-06-12 11:08:15 -07:00
Max Moroz 3830c427b2 [infra] Ignore return code when removing seed corpus for dataflow build. 2019-06-10 15:32:51 -07:00
Max Moroz 1f0a33c712 [infra] Do not archive seed corpus for dataflow builds. 2019-06-10 10:00:20 -07:00
Max Moroz 3be06d5e78
[docs] Remove `-lFuzzingEngine` reference from base-builder image readme.
//cc @jonathanmetzman
2019-05-31 16:50:29 -07:00
jonathanmetzman 3976a002af
[i386] Improve linking and bad build check (#2410)
Improve linking by copying i386 libs instead of adding `-L` to `CXXFLAGS`
Get bad_build_check working for i386 binaries and add architecture check.
2019-05-14 10:18:02 -07:00
jonathanmetzman c60fcd7247
Add initial support for i386 builds (#2347)
This feature is not yet officially supported
2019-05-13 15:01:25 -07:00
jonathanmetzman ae9398deef
Change LIB_FUZZING_ENGINE to -fsanitize=fuzzer in libFuzzer builds (#2312) 2019-04-15 10:05:02 -07:00
Max Moroz 946d0603ba
[infra] Enabling DataFlow build configuration (#1632). (#2292)
* [infra] Enabling DataFlow build configuration (#1632).

* Copy all data flow scripts from the libFuzzer repo.
2019-04-09 07:25:14 -07:00
jonathanmetzman 6625401871
Fix build breakage caused by unnecessary AFL testing (#2291)
Don't test compilation with afl-clang and afl-fuzz
2019-04-04 07:11:40 -07:00
jonathanmetzman 2c9fa6a668
Allow preloading external libFuzzer functions using LD_PRELOAD (#2255) 2019-03-20 16:11:51 -07:00
Max Moroz 13b6571e2b [infra] Suppress errors from cp command in the coverage build (#2087 and others). 2019-01-14 13:01:16 -08:00
Max Moroz 2d1a956fcf [infra] Enable debugging mode for srcmap script to make its failures more obvious. 2018-12-10 10:11:40 -08:00
Oliver Chang 3d662e1bec
Add support for tags field in project.yaml (#1974) (#1980)
* Add support for tags field in project.yaml (#1974)

Also add "sundew" label to libxml2_xml_reader_for_file_fuzzer.

These add additional labels in filed bugs.
2018-11-27 16:46:26 +11:00
Max Moroz 66f8069ff1 [infra] Use -pthread instead of -Wl,-lpthread (fixes #1886). 2018-10-22 07:24:42 -07:00
Max Moroz 5c263869ae
[infra] Fix missing linking dependencies for coverage build (#1858). (#1863) 2018-10-09 11:04:03 -07:00
pdknsk 7b179a4a24 fix hg revision with uncomitted changes (#1849) 2018-10-02 10:52:49 -07:00
Max Moroz d39e0f7ea0 [infra] Restore srcmap binary back to base-builder image (follow-up #1848). 2018-10-01 23:13:59 -07:00
Max Moroz 7703e360de
[infra] Remove sancov and rename "profile" to "coverage". (#1839)
* [infra] Remove sancov and rename "profile" to "coverage".

* Bring coverage flags back.

* Update projects files that rely on SANITIZER="profile".
2018-10-01 06:43:21 -07:00
Max Moroz c5a9204ae7
[infra] Code Coverage: copy /usr/include headers and upload logs to GCS (follow-up #1547). (#1764) 2018-08-27 08:25:29 -07:00
Max Moroz d22e0cb352 [infra] Suppress errors from $COPY_SOURCES_CMD (follow-up #1741, #1547). 2018-08-22 07:20:09 -07:00
Max Moroz 17a6cfbd40
[infra] Use coverage utils from Chromium and other fixes (follow-up #1547). (#1741)
* [infra] Use coverage utils from Chromium and other fixes (follow-up #1547).

* Sort dependencies in an alpha order plus make more readable.

* Re-order arguments passed to coverage_helper script.

* Rename REPORT_DIR variable and put summary.json into platform specific dir.

* Fix -src-root-dir value.
2018-08-21 14:02:48 -07:00
Max Moroz 3c6e2bc79a [infra] Bring -ldl flag back and suppress warning messages (follow-up #1547). 2018-08-20 10:56:51 -07:00
Max Moroz 137bc2c9de
[infra] Add UBSAN_OPTIONS=\"silence_unsigned_overflow=1\" to base-builder image (#1715). (#1717) 2018-08-15 15:36:37 -07:00
Max Moroz 0fe45f59a7
[infra] Re-enable UIO for UBSan in a non-faulting mode (#910). (#1690) 2018-08-07 10:04:25 -07:00
Oliver Chang 2ef8e32bfa Move targets_list to base-runner. 2018-07-27 14:59:02 +10:00
Oliver Chang 60fb6a8d7b
Generate and upload targets list during build. (#1660) 2018-07-27 13:29:51 +10:00
Abhishek Arya 4e87bd622d
Revert "Add support for running perffuzz in infra/helper.py (#1540)" (#1578)
This reverts commit 7f26e2fd92.
2018-06-28 06:11:32 -07:00
Abhishek Arya bcf3d1dfa8
Revert "[infra] Compile fuzzing engine without SANITIZER_FLAGS unless MSan is used. (#1522)" (#1574)
This reverts commit 63d9392e59.
2018-06-26 13:08:14 -07:00
Abhishek Arya 7f26e2fd92
Add support for running perffuzz in infra/helper.py (#1540)
* Add support for running perffuzz in infra/helper.py
https://github.com/carolemieux/perffuzz

* Update compile_perffuzz

* Update run_fuzzer
2018-06-19 15:02:00 -07:00
Max Moroz 63d9392e59
[infra] Compile fuzzing engine without SANITIZER_FLAGS unless MSan is used. (#1522)
* [infra] Compile fuzzing engine without SANITIZER_FLAGS unless MSan is used.

* Use an additional FUZZING_ENGINE_SANITIZER_FLAGS variable and simplify the script

* Use $FUZZING_ENGINE_SANITIZER_FLAGS in compile_libfuzzer.
2018-06-18 10:10:01 -07:00
Max Moroz 20e55ce3b1
[infra] Enable clange code coverage reports generation for local runs. (#1494)
* [infra] Enable clange code coverage reports generation for local runs.

* Use runner image and move corpus management to the helper.py
.

* Clean up, delete unnecessary stuff, add comments.

* Run fuzz targets in parallel. Do not exit in case of an error.

* Address review feedback, except of the threading thing.

* Fix a typo.

* Use ThreadPool implementatino available in standard python2.7 package.

* Add dry run support + no corpus download option.

* Fix flags handling + add log output in case of an error.

* Append arguments for fuzz target instead of replacing them.

* Remove dry run functionality as it currently errors out after two runs.

* Fix some spacing in the code.

* Update documentation regarding new code coverage script.
2018-06-14 15:00:46 -07:00
jonathanmetzman 3971aef60d
[AFL] Improve builds of AFL package. (#1386)
Improve builds of AFL package.

Silence trivial known compile warning when building afl-llvm-rt.o.c
Also, don't build afl-fuzz using CFLAGS and CXXFLAGS since we don't
actually want to sanitize it.

This should cause AFL to be built with -O3 -funroll-loops (the defaults) instead of -fsanitize=... -O1 and -ginline-tables-only.
2018-04-30 13:17:13 -07:00
Oliver Chang 3d0c96c087
Make MSan builds with instrumented libraries (#608) (#1064) 2018-01-11 12:56:33 +11:00
Max Moroz c069a7c780 Revert of "[infra] Reland profile configuration needed for new code coverage.".
See more information in comments for PR #1050.
2017-12-28 15:10:53 -08:00
Max Moroz add7bbbb2d
[infra] Reland profile configuration needed for new code coverage. (#1050) 2017-12-28 11:10:47 -08:00
Max Moroz 5c5d71f4b3 [infra] Fix broken markup in documentation files. 2017-12-22 09:09:40 -08:00
robertswiecki 6f2b0b598a Use standard clang/clang++ to build binaries to-be-fuzzed (#1031) 2017-12-09 15:08:04 -08:00
Max Moroz 6204899516
[infra] Use "-fsanitize=fuzzer-no-link" instead of coverage flags. (#975) 2017-11-14 07:32:06 -08:00
Oliver Chang ccfb26c04c
Add Chakra. (#937) 2017-11-01 10:11:00 +11:00
Oliver Chang 312cd47208 Add priliminary support for "engine-less" builds.
Needed for #925.
2017-10-31 15:22:58 +11:00
Max Moroz 5e8a407923 [infra] Remove UIO from UBSan flags as it may create a lot of noise in the logs (#910). 2017-10-28 22:34:41 -07:00
Max Moroz 2c23c20d8c
[infra] enable -fsanitize=unsigned-integer-overflow in non-faulting mode (#910). (#927) 2017-10-27 14:13:11 -07:00
Max Moroz 63a6cb31b4 [infra] Fix the check for COVERAGE_FLAGS overrides in "compile" script. (#907)
* [infra] Fix the check for COVERAGE_FLAGS overrides in "compile" script.

* Add -pthread to coverage flags ("profile" sanitizer).
2017-10-20 17:15:02 -07:00
Oliver Chang b598181e29 Don't set sanitizer coverage flags for profile builds (#891). 2017-10-13 15:23:44 -07:00
Max Moroz 6a6163110a [infra] Add another coverage build using Clang Source-based Code Coverage. (#804)
* [infra] Add another coverage build using Clang Source-based Code Coverage.

* [infra] Remove redundant compile_coverage script.
2017-08-31 13:43:06 -07:00
Oliver Chang 621b2d4153 Update Dockerfile 2017-07-24 17:56:52 -07:00
Max Moroz 3cee68fa11 [infra] Remove "null" check from UBSan options. (#674)
There is not much value for us from this particular check:
- UBSan's "null" reports leading to real crashes are reported with ASan as well.
- Potential null references are not real crashes and might be considered
  as false positives, though it seems to be UB as per the standard.
2017-06-12 10:46:53 -07:00
robertswiecki fc451ca8af Practically revert 182f607f9b as it will force CC compiler for CXX in honggfuzz (#658) 2017-06-07 12:52:46 -07:00
robertswiecki 182f607f9b Use standard $CC as $HFUZZ_CC_ASAN to avoid expensive compiler search (#656) 2017-06-07 12:03:46 -07:00
Abhishek Arya e999b2cbab Enable 'return' feature for UBsan (#232) 2017-06-02 17:01:55 -07:00