Commit Graph

406 Commits

Author SHA1 Message Date
Sebastian Pop f58939a944 fix build check for aarch64 (#2179) 2019-02-20 21:17:50 -08:00
Sebastian Pop 890c999225 enable builds of base images for AArch64 (#2176)
First step to enable oss-fuzzers to run on native aarch64 as mentioned in
https://github.com/google/oss-fuzz/issues/1754#issuecomment-461926649
2019-02-20 16:16:46 +11: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 b58fb5dfdb [infra] Remove unused coverage-report-server.py from base-clang image. 2019-01-03 12:44:07 -08:00
Abhishek Arya 5c9cdcfc80
Add tinyxml2 xmltest small target exclusion 2018-12-22 02:19:25 -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
Max Moroz 9eb9f3bb63 [infra] Follow-up fix for bad_build_check script (#1990). 2018-11-30 12:38:08 -08:00
Max Moroz 7c2f32f748
[infra] Add return value to bad_build_checks script. (#1993) 2018-11-30 11:15:51 -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
Evgeny Vereshchagin 3740c751fd [infra] base-runner: remove strict_string_check from ASAN_OPTIONS (#1972)
Whether string_string_checks will be turned on or not is
being discussed in https://github.com/google/oss-fuzz/issues/542.
Until it's settled, it'd probably be better to remove the option
from ASAN_OPTIONS altogether so as not to confuse anybody.
2018-11-26 09:57:09 -08:00
Abhishek Arya 7de7a3afad
Add checksum_fuzzer to bad build check exclusions
This is due to small number of edges in the fuzz target
2018-11-11 07:16:34 -08:00
Evgeny Vereshchagin 3358b336be [infra]: place the findings of fuzzers run with `helper.py run_fuzzer` in $OUT (#1922)
When `libFuzzer` is used as a fuzzing engine it conveniently puts
everything it finds into its working directory, which happens to
be $OUT. When any other engine is used, the output is sent to /tmp,
which disappears as soon as the container stops. That makes it
unnecessarily hard to extract reproducers found by afl for further analysis
without joining the mount namespace of a running container and
almost impossible with `honggfuzz`, that exits immediately after a crash.
2018-11-08 09:27:46 +11:00
Abhishek Arya bbac75cdef
Revert "Revert "[infra] also pass dictionaries when `afl` or `honggfuzz` is used as a fuzzing engine (#1925)" (#1927)" (#1928)
This reverts commit 6c6934dc8b.
2018-11-06 08:30:58 -08:00
Max Moroz 6c6934dc8b
Revert "[infra] also pass dictionaries when `afl` or `honggfuzz` is used as a fuzzing engine (#1925)" (#1927)
This reverts commit 56fc756fc9.
2018-11-06 08:00:43 -08:00
Evgeny Vereshchagin 56fc756fc9 [infra] also pass dictionaries when `afl` or `honggfuzz` is used as a fuzzing engine (#1925)
Currently, dictionaries are taken into account only when `libfuzzer` is
used as a fuzzing engine (and also apparently `none` but I'm not sure what it is).
This patch makes it possible to make use of dictionaries with other fuzzing
engines too. I didn't touch the code handling options passed to libFuzzer
so as not to break anything :-)
2018-11-06 07:52:24 -08: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 2331c308cd [infra] Use -merge=1 instead of -runs=0 for coverage (#1743, follow-up #1547). 2018-09-25 17:22:07 -07:00
Max Moroz e348738942 [infra] Bump LLVM revision to r342582 to fix MSan issues. 2018-09-19 13:23:42 -07:00
Max Moroz 8f687dfdad [infra] Code Coverage: update download_corpus script and revert #1798. 2018-09-11 12:26:59 -07:00
Max Moroz 72b82ee08f [infra] Code Coverage: use -close_fd_mask=3 to speed up noisy fuzz targets. 2018-08-31 15:43:07 -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 649d3a7708
[infra] use -src-root-dir=/ and fail hard on errors (follow-up #1547). (#1746) 2018-08-23 08:09:52 -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 80ea4a427a
[infra] Coverage: handle shared libraries via coverage_helper script. (#1727)
* [infra] Coverage: handle shared libraries and provide per directory view.

* Add coverage_helper script for detecting shared libraries.

* Address review feedback.
2018-08-17 15:15:08 -07:00
Max Moroz f021e50a21
[infra] Coverage: export stats for individual fuzzers (to be uploaded in #1547). (#1722) 2018-08-16 21:23:56 -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 e1aa07c491
[infra] Add script for downloading a batch of corpus backups (for #1547). (#1713)
* [infra] Add script for downloading a batch of corpus backups (for #1547).

* Add missing wget dependency and replace a tab with spaces.

* Convert more tabs to spaces.
2018-08-15 06:34:10 -07:00
Max Moroz e6bf26c8dd
[infra] Bump LLVM revision to r338452. (#1708) 2018-08-13 07:44:21 -07:00
Max Moroz d747892866
[infra] Update coverage script to support sources white listing. (#1707) 2018-08-12 10:19:40 -07:00
Max Moroz b8a87a862e
[infra] Coverage: always exclude libFuzzer source from the report. (#1697) 2018-08-09 10:45:05 -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
Evgeny Vereshchagin d2d9860ecd [infra] skip the rest of check_instrumentation if grep hasn't found anything (#1689)
When a fuzzer is seriously broken (which happens occasionally during debug),
it's unlikely to start properly let alone provide some meaningful
output. In this case, it seems reasonable to skip some checks and prevent bash
from encountering the following syntax error:
```
/usr/local/bin/bad_build_check: line 68: ((: < 100 : syntax error: operand expected (error token is "< 100 ")
```
2018-08-04 18:14:29 -07:00
Max Moroz 815727b0b3
[infra] Add retry wrapper to LLVM checkout commands. (#1668)
* [infra] Add retry wrapper to LLVM checkout commands.

* Fix a typo.

* Clean up the retry wrapper as per discussion with Abhishek.

* Fix disabling / enabling exit-on-error mode, bash is hard!

* Fix a comment.
2018-07-27 14:19:32 -07:00
Max Moroz 6b761f3826
[infra] Export coverage data in JSON format for picking up by CF. (#1665) 2018-07-27 07:34:02 -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
Max Moroz 704da2ddac
[infra] Do not force our LLVM revision. (#1653) 2018-07-26 10:01:41 -07:00
Max Moroz 218f5dc3cf
[infra] Add an option to disable serving coverage report over HTTP (needed for #1547). (#1635) 2018-07-20 15:43:08 -07:00
Max Moroz 645a0375fe
[infra] Support extra arguments for llvm-cov + update the binaries. (#1629)
* [infra] Support extra arguments for llvm-cov + update the binaries.

* Slightly change the doc to be less confusing.
2018-07-19 15:58:58 -07:00
Oliver Chang 40326f9520 Add libcap2 to base-runner image. 2018-07-09 17:22:15 +10:00
Abhishek Arya 12982882b8
Fix #1591 2018-07-03 09:26:51 -07:00
Abhishek Arya 3af21b0252
Don't check for LLVMFuzzerTestOneInput when there is no fuzzing engine. (#1579) 2018-06-28 07:08:57 -07: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 d24dfd4971
Revert #1560 2018-06-27 08:27:13 -07:00