Skip to content

Commit 13efc95

Browse files
committed
oss-fuzz: build openmp at the same time as libc++
1 parent 5873517 commit 13efc95

File tree

1 file changed

+16
-6
lines changed

1 file changed

+16
-6
lines changed

.ci/oss-fuzz.sh

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,11 @@ cd "$SRC"
2727
LLVM_VER="18.1.8"
2828

2929
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}/
30+
tar -xf llvm-project-$LLVM_VER.src.tar.xz llvm-project-$LLVM_VER.src/{runtimes,cmake,llvm/cmake,libcxx,libcxxabi,openmp}/
3131
LLVM_SOURCE="$SRC/llvm-project-$LLVM_VER.src"
32-
LLVM_BUILD="$WORK/llvm-project-$LLVM_VER"
3332

34-
cmake -S "$LLVM_SOURCE/runtimes/" -B "$LLVM_BUILD" \
33+
LIBCXX_BUILD="$WORK/llvm-project-$LLVM_VER.libcxx.build"
34+
cmake -S "$LLVM_SOURCE/runtimes/" -B "$LIBCXX_BUILD" \
3535
-DCMAKE_BUILD_TYPE=Release \
3636
-DBUILD_SHARED_LIBS=OFF \
3737
-DLLVM_INCLUDE_TESTS=OFF \
@@ -42,9 +42,20 @@ cmake -S "$LLVM_SOURCE/runtimes/" -B "$LLVM_BUILD" \
4242
-DLIBCXXABI_USE_LLVM_UNWINDER=OFF \
4343
-DLIBCXX_INCLUDE_BENCHMARKS=OFF \
4444
-DLIBCXXABI_ADDITIONAL_COMPILE_FLAGS="-fno-sanitize=vptr"
45-
cmake --build "$LLVM_BUILD" -- -j$(nproc) cxx cxxabi
45+
cmake --build "$LIBCXX_BUILD" -- -j$(nproc) cxx cxxabi
4646

47-
CXXFLAGS="$CXXFLAGS -nostdinc++ -nostdlib++ -isystem $LLVM_BUILD/include -isystem $LLVM_BUILD/include/c++/v1 -L$LLVM_BUILD/lib -lc++ -lc++abi"
47+
CXXFLAGS="$CXXFLAGS -nostdinc++ -nostdlib++ -isystem $LIBCXX_BUILD/include -isystem $LIBCXX_BUILD/include/c++/v1 -L$LIBCXX_BUILD/lib -lc++ -lc++abi"
48+
49+
OPENMP_BUILD="$WORK/llvm-project-$LLVM_VER.omp.build"
50+
cmake -S "$LLVM_SOURCE/openmp/" -B "$OPENMP_BUILD" \
51+
-DCMAKE_BUILD_TYPE=Release \
52+
-DBUILD_SHARED_LIBS=OFF \
53+
-DLIBOMP_ENABLE_SHARED=OFF \
54+
-DOPENMP_ENABLE_LIBOMPTARGET=OFF \
55+
-DLIBOMP_CXXFLAGS="-fno-sanitize=undefined,integer"
56+
cmake --build "$OPENMP_BUILD" -- -j$(nproc) omp
57+
58+
CXXFLAGS="$CXXFLAGS -isystem $OPENMP_BUILD/runtime/src -L$OPENMP_BUILD/runtime/src"
4859

4960
if [[ $SANITIZER = *undefined* ]]; then
5061
CFLAGS="$CFLAGS -fsanitize=unsigned-integer-overflow -fno-sanitize-recover=unsigned-integer-overflow"
@@ -61,7 +72,6 @@ RAWSPEED_BUILD="$WORK/rawspeed"
6172

6273
cmake -S "$RAWSPEED_SOURCE" -B "$RAWSPEED_BUILD" \
6374
-DBINARY_PACKAGE_BUILD=ON -DWITH_OPENMP=$WITH_OPENMP \
64-
-DUSE_BUNDLED_LLVMOPENMP=ON -DALLOW_DOWNLOADING_LLVMOPENMP=ON \
6575
-DWITH_PUGIXML=OFF -DUSE_XMLLINT=OFF -DWITH_JPEG=OFF -DWITH_ZLIB=OFF \
6676
-DBUILD_TESTING=OFF -DBUILD_TOOLS=OFF -DBUILD_BENCHMARKING=OFF \
6777
-DCMAKE_BUILD_TYPE=FUZZ -DBUILD_FUZZERS=ON \

0 commit comments

Comments
 (0)