diff options
Diffstat (limited to 'mozilla-1321579.patch')
-rw-r--r-- | mozilla-1321579.patch | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/mozilla-1321579.patch b/mozilla-1321579.patch new file mode 100644 index 0000000..4dd2a76 --- /dev/null +++ b/mozilla-1321579.patch @@ -0,0 +1,39 @@ +diff --git a/build/autoconf/compiler-opts.m4 b/build/autoconf/compiler-opts.m4 +--- a/build/autoconf/compiler-opts.m4 ++++ b/build/autoconf/compiler-opts.m4 +@@ -173,16 +173,34 @@ AC_SUBST([LD_IS_BFD]) + + if test "$GNU_CC"; then + if test -z "$DEVELOPER_OPTIONS"; then + CFLAGS="$CFLAGS -ffunction-sections -fdata-sections" + CXXFLAGS="$CXXFLAGS -ffunction-sections -fdata-sections" + fi + CFLAGS="$CFLAGS -fno-math-errno" + CXXFLAGS="$CXXFLAGS -fno-exceptions -fno-math-errno" ++ ++ if test -z "$CLANG_CC"; then ++ case "$CC_VERSION" in ++ 4.*) ++ ;; ++ *) ++ # Lifetime Dead Store Elimination level 2 (default in GCC6+) breaks Gecko. ++ # Ideally, we'd use -flifetime-dse=1, but that means we'd forcefully ++ # enable it on optimization levels where it would otherwise not be enabled. ++ # So we disable it entirely. But since that would mean inconsistency with ++ # GCC5, which has level 1 depending on optimization level, disable it on ++ # GCC5 as well, because better safe than sorry. ++ # Add it first so that a mozconfig can override by setting CFLAGS/CXXFLAGS. ++ CFLAGS="-fno-lifetime-dse $CFLAGS" ++ CXXFLAGS="-fno-lifetime-dse $CXXFLAGS" ++ ;; ++ esac ++ fi + fi + + dnl ======================================================== + dnl = Identical Code Folding + dnl ======================================================== + + MOZ_ARG_DISABLE_BOOL(icf, + [ --disable-icf Disable Identical Code Folding], + |