Skip to content

Commit 85e0ff6

Browse files
authored
Merge pull request #854 from LebedevRI/oss-fuzz
oss-fuzz tuning
2 parents 48f17dc + 7d2e46d commit 85e0ff6

File tree

1 file changed

+32
-16
lines changed

1 file changed

+32
-16
lines changed

.ci/oss-fuzz.sh

Lines changed: 32 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,14 @@ ln -f -s /usr/local/bin/lld /usr/bin/ld
2424

2525
cd "$SRC"
2626

27-
LLVM_VER="18.1.8"
27+
LIBCXX_LLVM_VER="19.1.7"
2828

29-
wget -q https://github.com/llvm/llvm-project/releases/download/llvmorg-$LLVM_VER/llvm-project-$LLVM_VER.src.tar.xz
30-
tar -xf llvm-project-$LLVM_VER.src.tar.xz llvm-project-$LLVM_VER.src/{runtimes,cmake,llvm/cmake,libcxx,libcxxabi}/
31-
LIBCXX_BUILD="$SRC/llvm-project-$LLVM_VER.build"
32-
mkdir "$LIBCXX_BUILD"
33-
cmake -S llvm-project-$LLVM_VER.src/runtimes/ -B "$LIBCXX_BUILD" \
29+
wget -q https://github.com/llvm/llvm-project/releases/download/llvmorg-$LIBCXX_LLVM_VER/llvm-project-$LIBCXX_LLVM_VER.src.tar.xz
30+
tar -xf llvm-project-$LIBCXX_LLVM_VER.src.tar.xz llvm-project-$LIBCXX_LLVM_VER.src/{runtimes,cmake,llvm/cmake,libcxx,libcxxabi}/
31+
LLVM_SOURCE="$SRC/llvm-project-$LIBCXX_LLVM_VER.src"
32+
33+
LIBCXX_BUILD="$WORK/llvm-project-$LIBCXX_LLVM_VER.libcxx.build"
34+
cmake -S "$LLVM_SOURCE/runtimes/" -B "$LIBCXX_BUILD" \
3435
-DCMAKE_BUILD_TYPE=Release \
3536
-DBUILD_SHARED_LIBS=OFF \
3637
-DLLVM_INCLUDE_TESTS=OFF \
@@ -45,6 +46,23 @@ cmake --build "$LIBCXX_BUILD" -- -j$(nproc) cxx cxxabi
4546

4647
CXXFLAGS="$CXXFLAGS -nostdinc++ -nostdlib++ -isystem $LIBCXX_BUILD/include -isystem $LIBCXX_BUILD/include/c++/v1 -L$LIBCXX_BUILD/lib -lc++ -lc++abi"
4748

49+
LIBOMP_LLVM_VER="20.1.5"
50+
51+
wget -q https://github.com/llvm/llvm-project/releases/download/llvmorg-$LIBOMP_LLVM_VER/llvm-project-$LIBOMP_LLVM_VER.src.tar.xz
52+
tar -xf llvm-project-$LIBOMP_LLVM_VER.src.tar.xz llvm-project-$LIBOMP_LLVM_VER.src/{runtimes,cmake,llvm/cmake,openmp}/
53+
LLVM_SOURCE="$SRC/llvm-project-$LIBOMP_LLVM_VER.src"
54+
55+
OPENMP_BUILD="$WORK/llvm-project-$LIBOMP_LLVM_VER.omp.build"
56+
cmake -S "$LLVM_SOURCE/openmp/" -B "$OPENMP_BUILD" \
57+
-DCMAKE_BUILD_TYPE=Release \
58+
-DBUILD_SHARED_LIBS=OFF \
59+
-DLIBOMP_ENABLE_SHARED=OFF \
60+
-DOPENMP_ENABLE_LIBOMPTARGET=OFF \
61+
-DLIBOMP_CXXFLAGS="-fno-sanitize=undefined,integer"
62+
cmake --build "$OPENMP_BUILD" -- -j$(nproc) omp
63+
64+
CXXFLAGS="$CXXFLAGS -isystem $OPENMP_BUILD/runtime/src -L$OPENMP_BUILD/runtime/src"
65+
4866
if [[ $SANITIZER = *undefined* ]]; then
4967
CFLAGS="$CFLAGS -fsanitize=unsigned-integer-overflow -fno-sanitize-recover=unsigned-integer-overflow"
5068
CXXFLAGS="$CXXFLAGS -fsanitize=unsigned-integer-overflow -fno-sanitize-recover=unsigned-integer-overflow"
@@ -55,21 +73,19 @@ if [[ $SANITIZER = *memory* ]]; then
5573
WITH_OPENMP=OFF
5674
fi
5775

58-
cd "$WORK"
59-
mkdir build
60-
cd build
76+
RAWSPEED_SOURCE="$SRC/librawspeed/"
77+
RAWSPEED_BUILD="$WORK/rawspeed"
6178

62-
cmake \
79+
cmake -S "$RAWSPEED_SOURCE" -B "$RAWSPEED_BUILD" \
6380
-DBINARY_PACKAGE_BUILD=ON -DWITH_OPENMP=$WITH_OPENMP \
64-
-DUSE_BUNDLED_LLVMOPENMP=ON -DALLOW_DOWNLOADING_LLVMOPENMP=ON \
6581
-DWITH_PUGIXML=OFF -DUSE_XMLLINT=OFF -DWITH_JPEG=OFF -DWITH_ZLIB=OFF \
6682
-DBUILD_TESTING=OFF -DBUILD_TOOLS=OFF -DBUILD_BENCHMARKING=OFF \
6783
-DCMAKE_BUILD_TYPE=FUZZ -DBUILD_FUZZERS=ON \
6884
-DLIB_FUZZING_ENGINE:STRING="$LIB_FUZZING_ENGINE" \
69-
-DCMAKE_INSTALL_PREFIX:PATH="$OUT" -DCMAKE_INSTALL_BINDIR:PATH="$OUT" \
70-
"$SRC/librawspeed/"
85+
-DCMAKE_INSTALL_PREFIX:PATH="$OUT" -DCMAKE_INSTALL_BINDIR:PATH="$OUT"
7186

72-
cmake --build . -- -j$(nproc) all && cmake --build . -- -j$(nproc) install
87+
cmake --build "$RAWSPEED_BUILD" -- -j$(nproc) all && cmake --build "$RAWSPEED_BUILD" -- -j$(nproc) install
7388

74-
du -hcs .
75-
du -hcs "$OUT"
89+
du -hcs "$SRC"/* \
90+
"$WORK"/* \
91+
"$OUT"

0 commit comments

Comments
 (0)