aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rwxr-xr-xprojects/envoy/build.sh12
1 files changed, 9 insertions, 3 deletions
diff --git a/projects/envoy/build.sh b/projects/envoy/build.sh
index 61ef0bfd..27ed9ddf 100755
--- a/projects/envoy/build.sh
+++ b/projects/envoy/build.sh
@@ -15,9 +15,8 @@
#
################################################################################
-# Disable UBSan vptr since target built with -fno-rtti.
-export CFLAGS="$CFLAGS -fno-sanitize=vptr"
-export CXXFLAGS="$CXXFLAGS -fno-sanitize=vptr"
+export CFLAGS="$CFLAGS"
+export CXXFLAGS="$CXXFLAGS"
declare -r FUZZER_TARGETS_CC=$(find . -name *_fuzz_test.cc)
declare -r FUZZER_TARGETS="$(for t in ${FUZZER_TARGETS_CC}; do echo "${t:2:-3}"; done)"
@@ -39,6 +38,13 @@ done
for f in ${CXXFLAGS}; do
echo "--cxxopt=${f}" "--linkopt=${f}"
done
+
+if [ "$SANITIZER" = "undefined" ]
+then
+ # Bazel uses clang to link binary, which does not link clang_rt ubsan library for C++ automatically.
+ # See issue: https://github.com/bazelbuild/bazel/issues/8777
+ echo "--linkopt=\"$(find $(llvm-config --libdir) -name libclang_rt.ubsan_standalone_cxx-x86_64.a | head -1)\""
+fi
)"
declare BAZEL_BUILD_TARGETS=""