From 368640343638c75e84402771a79b5342ebe48d2f Mon Sep 17 00:00:00 2001 From: wolfbeast Date: Tue, 10 Sep 2019 10:44:10 +0200 Subject: [PATCH 1/3] Don't assume Intel architecture for compiler optimizations on Linux/gcc. This only adds SSE2 flags when the CPU architecture is correct for it. Resolves #1226 --- build/autoconf/compiler-opts.m4 | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/build/autoconf/compiler-opts.m4 b/build/autoconf/compiler-opts.m4 index 82d0b43fc6..0848d78d9c 100644 --- a/build/autoconf/compiler-opts.m4 +++ b/build/autoconf/compiler-opts.m4 @@ -176,8 +176,13 @@ if test "$GNU_CC"; then CFLAGS="$CFLAGS -ffunction-sections -fdata-sections" CXXFLAGS="$CXXFLAGS -ffunction-sections -fdata-sections" fi - CFLAGS="$CFLAGS -fno-math-errno -msse2 -mfpmath=sse" - CXXFLAGS="$CXXFLAGS -fno-exceptions -fno-math-errno -msse2 -mfpmath=sse" + CFLAGS="$CFLAGS -fno-math-errno" + CXXFLAGS="$CXXFLAGS -fno-exceptions -fno-math-errno" + + if test "$CPU_ARCH" = x86; then + CFLAGS="$CFLAGS -msse2 -mfpmath=sse" + CXXFLAGS="$CXXFLAGS -msse2 -mfpmath=sse" + fi if test -z "$CLANG_CC"; then case "$CC_VERSION" in From 5449e900bac560d4e3826b7feb09a219fd0c862e Mon Sep 17 00:00:00 2001 From: wolfbeast Date: Tue, 10 Sep 2019 19:07:28 +0200 Subject: [PATCH 2/3] Issue #1226 - Explicitly enable sse2 on x86_64 also. Although it's enabled by default in gcc (should be, anyway!), we're being explicit here for 64-bit x86 platforms here also. This matches the old behavior. --- build/autoconf/compiler-opts.m4 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/autoconf/compiler-opts.m4 b/build/autoconf/compiler-opts.m4 index 0848d78d9c..77c2e85b5e 100644 --- a/build/autoconf/compiler-opts.m4 +++ b/build/autoconf/compiler-opts.m4 @@ -179,7 +179,7 @@ if test "$GNU_CC"; then CFLAGS="$CFLAGS -fno-math-errno" CXXFLAGS="$CXXFLAGS -fno-exceptions -fno-math-errno" - if test "$CPU_ARCH" = x86; then + if test "$CPU_ARCH" = "x86" -o "$CPU_ARCH" = "x86_64"; then CFLAGS="$CFLAGS -msse2 -mfpmath=sse" CXXFLAGS="$CXXFLAGS -msse2 -mfpmath=sse" fi From c93a31b725135de7eee4fb730391ff6ad228af71 Mon Sep 17 00:00:00 2001 From: Moonchild Date: Tue, 17 Sep 2019 11:04:22 +0200 Subject: [PATCH 3/3] No issue - Add 360 Safeguard to DLL blocklist 360 Safeguard/360 Total Security (Qihoo) causes crashes in a11y components. This adds the offending dll to the injection blocklist. See BZ bug 1536227 for details. --- mozglue/build/WindowsDllBlocklist.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mozglue/build/WindowsDllBlocklist.cpp b/mozglue/build/WindowsDllBlocklist.cpp index ccfcf9dd10..859114321c 100644 --- a/mozglue/build/WindowsDllBlocklist.cpp +++ b/mozglue/build/WindowsDllBlocklist.cpp @@ -231,6 +231,9 @@ static DllBlockInfo sWindowsDllBlocklist[] = { // Comodo IS old versions, startup crash on 64-bit, bug 1140397 { "guard64.dll", MAKE_VERSION(6, 3, 0, 0) }, + // 360 Safeguard/360 Total Security causes a11y crashes, bug 1536227. + { "safemon64.dll", ALL_VERSIONS }, + { nullptr, 0 } };