aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Sebastian Pipping <sebastian@pipping.org>2020-07-17 00:24:27 +0200
committerGravatar GitHub <noreply@github.com>2020-07-16 15:24:27 -0700
commitd92c122155c1935bfba91582486ef826491961b8 (patch)
tree1e567de9242d56cf917ef7ce047282d285f1edf0
parent9ba22659ac149f2482a2d5de8bc79ce21224982e (diff)
[expat] Fix AddressSanitizer link errors (fixes #4143) (#4148)
-rwxr-xr-xprojects/expat/build.sh26
1 files changed, 25 insertions, 1 deletions
diff --git a/projects/expat/build.sh b/projects/expat/build.sh
index 21c4f511..333d2584 100755
--- a/projects/expat/build.sh
+++ b/projects/expat/build.sh
@@ -15,9 +15,33 @@
#
################################################################################
+: ${LD:="${CXX}"}
+: ${LDFLAGS:="${CXXFLAGS}"} # to make sure we link with sanitizer runtime
+
+cmake_args=(
+ # Specific to Expat
+ -DEXPAT_BUILD_FUZZERS=ON
+ -DEXPAT_OSSFUZZ_BUILD=ON
+ -DEXPAT_SHARED_LIBS=OFF
+
+ # C compiler
+ -DCMAKE_C_COMPILER="${CC}"
+ -DCMAKE_C_FLAGS="${CFLAGS}"
+
+ # C++ compiler
+ -DCMAKE_CXX_COMPILER="${CXX}"
+ -DCMAKE_CXX_FLAGS="${CXXFLAGS}"
+
+ # Linker
+ -DCMAKE_LINKER="${LD}"
+ -DCMAKE_EXE_LINKER_FLAGS="${LDFLAGS}"
+ -DCMAKE_MODULE_LINKER_FLAGS="${LDFLAGS}"
+ -DCMAKE_SHARED_LINKER_FLAGS="${LDFLAGS}"
+)
+
mkdir -p build
cd build
-cmake ../expat -DEXPAT_BUILD_FUZZERS=ON -DEXPAT_OSSFUZZ_BUILD=ON -DEXPAT_SHARED_LIBS=OFF
+cmake ../expat "${cmake_args[@]}"
make -j$(nproc)
for fuzzer in fuzz/*;