| Index: third_party/sqlite/patches/0010-build-Undefined-symbol-in-intrinsic-on-Android-clang.patch
|
| diff --git a/third_party/sqlite/patches/0010-build-Undefined-symbol-in-intrinsic-on-Android-clang.patch b/third_party/sqlite/patches/0010-build-Undefined-symbol-in-intrinsic-on-Android-clang.patch
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..1f6757de825ecb1f164739f734d7899fae89b79e
|
| --- /dev/null
|
| +++ b/third_party/sqlite/patches/0010-build-Undefined-symbol-in-intrinsic-on-Android-clang.patch
|
| @@ -0,0 +1,33 @@
|
| +From fdd45cb19f2120330bb181cf69b55634588086f5 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 Android 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.
|
| +
|
| +BUG=701524
|
| +---
|
| + third_party/sqlite/src/src/util.c | 5 ++++-
|
| + 1 file changed, 4 insertions(+), 1 deletion(-)
|
| +
|
| +diff --git a/third_party/sqlite/src/src/util.c b/third_party/sqlite/src/src/util.c
|
| +index c6d2bae3a7b4..fee852d3309f 100644
|
| +--- a/third_party/sqlite/src/src/util.c
|
| ++++ b/third_party/sqlite/src/src/util.c
|
| +@@ -1310,7 +1310,10 @@ 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:
|
| ++** undefined reference to '__mulodi4'
|
| ++*/
|
| ++#if GCC_VERSION>=5004000 || (CLANG_VERSION>=4000000 && !defined(__ANDROID__))
|
| + return __builtin_mul_overflow(*pA, iB, pA);
|
| + #else
|
| + i64 iA = *pA;
|
| +--
|
| +2.11.0
|
| +
|
|
|