This should fix coverage build broken again today. It seems that a
recent change in TF toolchains removed the creation of `org_tensorflow`
but it is likely that this change will be rolled back in the future.
Hence, to keep OSSFuzz working, we conditionally remove this symlink.
It seems that due to some recent change in `BUILD` rules, `bazel`
creates a copy of the code tree under
`bazel-tensorflow/external/org_tensorflow` symlink. However, the tree
contains a `bazel-tensorflow` symlink so we get to an infinite symlink
expansion issue. This breaks coverage build.
The fix is simple: before copying `bazel-tensorflow/external` to
`${OUT}` in coverage builds, remove `org_tensorflow` symlink. This is
not an issue for the coverage build since we copy the entire source tree
to the coverage directory in a previous step.
* Remove manual denylisting in tensorflow
Remove manual denylisting of fuzzing targets using bazel query via tags.
* Add a space in the bazel query.
* Update the tag we should denylist.
* Update the comment.
We are adding a `tf.constant` fuzzer for Python in oss-fuzz. We do not want it to run on oss-fuzz yet until we are confident it works. Sorry for the repeated PRs into the oss-fuzz directory. Working to alleviate this.
Fix the build breakage caused by the AttrValues fuzzer in OSS. The target requires large artifacts to link against which are not optimal for OSS fuzzing.
* Link against `libc++` with proper config in `.bazelrc`
* Add support for `undefined` build, link against proper `clang_rt` library
* Don't rsync in verbose mode.
* Support `undefined` and `memory` sanitizers
* Support more fuzzers than just `libfuzzer`.
* Need to manually install numpy now as it is used in the toolchain
* Handle review
* Remove bazel install since we install bazelisk
* Force symlink python3 -> python
* Refactor build script
* Remove `-stdlib=libc++` as that causes link errors
* Remove `identity_fuzz` as it results in a huge fuzzer. Will work on reducing size and then enable back
* Copy fuzzer to `$OUT`, not move
* Handle coverage support
* Remove dga@google.com as he left Google
* Use python3 as python2 is deprecated
* Need to manually install numpy now as it is used in the toolchain
* Use bazelisk instead of the grep configure -> get Bazel version -> curl hack
* Remove C++11 constraint as TF now builds and uses C++14
* Handle review
* Remove source sed/replace as it is no longer needed
We are changing the location of the maximum/minimum bazel version in the
configure.py script so we need to update the way we're looking for the
version to install.
Breaking commit: 44000ad64a
* Determine Bazel version from configure.py script
* Install Bazel at the version from configure.py
* Don't downgrade Bazel on Dockerfile
* Make sure we were able to install proper Bazel
* Comment update
* Integrate tensorflow with OSSfuzz
* Don't install already installed dependencies
* Add environment variable to disable logging.
Some fuzzers are outputting too much information due to logging and
that's not ok when fuzzing. Use TF_CPP_MIN_LOG_LEVEL envvar to disable
printing of the log messages.
* Remove the environment variable as it is not used at runtime and we have a workaround in the pipeline
* Workaround bazel bug (bazelbuild/bazel#6697)
* Don't compile with -O2, instead remove line causing bazel bug
* Downgrade Bazel to use the last version that TF supports
* Speed-up building by building fuzzers in parallel
* Add corpora and dictionaries