Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

infra: Roll OUR_LLVM_REVISION #11714

Merged
merged 90 commits into from
Apr 29, 2024
Merged
Show file tree
Hide file tree
Changes from 60 commits
Commits
Show all changes
90 commits
Select commit Hold shift + click to select a range
d7624af
Update clang to clang-15
jonathanmetzman Aug 1, 2022
e040cda
Fix atheris install
jonathanmetzman Aug 1, 2022
445af02
try again
jonathanmetzman Aug 2, 2022
32cc42f
Fix i386 compilation
jonathanmetzman Aug 3, 2022
f5c348a
Fix rust and python
jonathanmetzman Aug 5, 2022
7c7b5fe
Fix atheris:
jonathanmetzman Aug 10, 2022
7426bbe
fix
jonathanmetzman Sep 29, 2022
9734c6d
Roll to clang 17
jonathanmetzman Jun 13, 2023
831a115
fix
jonathanmetzman Jun 13, 2023
59acb96
tmp
jonathanmetzman Jun 13, 2023
9edffe3
Merge branch 'master' into roll-clang
jonathanmetzman Feb 21, 2024
7cecde1
18
jonathanmetzman Feb 21, 2024
b572e75
Fix
jonathanmetzman Mar 5, 2024
af99d25
Merge branch 'master' into roll-clang
jonathanmetzman Mar 5, 2024
facb3da
fixup
maflcko Mar 18, 2024
99eb541
Properly set stage2 compiler, and source dir
maflcko Mar 18, 2024
63ad15e
Merge remote-tracking branch 'upstream/master' into 2403-roll-clang-
maflcko Mar 18, 2024
73f101e
infra: bump rust
maflcko Mar 18, 2024
36cfd0d
Merge remote-tracking branch 'upstream/master' into 2403-roll-clang-
maflcko Mar 18, 2024
497dbc7
infra: Fix python for libfuzzer-18
maflcko Mar 18, 2024
1a37f77
infra: echo
maflcko Mar 18, 2024
6560eff
infra: * works locally, no idea why it does not on GHA
maflcko Mar 18, 2024
0371eb1
Revert to 497dbc712c53791186db8d3894b6c4ba7568cc0e
maflcko Mar 18, 2024
0e04b75
Merge remote-tracking branch 'upstream/master' into 2403-roll-clang-
maflcko Mar 18, 2024
e8dece5
infra: echo
maflcko Mar 18, 2024
1b5c0a9
compiler-rt
maflcko Mar 19, 2024
ac94e64
Merge remote-tracking branch 'upstream/master' into 2403-roll-clang-
maflcko Mar 19, 2024
67511e4
i386
maflcko Mar 19, 2024
e681e68
Merge remote-tracking branch 'upstream/master' into 2403-roll-clang-
maflcko Mar 20, 2024
0fe67e0
Merge branch 'master' into 2403-roll-clang
maflcko Mar 25, 2024
d6a2a3e
Merge remote-tracking branch 'upstream/master' into 2403-roll-clang
maflcko Mar 27, 2024
5f4bc6d
fix python fuzzing (take 2)
maflcko Mar 27, 2024
a01baa6
Pin some failing projects to the current base image
maflcko Mar 27, 2024
f136d02
pin more
maflcko Mar 28, 2024
39fa5d7
Merge remote-tracking branch 'upstream/master' into 2403-roll-clang
maflcko Mar 28, 2024
9ac77b2
Pin more
maflcko Mar 28, 2024
dbc0a35
Merge remote-tracking branch 'upstream/master' into 2403-roll-clang
maflcko Mar 29, 2024
a51f59b
Pin projects with pending upstream fixes
maflcko Mar 29, 2024
cb50b3a
Pin rust projects
maflcko Mar 29, 2024
1431b42
Pin python projects
maflcko Mar 29, 2024
68ac6c7
Revert "Pin python projects"
maflcko Mar 29, 2024
31053b8
Pin ffmpeg
maflcko Mar 29, 2024
7add704
infra: Set -Wno-error=implicit-function-declaration -Wno-error=implic…
maflcko Mar 29, 2024
a8f0448
unlock projects again
maflcko Mar 29, 2024
b0b3c5c
unlock more projects
maflcko Mar 29, 2024
4b102bb
infra: vla-cxx-extension
maflcko Mar 29, 2024
e80d234
unlock vla projects
maflcko Mar 29, 2024
61ade86
Disable xz (Merge remote-tracking branch 'upstream/master' into 2403-…
maflcko Mar 29, 2024
ac41c22
Merge remote-tracking branch 'upstream/master' into 2403-roll-clang
maflcko Mar 29, 2024
77418cd
deprecated-declarations
maflcko Mar 30, 2024
c243fda
re-pin still failing projects
maflcko Mar 30, 2024
730b595
Merge remote-tracking branch 'upstream/master' into 2403-roll-clang
maflcko Apr 2, 2024
83510f6
pin libavif
maflcko Apr 2, 2024
3900a29
Pin projects due to ubsan function sanitizer
maflcko Apr 2, 2024
77e2416
formatting
maflcko Apr 2, 2024
05f9912
Pin gdal due to 32-bit issue
maflcko Apr 2, 2024
8411086
Merge remote-tracking branch 'upstream/master' into 2403-roll-clang
maflcko Apr 2, 2024
6fbacb2
Merge remote-tracking branch 'upstream/master' into 2403-roll-clang
maflcko Apr 3, 2024
5fe9a77
CFLAGS -fno-sanitize=function
maflcko Apr 3, 2024
21d3761
Revert "Pin projects due to ubsan function sanitizer"
maflcko Apr 3, 2024
fd20335
Merge remote-tracking branch 'upstream/master' into 2403-roll-clang
maflcko Apr 4, 2024
488a9eb
Add -fno-sanitize=function TODO(#11778)
maflcko Apr 4, 2024
a440a47
int-conversion + envoy
maflcko Apr 4, 2024
a996285
fluent-bit: Pin due to dwarf error
maflcko Apr 4, 2024
a996f20
grpc-httpjson-transcoding: Pin due to /usr/bin/ld.gold: warning: Cann…
maflcko Apr 4, 2024
44c695d
envoy: Pin due to int-conversion error
maflcko Apr 4, 2024
ac95179
Pin 32-bit build failures
maflcko Apr 4, 2024
1fa5335
-Wno-error=incompatible-function-pointer-types
maflcko Apr 4, 2024
d083d8b
enum-constexpr-conversion
maflcko Apr 4, 2024
659d1e6
pin orbit due to conan setting
maflcko Apr 4, 2024
8a14a29
pin hdf5 due to dwarf error
maflcko Apr 4, 2024
601eb97
UBSAN_CALLS_THRESHOLD_FOR_UBSAN_BUILD=168
maflcko Apr 4, 2024
32fee35
unpin projects
maflcko Apr 4, 2024
1614e2f
Revert "unpin projects"
maflcko Apr 4, 2024
0f72c7f
Disable failing msan
maflcko Apr 4, 2024
53d96ab
format
maflcko Apr 4, 2024
5e168fe
Pin afl link errors
maflcko Apr 4, 2024
27148ba
Add comment about the pin
maflcko Apr 4, 2024
5b56d71
Merge remote-tracking branch 'upstream/master' into 2403-roll-clang
maflcko Apr 5, 2024
7271062
Merge remote-tracking branch 'upstream/master' into 2403-roll-clang
maflcko Apr 9, 2024
7977bcd
Roll clang to a previous 18-trunk to allow the coverage build for pin…
maflcko Apr 10, 2024
314d7d9
Merge remote-tracking branch 'upstream/master' into 2403-roll-clang
maflcko Apr 10, 2024
672117a
Merge remote-tracking branch 'upstream/master' into 2403-roll-clang
maflcko Apr 12, 2024
e2fffee
Merge remote-tracking branch 'upstream/master' into 2403-roll-clang
maflcko Apr 15, 2024
2a40864
Revert "infra: bump rust"
maflcko Apr 17, 2024
cf1c790
Merge remote-tracking branch 'upstream/master' into 2403-roll-clang
maflcko Apr 17, 2024
767c7d3
Pin some projects (with comments)
maflcko Apr 17, 2024
321ebca
wireshark: Turn compile errors into compile warnings
maflcko Apr 17, 2024
c6a6d86
Merge remote-tracking branch 'upstream/master' into 2403-roll-clang
maflcko Apr 29, 2024
cdd10ad
projects: Two small fixups
maflcko Apr 29, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 8 additions & 5 deletions infra/base-images/base-builder/compile
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,6 @@ sysctl -w vm.mmap_rnd_bits=28

OSS_FUZZ_ON_DEMAND="${OSS_FUZZ_ON_DEMAND:-0}"

# This is a temporary fix: fall back to LLVM14's old pass manager
if [ -n "${OLD_LLVMPASS-}" ]; then
export SANITIZER_FLAGS_introspector=$(echo $SANITIZER_FLAGS_introspector | sed -r 's/-O0/-flegacy-pass-manager/')
fi

if [ "$FUZZING_LANGUAGE" = "jvm" ]; then
if [ "$FUZZING_ENGINE" != "libfuzzer" ] && [ "$FUZZING_ENGINE" != "wycheproof" ]; then
echo "ERROR: JVM projects can be fuzzed with libFuzzer or tested with wycheproof engines only."
Expand Down Expand Up @@ -79,6 +74,7 @@ fi
if [[ $ARCHITECTURE == "i386" ]]; then
export CFLAGS="-m32 $CFLAGS"
cp -R /usr/i386/lib/* /usr/local/lib
cp -R /usr/i386/include/* /usr/local/include
fi

# Don't use a fuzzing engine with Jazzer which has libFuzzer built-in or with
Expand Down Expand Up @@ -133,6 +129,13 @@ export CUSTOM_LIBFUZZER_STD_CXX=c++
export CFLAGS="$CFLAGS $SANITIZER_FLAGS $COVERAGE_FLAGS"
export CXXFLAGS="$CFLAGS $CXXFLAGS_EXTRA"

if [ "$SANITIZER" = "undefined" ]; then
# Disable "function" sanitizer for C code for now, because many projects,
# possibly via legacy C code are affected.
# The projects should be fixed and this workaround be removed in the future.
maflcko marked this conversation as resolved.
Show resolved Hide resolved
export CFLAGS="$CFLAGS -fno-sanitize=function"
fi

if [ "$FUZZING_LANGUAGE" = "go" ]; then
# required by Go 1.20
export CXX="${CXX} -lresolv"
Expand Down
3 changes: 1 addition & 2 deletions infra/base-images/base-builder/compile_libfuzzer
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,5 @@ if [ "$FUZZING_LANGUAGE" = "go" ]; then
export LIB_FUZZING_ENGINE="$LIB_FUZZING_ENGINE $GOPATH/gosigfuzz/gosigfuzz.o"
fi

cp /usr/local/lib/clang/*/lib/linux/libclang_rt.fuzzer-$ARCHITECTURE.a \
$LIB_FUZZING_ENGINE_DEPRECATED
cp /usr/local/lib/clang/*/lib/$ARCHITECTURE-unknown-linux-gnu/libclang_rt.fuzzer.a $LIB_FUZZING_ENGINE_DEPRECATED
echo " done."
2 changes: 1 addition & 1 deletion infra/base-images/base-builder/install_python.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,5 @@ echo "ATHERIS INSTALL"
unset CFLAGS CXXFLAGS
# PYI_STATIC_ZLIB=1 is needed for installing pyinstaller 5.0
export PYI_STATIC_ZLIB=1
pip3 install -v --no-cache-dir "atheris>=2.1.1" "pyinstaller==5.0.1" "coverage==6.3.2"
LIBFUZZER_LIB=$( echo /usr/local/lib/clang/*/lib/x86_64-unknown-linux-gnu/libclang_rt.fuzzer_no_main.a ) pip3 install -v --no-cache-dir "atheris>=2.1.1" "pyinstaller==5.0.1" "coverage==6.3.2"
rm -rf /tmp/*
5 changes: 3 additions & 2 deletions infra/base-images/base-builder/install_rust.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@
#
################################################################################

curl https://sh.rustup.rs | sh -s -- -y --default-toolchain=nightly-2023-12-28 --profile=minimal
curl https://sh.rustup.rs | sh -s -- -y --default-toolchain=nightly --profile=minimal
cargo install cargo-fuzz && rm -rf /rust/registry
# Needed to recompile rust std library for MSAN
rustup component add rust-src --toolchain nightly-2023-12-28
rustup component add rust-src --toolchain nightly
cp -r /usr/local/lib/x86_64-unknown-linux-gnu/* /usr/local/lib/
8 changes: 6 additions & 2 deletions infra/base-images/base-clang/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ ARG arch=x86_64

ENV FUZZINTRO_OUTDIR=$SRC


# Install newer cmake.
ENV CMAKE_VERSION 3.24.2
RUN apt-get update && apt-get install -y wget sudo && \
Expand Down Expand Up @@ -56,6 +55,11 @@ ENV CCC "clang++"
# FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION is described at
# https://llvm.org/docs/LibFuzzer.html#fuzzer-friendly-build-mode

ENV CFLAGS "-O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION"
# The implicit-function-declaration and implicit-int errors are downgraded to a
# warning, to allow compiling legacy code.
# See https://releases.llvm.org/16.0.0/tools/clang/docs/ReleaseNotes.html#potentially-breaking-changes
# Same for vla-cxx-extension, deprecated-declarations

ENV CFLAGS "-O1 -fno-omit-frame-pointer -gline-tables-only -Wno-error=deprecated-declarations -Wno-error=vla-cxx-extension -Wno-error=implicit-function-declaration -Wno-error=implicit-int -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION"
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder to what extend it makes sense to enumerate each warnings that is turned into an error. This may require additional effort to maintain, going forward. Also, it may become verbose. The following remaining projects turn warnings into errors, and cause themselves to fail to build with clang-18:

freeimage  # dynamic-exception-spec
gdk-pixbuf # int-conversion
msquic     # invalid-unevaluated-string
osquery    # enum-constexpr-conversion
pcl        # boost bump needed
poppler    # unused-but-set-variable
quantlib   # deprecated-declarations, enum-constexpr-conversion
readstat   # strict-prototypes
samba      # strict-prototypes
solidity   # deprecated-declarations, boost-bump
tinyusb    # missing-field-initializers
wpantund   # int-conversion

If the goal is to be developer friendly and aggressively try to compile any code (even if it is not fully conformant) into a fuzz binary, an easier way would be to globally set no-error here (for all errors).

The hope would be that any erroneous code would then not show up as a build failure, but as a runtime-sanitizer failure. I think this is reasonable, but please let me know what you prefer.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The following remaining projects turn warnings into errors, and cause themselves to fail to build with clang-18:
<...>
If the goal is to be developer friendly and aggressively try to compile any code (even if it is not fully conformant) into a fuzz binary, an easier way would be to globally set no-error here (for all errors).

Note that the last flag wins (https://godbolt.org/z/64oqzYfoE),
so that won't quite work.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that the last flag wins

Yes, I am aware.

so that won't quite work.

It works for all projects that do not append error flags, which seems to be all (or at least the majority) of the projects for now.

Are you trying to say overwriting the error flags should not be done in the infra?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that the last flag wins

Yes, I am aware.

so that won't quite work.

It works for all projects that do not append error flags, which seems to be all (or at least the majority) of the projects for now.

I'm just saying that it will generally only work for projects that don't adjust warning flags themselves.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't have a clear goal in mind, just that widely breaking projects is bad but smaller breakages or locally fixing a few projects is OK. So if it will cause wide breakage, we should avoid it.
:-)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Jup, I think the current warning downgrades are fine, to allow to compile most projects.

I'll follow-up in the days after merge of this pull to un-pin the projects listed in #11714 (comment) to work around rare compile error types.

Next year, or so, the -Wno-error= could be revisited and some could maybe removed.

ENV CXXFLAGS_EXTRA "-stdlib=libc++"
ENV CXXFLAGS "$CFLAGS $CXXFLAGS_EXTRA"
20 changes: 11 additions & 9 deletions infra/base-images/base-clang/checkout_build_install_llvm.sh
Original file line number Diff line number Diff line change
Expand Up @@ -50,14 +50,14 @@ LLVM_DEP_PACKAGES="build-essential make ninja-build git python3 python3-distutil
apt-get update && apt-get install -y $LLVM_DEP_PACKAGES --no-install-recommends

# For manual bumping.
OUR_LLVM_REVISION=llvmorg-15-init-1464-gbf7f8d6f
OUR_LLVM_REVISION=llvmorg-18-init-14420-gea3a3b25

mkdir $SRC/chromium_tools
cd $SRC/chromium_tools
git clone https://chromium.googlesource.com/chromium/src/tools/clang
cd clang
# Pin clang due to https://github.com/google/oss-fuzz/issues/7617
git checkout 946a41a51f44207941b3729a0733dfc1e236644e
# Pin clang script due to https://github.com/google/oss-fuzz/issues/7617
git checkout 9eb79319239629c1b23cf7a59e5ebb2bab319a34

# To allow for manual downgrades. Set to 0 to use Chrome's clang version (i.e.
# *not* force a manual downgrade). Set to 1 to force a manual downgrade.
Expand Down Expand Up @@ -91,14 +91,15 @@ function clone_with_retries {
}
clone_with_retries https://github.com/llvm/llvm-project.git $LLVM_SRC

PROJECTS_TO_BUILD="libcxx;libcxxabi;compiler-rt;clang;lld"
PROJECTS_TO_BUILD="clang;lld"
function cmake_llvm {
extra_args="$@"
cmake -G "Ninja" \
-DLIBCXX_ENABLE_SHARED=OFF \
-DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=ON \
-DLIBCXXABI_ENABLE_SHARED=OFF \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_ENABLE_RUNTIMES="compiler-rt;libcxx;libcxxabi" \
-DLLVM_TARGETS_TO_BUILD="$TARGET_TO_BUILD" \
-DLLVM_ENABLE_PROJECTS="$PROJECTS_TO_BUILD" \
-DLLVM_BINUTILS_INCDIR="/usr/include/" \
Expand Down Expand Up @@ -145,7 +146,8 @@ rm -rf $WORK/llvm-stage1 $WORK/llvm-stage2
cp -r $LLVM_SRC/compiler-rt/lib/fuzzer $SRC/libfuzzer

# Use the clang we just built from now on.
CMAKE_EXTRA_ARGS="-DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++"
export CC=clang
export CXX=clang++

function free_disk_space {
rm -rf $LLVM_SRC $SRC/chromium_tools
Expand Down Expand Up @@ -222,16 +224,16 @@ function cmake_libcxx {
-DLIBCXXABI_ENABLE_SHARED=OFF \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_TARGETS_TO_BUILD="$TARGET_TO_BUILD" \
-DLLVM_ENABLE_PROJECTS="libcxx;libcxxabi" \
-DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi" \
-DLLVM_BINUTILS_INCDIR="/usr/include/" \
$extra_args \
$LLVM_SRC/llvm
-S $LLVM_SRC/runtimes
}

# 32-bit libraries.
mkdir -p $WORK/i386
cd $WORK/i386
cmake_libcxx $CMAKE_EXTRA_ARGS \
cmake_libcxx \
-DCMAKE_INSTALL_PREFIX=/usr/i386/ \
-DCMAKE_C_FLAGS="-m32" \
-DCMAKE_CXX_FLAGS="-m32"
Expand All @@ -249,7 +251,7 @@ cat <<EOF > $WORK/msan/blocklist.txt
fun:__gxx_personality_*
EOF

cmake_libcxx $CMAKE_EXTRA_ARGS \
cmake_libcxx \
-DLLVM_USE_SANITIZER=Memory \
-DCMAKE_INSTALL_PREFIX=/usr/msan/ \
-DCMAKE_CXX_FLAGS="-fsanitize-blacklist=$WORK/msan/blocklist.txt"
Expand Down
2 changes: 1 addition & 1 deletion projects/ampproject/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
#
################################################################################

FROM gcr.io/oss-fuzz-base/base-builder
FROM gcr.io/oss-fuzz-base/base-builder@sha256:19782f7fe8092843368894dbc471ce9b30dd6a2813946071a36e8b05f5b1e27e
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be really incredible if you could leave a comment on each of these pinnings where we link back to this PR, and in this PR you could explain how to find the build failure logs.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't preserve all failure logs, so my recommendation would be to create a follow-up pull request to un-pin all projects and then run a trial build to gather the all current failure logs in one run. Then, I can add a link to that run in all affected projects.

RUN apt-get update && apt-get install -y make autoconf automake libtool libomp-dev libgomp1 nodejs
COPY build.sh *.diff $SRC/

Expand Down
2 changes: 1 addition & 1 deletion projects/arrow/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
#
################################################################################

FROM gcr.io/oss-fuzz-base/base-builder
FROM gcr.io/oss-fuzz-base/base-builder@sha256:19782f7fe8092843368894dbc471ce9b30dd6a2813946071a36e8b05f5b1e27e

ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update -y -q && \
Expand Down
2 changes: 1 addition & 1 deletion projects/askama/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ for CRATE_DIR in ${FUZZ_CRATE_DIRS[@]};
do
echo "Building crate: $CRATE_DIR"
cd $CRATE_DIR
cargo +nightly-2023-12-28 fuzz build -O
cargo +nightly fuzz build -O
FUZZ_TARGET_OUTPUT_DIR=fuzz/target/x86_64-unknown-linux-gnu/release
for f in fuzz/fuzz_targets/*.rs
do
Expand Down
2 changes: 1 addition & 1 deletion projects/bitcoin-core/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
#
################################################################################

FROM gcr.io/oss-fuzz-base/base-builder-rust
FROM gcr.io/oss-fuzz-base/base-builder@sha256:19782f7fe8092843368894dbc471ce9b30dd6a2813946071a36e8b05f5b1e27e

# Packages taken from:
# * https://github.com/bitcoin/bitcoin/blob/master/doc/build-unix.md#dependency-build-instructions
Expand Down
2 changes: 1 addition & 1 deletion projects/boost-json/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
#
################################################################################

FROM gcr.io/oss-fuzz-base/base-builder
FROM gcr.io/oss-fuzz-base/base-builder@sha256:19782f7fe8092843368894dbc471ce9b30dd6a2813946071a36e8b05f5b1e27e
#RUN apt-get update && apt-get install -y g++

RUN git clone --depth 1 --single-branch --branch master https://github.com/boostorg/boost.git
Expand Down
2 changes: 1 addition & 1 deletion projects/boost/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
#
################################################################################

FROM gcr.io/oss-fuzz-base/base-builder
FROM gcr.io/oss-fuzz-base/base-builder@sha256:19782f7fe8092843368894dbc471ce9b30dd6a2813946071a36e8b05f5b1e27e
RUN apt-get update && apt-get install -y g++ python

RUN git clone --recursive https://github.com/boostorg/boost.git
Expand Down
2 changes: 1 addition & 1 deletion projects/crosvm/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ cd crosvm

# Build crosvm fuzzers
# Unset the SRC variable as it will interfere with minijail's common.mk framework.
env -u SRC cargo +nightly-2023-12-28 fuzz build -O
env -u SRC cargo +nightly fuzz build -O

# Copy fuzzer binaries to $OUT
FUZZ_TARGET_OUTPUT_DIR="target/x86_64-unknown-linux-gnu/release"
Expand Down
2 changes: 1 addition & 1 deletion projects/ffmpeg/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
#
################################################################################

FROM gcr.io/oss-fuzz-base/base-builder
FROM gcr.io/oss-fuzz-base/base-builder@sha256:19782f7fe8092843368894dbc471ce9b30dd6a2813946071a36e8b05f5b1e27e
RUN apt-get update && apt-get install -y make autoconf libtool build-essential \
libass-dev:i386 libfreetype6-dev:i386 \
libvdpau-dev:i386 libxcb1-dev:i386 libxcb-shm0-dev:i386 libdrm-dev:i386 \
Expand Down
2 changes: 1 addition & 1 deletion projects/freeimage/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
#
################################################################################

FROM gcr.io/oss-fuzz-base/base-builder
FROM gcr.io/oss-fuzz-base/base-builder@sha256:19782f7fe8092843368894dbc471ce9b30dd6a2813946071a36e8b05f5b1e27e
RUN apt-get update && apt-get install -y make autoconf automake libtool wget
RUN svn checkout https://svn.code.sf.net/p/freeimage/svn/ freeimage-svn
WORKDIR $SRC/freeimage-svn/FreeImage/trunk/
Expand Down
2 changes: 1 addition & 1 deletion projects/gdal/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
#
################################################################################

FROM gcr.io/oss-fuzz-base/base-builder
FROM gcr.io/oss-fuzz-base/base-builder@sha256:19782f7fe8092843368894dbc471ce9b30dd6a2813946071a36e8b05f5b1e27e
RUN apt-get update && \
apt-get install -y make autoconf automake libtool g++ curl cmake sqlite3 pkg-config

Expand Down
2 changes: 1 addition & 1 deletion projects/gdk-pixbuf/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
# limitations under the License.
#
################################################################################
FROM gcr.io/oss-fuzz-base/base-builder
FROM gcr.io/oss-fuzz-base/base-builder@sha256:19782f7fe8092843368894dbc471ce9b30dd6a2813946071a36e8b05f5b1e27e
RUN apt-get update && apt-get install -y ffmpeg python3-pip gtk-doc-tools libffi-dev
RUN pip3 install meson==0.55.3 ninja

Expand Down
2 changes: 1 addition & 1 deletion projects/gitoxide/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ for CRATE_DIR in ${FUZZ_CRATE_DIRS[@]};
do
echo "Building crate: $CRATE_DIR"
cd $CRATE_DIR
cargo +nightly-2023-12-28 fuzz build -O --debug-assertions
cargo +nightly fuzz build -O --debug-assertions
FUZZ_TARGET_OUTPUT_DIR=$CARGO_BUILD_TARGET_DIR/x86_64-unknown-linux-gnu/release
for f in fuzz/fuzz_targets/*.rs
do
Expand Down
2 changes: 1 addition & 1 deletion projects/gnutls/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
#
################################################################################

FROM gcr.io/oss-fuzz-base/base-builder
FROM gcr.io/oss-fuzz-base/base-builder@sha256:19782f7fe8092843368894dbc471ce9b30dd6a2813946071a36e8b05f5b1e27e
RUN apt-get update && apt-get install -y \
make \
pkg-config \
Expand Down
2 changes: 1 addition & 1 deletion projects/kimageformats/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
#
################################################################################

FROM gcr.io/oss-fuzz-base/base-builder
FROM gcr.io/oss-fuzz-base/base-builder@sha256:19782f7fe8092843368894dbc471ce9b30dd6a2813946071a36e8b05f5b1e27e
RUN apt-get update && apt-get install --yes cmake autoconf libtool pkg-config
RUN git clone --depth 1 https://github.com/madler/zlib.git
RUN git clone --depth 1 https://github.com/nih-at/libzip.git
Expand Down
2 changes: 1 addition & 1 deletion projects/knot-dns/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
#
################################################################################

FROM gcr.io/oss-fuzz-base/base-builder
FROM gcr.io/oss-fuzz-base/base-builder@sha256:19782f7fe8092843368894dbc471ce9b30dd6a2813946071a36e8b05f5b1e27e
RUN apt-get update && apt-get install -y \
autoconf \
autogen \
Expand Down
2 changes: 1 addition & 1 deletion projects/leveldb/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
#
################################################################################

FROM gcr.io/oss-fuzz-base/base-builder
FROM gcr.io/oss-fuzz-base/base-builder@sha256:19782f7fe8092843368894dbc471ce9b30dd6a2813946071a36e8b05f5b1e27e
RUN apt-get update && apt-get install -y build-essential cmake gettext make
RUN git clone --recurse-submodules https://github.com/google/leveldb.git

Expand Down
2 changes: 1 addition & 1 deletion projects/libavif/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
#
################################################################################

FROM gcr.io/oss-fuzz-base/base-builder
FROM gcr.io/oss-fuzz-base/base-builder@sha256:19782f7fe8092843368894dbc471ce9b30dd6a2813946071a36e8b05f5b1e27e
RUN apt-get update && \
apt-get install --no-install-recommends -y curl python3-pip python3-setuptools python3-wheel cmake git nasm && \
pip3 install meson ninja
Expand Down
2 changes: 1 addition & 1 deletion projects/linkerd2-proxy/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ then
export CFLAGS=""
fi

BUILD_FUZZER="cargo +nightly-2023-12-28 fuzz build "
BUILD_FUZZER="cargo +nightly fuzz build "
TARGET_PATH="./fuzz/target/x86_64-unknown-linux-gnu/release"
BASE="$SRC/linkerd2-proxy/linkerd"

Expand Down
2 changes: 1 addition & 1 deletion projects/monero/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
# Multistage docker build, requires docker 17.05

# builder stage
FROM gcr.io/oss-fuzz-base/base-builder
FROM gcr.io/oss-fuzz-base/base-builder@sha256:19782f7fe8092843368894dbc471ce9b30dd6a2813946071a36e8b05f5b1e27e

RUN set -ex && \
apt-get update && \
Expand Down
2 changes: 1 addition & 1 deletion projects/msquic/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
#
################################################################################

FROM gcr.io/oss-fuzz-base/base-builder
FROM gcr.io/oss-fuzz-base/base-builder@sha256:19782f7fe8092843368894dbc471ce9b30dd6a2813946071a36e8b05f5b1e27e

ADD https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb packages-microsoft-prod.deb
RUN apt-get update && \
Expand Down
2 changes: 1 addition & 1 deletion projects/naga/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
#
################################################################################

cargo +nightly-2023-12-28 fuzz build -O
cargo +nightly fuzz build -O
fuzz_release=$SRC/wgpu/target/x86_64-unknown-linux-gnu/release
cp $fuzz_release/spv_parser $OUT/
cp $fuzz_release/wgsl_parser $OUT/
2 changes: 1 addition & 1 deletion projects/opendal/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

# build fuzz targets
cd $SRC/opendal/core
cargo +nightly-2023-12-28 fuzz build -O --debug-assertions
cargo +nightly fuzz build -O --debug-assertions

# copy fuzz targets to $OUT
targets=(
Expand Down
2 changes: 1 addition & 1 deletion projects/osquery/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
#
################################################################################

FROM gcr.io/oss-fuzz-base/base-builder
FROM gcr.io/oss-fuzz-base/base-builder@sha256:19782f7fe8092843368894dbc471ce9b30dd6a2813946071a36e8b05f5b1e27e
RUN apt-get update
RUN apt-get install -y --no-install-recommends python python3 bison flex make wget xz-utils libunwind-dev lsb-release build-essential libssl-dev

Expand Down
2 changes: 1 addition & 1 deletion projects/pcl/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
#
################################################################################

FROM gcr.io/oss-fuzz-base/base-builder
FROM gcr.io/oss-fuzz-base/base-builder@sha256:19782f7fe8092843368894dbc471ce9b30dd6a2813946071a36e8b05f5b1e27e
RUN apt-get update && apt-get install -y make cmake autoconf \
automake libtool gettext pkg-config build-essential \
mercurial wget libeigen3-dev libflann-dev python python-dev
Expand Down
2 changes: 1 addition & 1 deletion projects/poppler/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
#
################################################################################

FROM gcr.io/oss-fuzz-base/base-builder
FROM gcr.io/oss-fuzz-base/base-builder@sha256:19782f7fe8092843368894dbc471ce9b30dd6a2813946071a36e8b05f5b1e27e
RUN apt-get update && apt-get install -y wget autoconf automake libtool pkg-config gperf python
RUN pip3 install meson ninja gyp-next

Expand Down
2 changes: 1 addition & 1 deletion projects/powerdns/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
################################################################################

# base image with clang toolchain
FROM gcr.io/oss-fuzz-base/base-builder
FROM gcr.io/oss-fuzz-base/base-builder@sha256:19782f7fe8092843368894dbc471ce9b30dd6a2813946071a36e8b05f5b1e27e

# maintainer for this file

Expand Down
2 changes: 1 addition & 1 deletion projects/quantlib/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
#
################################################################################

FROM gcr.io/oss-fuzz-base/base-builder
FROM gcr.io/oss-fuzz-base/base-builder@sha256:19782f7fe8092843368894dbc471ce9b30dd6a2813946071a36e8b05f5b1e27e
RUN apt-get update && apt-get install -y cmake ninja-build libboost-dev
RUN git clone --depth 1 https://github.com/lballabio/QuantLib.git quantlib
WORKDIR quantlib
Expand Down
Loading
Loading