- added mozilla-bmo1601707.patch to fix gcc/LTO builds

(bmo#1601707, boo#1158466)

OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaFirefox?expand=0&rev=791
This commit is contained in:
Wolfgang Rosenauer 2019-12-18 17:50:22 +00:00 committed by Git OBS Bridge
parent d61baa9d35
commit 5863c2f0e9
4 changed files with 56 additions and 76 deletions

View File

@ -43,9 +43,8 @@ Mon Dec 2 08:24:05 UTC 2019 - Wolfgang Rosenauer <wr@rosenauer.org>
mozilla-openaes-decl.patch
- changed locale building procedure
* removed obsolete compare-locales.tar.xz
- added mozilla-gcc9-lto.patch to fix LTO builds with gcc9 but also
switched from gcc to clang for now since gcc builds are broken
in some ways (bmo#1601707, boo#1158466)
- added mozilla-bmo1601707.patch to fix gcc/LTO builds
(bmo#1601707, boo#1158466)
- added mozilla-bmo849632.patch to fix big endian issues in skia
used for WebGL

View File

@ -27,7 +27,7 @@
%define devpkg 1
# always build with GCC as SUSE Security Team requires that
%define clang_build 1
%define clang_build 0
# PIE, full relro
%define build_hardened 1
@ -183,7 +183,7 @@ Patch19: mozilla-bmo1512162.patch
Patch20: mozilla-fix-top-level-asm.patch
Patch21: mozilla-bmo1504834-part4.patch
Patch22: mozilla-bmo849632.patch
Patch23: mozilla-gcc9-lto.patch
Patch23: mozilla-bmo1601707.patch
# Firefox/browser
Patch101: firefox-kde.patch
Patch102: firefox-branded-icons.patch

52
mozilla-bmo1601707.patch Normal file
View File

@ -0,0 +1,52 @@
diff --git a/dom/indexedDB/ActorsParent.cpp b/dom/indexedDB/ActorsParent.cpp
--- a/dom/indexedDB/ActorsParent.cpp
+++ b/dom/indexedDB/ActorsParent.cpp
@@ -24311,9 +24311,9 @@
// if we allow overwrite or not. By not allowing overwrite we raise
// detectable errors rather than corrupting data.
DatabaseConnection::CachedStatement stmt;
- const auto& optReplaceDirective = (!mOverwrite || keyUnset)
- ? NS_LITERAL_CSTRING("")
- : NS_LITERAL_CSTRING("OR REPLACE ");
+ const auto optReplaceDirective = (!mOverwrite || keyUnset)
+ ? NS_LITERAL_CSTRING("")
+ : NS_LITERAL_CSTRING("OR REPLACE ");
rv = aConnection->GetCachedStatement(
NS_LITERAL_CSTRING("INSERT ") + optReplaceDirective +
NS_LITERAL_CSTRING("INTO object_data "
@@ -25869,7 +25869,7 @@
}
}
- const auto& comparisonChar =
+ const auto comparisonChar =
isIncreasingOrder ? NS_LITERAL_CSTRING(">") : NS_LITERAL_CSTRING("<");
mCursor->mContinueToQuery =
@@ -26076,9 +26076,9 @@
const bool usingKeyRange = mOptionalKeyRange.isSome();
- const auto& indexTable = mCursor->mUniqueIndex
- ? NS_LITERAL_CSTRING("unique_index_data")
- : NS_LITERAL_CSTRING("index_data");
+ const auto indexTable = mCursor->mUniqueIndex
+ ? NS_LITERAL_CSTRING("unique_index_data")
+ : NS_LITERAL_CSTRING("index_data");
NS_NAMED_LITERAL_CSTRING(sortColumn, "sort_column");
@@ -26198,9 +26198,9 @@
const bool usingKeyRange = mOptionalKeyRange.isSome();
- const auto& table = mCursor->mUniqueIndex
- ? NS_LITERAL_CSTRING("unique_index_data")
- : NS_LITERAL_CSTRING("index_data");
+ const auto table = mCursor->mUniqueIndex
+ ? NS_LITERAL_CSTRING("unique_index_data")
+ : NS_LITERAL_CSTRING("index_data");
NS_NAMED_LITERAL_CSTRING(sortColumn, "sort_column");

View File

@ -1,71 +0,0 @@
Workaround GCC/Clang6 not supporting class-temporary#6.7 [1]
Bugs:
+ https://bugzilla.mozilla.org/show_bug.cgi?id=1601707
+ http://gcc.gnu.org/PR92831
+ https://bugzilla.redhat.com/show_bug.cgi?id=1779082
[1] http://eel.is/c++draft/class.temporary#6.7
diff --git a/dom/indexedDB/ActorsParent.cpp b/dom/indexedDB/ActorsParent.cpp
--- a/dom/indexedDB/ActorsParent.cpp
+++ b/dom/indexedDB/ActorsParent.cpp
@@ -24311,11 +24311,11 @@
// if we allow overwrite or not. By not allowing overwrite we raise
// detectable errors rather than corrupting data.
DatabaseConnection::CachedStatement stmt;
- const auto& optReplaceDirective = (!mOverwrite || keyUnset)
- ? NS_LITERAL_CSTRING("")
- : NS_LITERAL_CSTRING("OR REPLACE ");
rv = aConnection->GetCachedStatement(
- NS_LITERAL_CSTRING("INSERT ") + optReplaceDirective +
+ NS_LITERAL_CSTRING("INSERT ") +
+ ((!mOverwrite || keyUnset)
+ ? NS_LITERAL_CSTRING("")
+ : NS_LITERAL_CSTRING("OR REPLACE ")) +
NS_LITERAL_CSTRING("INTO object_data "
"(object_store_id, key, file_ids, data) "
"VALUES (:") +
@@ -26076,9 +26076,6 @@
const bool usingKeyRange = mOptionalKeyRange.isSome();
- const auto& indexTable = mCursor->mUniqueIndex
- ? NS_LITERAL_CSTRING("unique_index_data")
- : NS_LITERAL_CSTRING("index_data");
NS_NAMED_LITERAL_CSTRING(sortColumn, "sort_column");
@@ -26099,7 +26096,9 @@
"object_data.file_ids, "
"object_data.data "
"FROM ") +
- indexTable +
+ (mCursor->mUniqueIndex
+ ? NS_LITERAL_CSTRING("unique_index_data")
+ : NS_LITERAL_CSTRING("index_data")) +
NS_LITERAL_CSTRING(
" AS index_table "
"JOIN object_data "
@@ -26198,9 +26197,6 @@
const bool usingKeyRange = mOptionalKeyRange.isSome();
- const auto& table = mCursor->mUniqueIndex
- ? NS_LITERAL_CSTRING("unique_index_data")
- : NS_LITERAL_CSTRING("index_data");
NS_NAMED_LITERAL_CSTRING(sortColumn, "sort_column");
@@ -26218,7 +26214,10 @@
NS_LITERAL_CSTRING(
"object_data_key "
" FROM ") +
- table + NS_LITERAL_CSTRING(" WHERE index_id = :") +
+ (mCursor->mUniqueIndex
+ ? NS_LITERAL_CSTRING("unique_index_data")
+ : NS_LITERAL_CSTRING("index_data")) +
+ NS_LITERAL_CSTRING(" WHERE index_id = :") +
kStmtParamNameId;
const auto keyRangeClause =