Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(112)

Unified Diff: third_party/sqlite/patches/0010-build-Undefined-symbol-in-intrinsic-on-clang.patch

Issue 2762233003: [sql] Disable a clang intrinsic in SQLite 3.17.0. (Closed)
Patch Set: Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/sqlite/amalgamation/sqlite3.c ('k') | third_party/sqlite/src/src/util.c » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/sqlite/patches/0010-build-Undefined-symbol-in-intrinsic-on-clang.patch
diff --git a/third_party/sqlite/patches/0010-build-Undefined-symbol-in-intrinsic-on-clang.patch b/third_party/sqlite/patches/0010-build-Undefined-symbol-in-intrinsic-on-clang.patch
index 5af6af88451dfff5df43502db5d2d5bdc877d8fa..eff4d2c7a4c9474ecad9b571c53e9591ba78a4a1 100644
--- a/third_party/sqlite/patches/0010-build-Undefined-symbol-in-intrinsic-on-clang.patch
+++ b/third_party/sqlite/patches/0010-build-Undefined-symbol-in-intrinsic-on-clang.patch
@@ -1,33 +1,33 @@
-From 0233385c56d2b900b6f709a1af07d399285445a2 Mon Sep 17 00:00:00 2001
+From 70b982a12a06231968ec365de3cf2c2a1a039fa5 Mon Sep 17 00:00:00 2001
From: Scott Hess <shess@chromium.org>
Date: Tue, 14 Mar 2017 13:51:07 -0700
Subject: [PATCH 10/10] [build] Undefined symbol in intrinsic on clang.
SQLite implements sqlite3MulInt64() using __builtin_mul_overflow() for
appropriate versions of GCC or clang. But the Chromium clang package
-doesn't seem to provide the necessary library for Android or Linux i386.
+doesn't seem to provide the necessary library for Android or Linux i386
+(and other platforms).
BUG=701524
---
- third_party/sqlite/src/src/util.c | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
+ third_party/sqlite/src/src/util.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/third_party/sqlite/src/src/util.c b/third_party/sqlite/src/src/util.c
-index c6d2bae3a7b4..0a76ddec683d 100644
+index c6d2bae3a7b4..445aba9b48e4 100644
--- a/third_party/sqlite/src/src/util.c
+++ b/third_party/sqlite/src/src/util.c
-@@ -1310,7 +1310,13 @@ int sqlite3SubInt64(i64 *pA, i64 iB){
+@@ -1310,7 +1310,12 @@ int sqlite3SubInt64(i64 *pA, i64 iB){
#endif
}
int sqlite3MulInt64(i64 *pA, i64 iB){
-#if GCC_VERSION>=5004000 || CLANG_VERSION>=4000000
-+/* TODO(shess): Chromium Android clang generates a link error:
++/* TODO(shess): Removing clang support because on many platforms it generates a
++** link error for this intrinsic:
+** undefined reference to '__mulodi4'
-+** UPDATE(shess): Also, apparently, 32-bit Linux clang.
++** http://crbug.com/701524
+*/
-+#if GCC_VERSION>=5004000 || \
-+ (CLANG_VERSION>=4000000 && !defined(__ANDROID__) && \
-+ (!defined(__linux__) || !defined(__i386__)))
++#if GCC_VERSION>=5004000
return __builtin_mul_overflow(*pA, iB, pA);
#else
i64 iA = *pA;
« no previous file with comments | « third_party/sqlite/amalgamation/sqlite3.c ('k') | third_party/sqlite/src/src/util.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698