From 70b982a12a06231968ec365de3cf2c2a1a039fa5 Mon Sep 17 00:00:00 2001 From: Scott Hess 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 (and other platforms). BUG=701524 --- 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..445aba9b48e4 100644 --- a/third_party/sqlite/src/src/util.c +++ b/third_party/sqlite/src/src/util.c @@ -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): Removing clang support because on many platforms it generates a +** link error for this intrinsic: +** undefined reference to '__mulodi4' +** http://crbug.com/701524 +*/ +#if GCC_VERSION>=5004000 return __builtin_mul_overflow(*pA, iB, pA); #else i64 iA = *pA; -- 2.11.0