Commit Graph

100 Commits

Author SHA1 Message Date
jonathanmetzman a2be91d3f1
Roll Clang to clang 14 (945cde8b6a4579406886d08f803b632e00f0b1ec) (#6362)
* Fix clang roll

* Disable dataflow where it breaks
2021-09-09 14:36:37 -07:00
jonathanmetzman 7ca003732d
[Ubuntu upgrade] Upgrade images to Ubuntu 20.04 (#6305)
Related: #6180.
2021-08-26 09:53:40 -07:00
Robert Löhning 48fa0d4d41
[infra] Upgrade cmake to latest release (3.21.1) (#6185)
Qt now requires 3.20 or higher.
2021-08-09 08:49:25 -07:00
jonathanmetzman ccea7f4ad9
[base-clang] Reduce base-clang size by deleting unneeded binaries+libraries (#5282)
Delete unneeded LLVM tools, clang libraries and testing tools.

This reduces the image size from 1.71 GB to 901 MB.
It may be possible to improve on this by deleting some LLVM
libraries though I don't know which ones we should delete
because AFL++ might use some).

Related https://github.com/google/oss-fuzz/issues/5170
2021-03-18 06:38:46 -07:00
Catena cyber c41e46ffc8
Rust coverage report (for Suricata) (#4697)
* Rust coverage test

* Workaround to get rust coverage for Suricata
2021-03-08 07:05:35 -08:00
jonathanmetzman 2cc07015ef
[base-clang] Reduce build time by ~65% (#5280)
Reduce build time by doing the following:
1. Building the second stage clang build with a clang binary we download
from chromium.
2. Changing NPROC to be half of the cores instead of assuming it's 16
cores. This still addresses the OOM when building on GCB but speeds up
local building.
3. Don't install recommended packages and use --depth 1 when possible
(very minor improvements compared to the above).

In all this reduces local build time of base-clang from 32 minutes
to 11 minutes.

Because build times are reduced, it will be easier to
iteratively develop changes needed for #5170
2021-03-03 14:57:29 -08:00
jonathanmetzman d7164ef352
[infra] Remove unneeded binaries, docs from CMake install (#5161)
This should reduce the image layer size from 127 MB to 57 MB
2021-02-18 09:49:41 -08:00
Abhishek Arya 2a0efd9c44
Downgrade llvm to clang-12 for a few weeks. (#5131)
Needed due to
https://github.com/google/fuzzbench/issues/1077#issuecomment-774727055
2021-02-07 10:49:07 -08:00
Oliver Chang 20b7246eae
Use more inclusive "blocklist" in code we control. (#5044) 2021-01-25 15:22:50 +11:00
Abhishek Arya 9d7f4f3100
Bump up llvm version to fix compile failure regression (old gcc) 2021-01-20 13:06:56 -08:00
Abhishek Arya a252dc2d3a
Use python3 in checkout_build_install_llvm.sh, revert python move patches. (#4974)
* Revert "Update Dockerfile"

This reverts commit 5eae19fb57.

* Revert "Move python 3 install to base-clang, needed for clang build. (#4967)"

This reverts commit 018314eefa.

* Use python3 in checkout_build_install_llvm.sh
2021-01-14 15:11:59 -08:00
Abhishek Arya 018314eefa
Move python 3 install to base-clang, needed for clang build. (#4967)
```
-- Looking for os_signpost_interval_begin - not found
CMake Error at /usr/local/share/cmake-3.19/Modules/FindPackageHandleStandardArgs.cmake:218 (message):
  Could NOT find Python3 (missing: Python3_EXECUTABLE Interpreter)
Call Stack (most recent call first):
  /usr/local/share/cmake-3.19/Modules/FindPackageHandleStandardArgs.cmake:582 (_FPHSA_FAILURE_MESSAGE)
  /usr/local/share/cmake-3.19/Modules/FindPython/Support.cmake:3148 (find_package_handle_standard_args)
  /usr/local/share/cmake-3.19/Modules/FindPython3.cmake:398 (include)
  CMakeLists.txt:711 (find_package)

-- Configuring incomplete, errors occurred!
See also "/work/llvm-stage1/CMakeFiles/CMakeOutput.log".
See also "/work/llvm-stage1/CMakeFiles/CMakeError.log".
The command '/bin/sh -c /root/checkout_build_install_llvm.sh' returned a non-zero code: 1
```
2021-01-14 11:15:13 -08:00
Robert Löhning b8262ba955
Upgrade cmake to latest release (3.19.2) (#4930) 2021-01-07 07:42:38 -08:00
Max Moroz 3f782ade9a
[infra] Unfreeze LLVM updating that was stopped due to #4608. (#4655) 2020-11-18 15:00:19 -08:00
Abhishek Arya 93214a5535
Move atheris install base builder where python3 is installed. (#4650) 2020-11-17 12:23:29 -08:00
Abhishek Arya a3356cbb7c
Fix CLANG_BIN path for atheris 2020-11-17 08:39:30 -08:00
mbarbella-chromium e3487bc8e2
Install Atheris in base-clang. (#4647)
Co-authored-by: Martin Barbella <mbarbella@google.com>
2020-11-16 16:34:05 -08:00
Abhishek Arya 400e898705
Freeze llvm version due to #4608 2020-11-06 08:12:02 -08:00
Max Moroz e2cd61f00a
[infra] Re-enable clang/LLVM auto-updating (#4348). (#4426) 2020-09-08 17:56:33 -07:00
Abhishek Arya a02946e8f4
Revert chromium clang roll to fix mismatched coverage data error (#4353)
Temporarily fixes #4348
2020-08-21 22:18:24 -07:00
Abhishek Arya 4628ee31a9
Revert "Revert "Compile + install LLVMgold.so so -flto works (#4332)" (#4351)" (#4352)
This reverts commit 7f8f5e0182.
2020-08-21 22:12:46 -07:00
Abhishek Arya 7f8f5e0182
Revert "Compile + install LLVMgold.so so -flto works (#4332)" (#4351)
This reverts commit d1ddd25937.
2020-08-21 16:52:23 -07:00
van Hauser d1ddd25937
Compile + install LLVMgold.so so -flto works (#4332) 2020-08-18 09:55:08 -07:00
Max Moroz a986d76ef4
[infra] Use 16 threads when building LLVM (#4270). (#4315)
* [infra] Use 16 threads when building LLVM (#4270).

* update the comment
2020-08-13 12:58:02 -07:00
Max Moroz cec66e9662
[infra] base-clang: limit the number of build threads to 4 (#4270). (#4311) 2020-08-12 16:44:29 -07:00
Abhishek Arya 751aa78373
Fix LLVM_REVISION parse regex (#4275)
Fix parse regex as per format change in
e6863f8783%5E%21/#F1
2020-08-06 20:12:58 -07:00
Oliver Chang 95e66c619e
Move cmake install to base-clang. (#4240)
Clang now needs a newer cmake to build.
2020-07-31 16:55:30 +10:00
Max Moroz 05bafd4fcf
[infra] Build libc++ and libc++abi with DFSan (#3388, #1632). (#4153)
* [infra] Build libc++ and libc++abi with DFSan (#3388, #1632).

* create a common function to reduce code duplication
2020-07-17 13:54:36 -07:00
jonathanmetzman 7fb04e4fda
Fix clang updating script to actually track Chrome's (#3806)
Fix clang updating script to actually update clang based on Chrome's

With this change, clang (llvm-project) will be updated from:
e84b7a5fe230e42b8e6fe451369874a773bf1867
to Chrome's current version:
99ac9ce7016d701b43b8f0c308dc3463da57d983.

This commit fixes two bad bugs:
1. Using the output of a command instead of the return code.
2. Using ! to determine whether the command succeeded ! in bash
will do the same thing for 0 and 1.

These bugs were hidden by OUR_LLVM_REVISION which we traditionally
set to the last commit we rolled back to. If this were a comment
instead of stored as a variable that is not supposed to be used
unless FORCE_OUR_REVISION is set, this bug probably could have
been caught earlier. Instead, the code always used the value
provided by this variable.

Fixes https://github.com/google/oss-fuzz/issues/3805
2020-05-13 17:07:18 -07:00
Max Moroz 340882a3ce
[infra] Build LLD inside base-clang image. (#3597) 2020-04-08 22:03:12 -07:00
Max Moroz 66e0e37939
[infra] Install LLVM binaries in base-runner using base-clang artifacts (#3067). (#3072)
* [infra] Install LLVM binaries in base-runner using base-clang artifacts (#3067).

* add one more comment and remove MAINTAINER lines from all images
2019-11-26 10:40:58 -08:00
jonathanmetzman 5668cc422c
Install clang using git (#3060) 2019-11-22 13:21:29 -08:00
jonathanmetzman c4202c2f48
Revert "Use "x86" instead of "i386" for better name recognition. (#2685)" (#2687)
This reverts commit 0c6cc5cae8.
2019-08-12 10:54:18 -07:00
jonathanmetzman 0c6cc5cae8
Use "x86" instead of "i386" for better name recognition. (#2685)
It seems more people understand x86 than i386, use this term instead.
2019-08-12 10:35:16 -07:00
Abhishek Arya e2003e1f39
Remove code for copying dataflow scripts (#2461)
Dataflow scripts are removed in
51570280af
2019-05-24 13:01:21 -07:00
jonathanmetzman 12fa975bc3 Update regex for clang revision (#2460) 2019-05-24 11:19:55 -07:00
jonathanmetzman 3df4e14520
Revert "[infra] Roll clang to r360398 (#2405)" (#2408)
This reverts commit 4a9941d9c4.
2019-05-13 15:07:29 -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 4a9941d9c4
[infra] Roll clang to r360398 (#2405) 2019-05-13 10:26:40 -07:00
jonathanmetzman 316c1df6a4
Roll clang to r359254 (#2358)
Roll clang to r359254 to uptake fixes for exception handling and MSAN.
2019-04-30 10:19:20 -04:00
jonathanmetzman a047d08b8e
Revert "[infra] Revert the recent clang roll to fix some builds (#2315) (#2316) (#2356)
* Revert "[infra] Revert the recent clang roll to fix some builds (#2315). (#2316)"

This reverts commit 8b34fd89d2.
2019-04-29 16:22:20 -04:00
Max Moroz 8b34fd89d2
[infra] Revert the recent clang roll to fix some builds (#2315). (#2316) 2019-04-12 09:14:09 -07:00
jonathanmetzman 97eca89ed9
Build clang so that it can compile targets with `-fsanitize=fuzzer` (#2311)
Build clang so that it can compile targets with -fsanitize=fuzzer
without adding any runtime dependencies.
2019-04-11 09:51:19 -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
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 b58fb5dfdb [infra] Remove unused coverage-report-server.py from base-clang image. 2019-01-03 12:44:07 -08:00
Max Moroz e348738942 [infra] Bump LLVM revision to r342582 to fix MSan issues. 2018-09-19 13:23:42 -07:00
Max Moroz e6bf26c8dd
[infra] Bump LLVM revision to r338452. (#1708) 2018-08-13 07:44:21 -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 704da2ddac
[infra] Do not force our LLVM revision. (#1653) 2018-07-26 10:01:41 -07:00