]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
tools/oss-fuzz: add clang library dir using -L 8423/head
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Mon, 12 Mar 2018 14:59:10 +0000 (15:59 +0100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Mon, 12 Mar 2018 14:59:25 +0000 (15:59 +0100)
I have no idea why clang doesn't do this on its own, and why clang
makes it so hard to query this path (-dumpversion returns something
unrelated...).

I know this is an ugly hack, but this is a very specialized script,
so it should be OK to make it a bit hacky.

Tested to work on Fedora (27) and Debian (unstable).

Fixes #8428.

tools/oss-fuzz.sh

index 2c4e58e29d16fa6a4882e567b4b1bd03e47c31bb..117b3d1aa4e85b70c1d77b6d835ca102ceea27a3 100755 (executable)
@@ -20,13 +20,20 @@ set -ex
 
 export LC_CTYPE=C.UTF-8
 
+export CC=${CC:-clang}
+export CXX=${CXX:-clang++}
+clang_version="$($CC --version | sed -nr 's/.*version ([^ ]+?) .*/\1/p' | sed -r 's/-$//')"
+
 SANITIZER=${SANITIZER:-address -fsanitize-address-use-after-scope}
 flags="-O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=$SANITIZER -fsanitize-coverage=trace-pc-guard,trace-cmp"
 
+clang_lib="/usr/lib64/clang/${clang_version}/lib/linux"
+[ -d "$clang_lib" ] || clang_lib="/usr/lib/clang/${clang_version}/lib/linux"
+
 export CFLAGS=${CFLAGS:-$flags}
 export CXXFLAGS=${CXXFLAGS:-$flags}
-export CC=${CC:-clang}
-export CXX=${CXX:-clang++}
+export LDFLAGS=${LDFLAGS:--L${clang_lib}}
+
 export WORK=${WORK:-$(pwd)}
 export OUT=${OUT:-$(pwd)/out}
 mkdir -p $OUT