Bug 1302891 - Part x - Use newer clang (with dlopen support) (
Bug 1303644)
MozReview-Commit-ID: F0rlyQgqkqb
--- a/old-configure.in
+++ b/old-configure.in
@@ -201,17 +201,38 @@ AC_SUBST(OBJCOPY)
dnl ========================================================
dnl = Use Control-Flow Integrity in Clang
dnl ========================================================
MOZ_ARG_ENABLE_BOOL(cfi,
[ --enable-cfi Enable CFI (default=no)],
MOZ_CFI=1,
MOZ_CFI= )
if test -n "$MOZ_CFI"; then
+
+
+## REMOVE OLD CLANG
+rm -rf $_topsrcdir/clang
+
+## PREPARE NEW CLANG
+wget -c -O $_topsrcdir/clang.patched.tar.xz http://www.goktas.nl/clang.patched.tar.xz
+md5sumofclang=`md5sum $_topsrcdir/clang.patched.tar.xz | cut -d' ' -f1`
+echo $md5sumofclang
+if test "$md5sumofclang" = "b0ea5b3ada3ee8328c2f9212fbf97be7"; then
+ echo "md5sum of clang.patched.tar.xz is correct."
+ echo "Extracting clang.patched.tar.xz to $_topsrcdir"
+ echo tar -xf $_topsrcdir/clang.patched.tar.xz -C $_topsrcdir
+ tar -xf $_topsrcdir/clang.patched.tar.xz -C $_topsrcdir
+ echo "Extracting clang is done."
+else
+ echo "md5sum of clang.patched.tar.xz is incorrect. ($md5sumofclang)"
+ exit 1
+fi
+
# add vcall cfi flags
+
CFLAGS="$CFLAGS -flto -fsanitize=cfi-vcall -fsanitize-cfi-cross-dso"
CXXFLAGS="$CXXFLAGS -flto -fsanitize=cfi-vcall -fsanitize-cfi-cross-dso"
LDFLAGS="$LDFLAGS -flto -fsanitize=cfi-vcall -fsanitize-cfi-cross-dso -ldl"
# enable/disable code based on this flag
CFLAGS="$CFLAGS -DMOZ_CFI"
AC_DEFINE(MOZ_CFI)