Update libbcc for 64-bit support.
Change-Id: I369a82eb6730a33c46b6700408952fe34020ca51
diff --git a/lib/Renderscript/RSInfo.cpp b/lib/Renderscript/RSInfo.cpp
index 65c1b5f..fa0ab53 100644
--- a/lib/Renderscript/RSInfo.cpp
+++ b/lib/Renderscript/RSInfo.cpp
@@ -48,7 +48,7 @@
#if defined(__i386__) || defined(__x86_64__)
const char RSInfo::LibCLCoreX86Path[] = SYSLIBPATH"/libclcore_x86.bc";
#endif
-#if defined(ARCH_ARM_HAVE_NEON)
+#if defined(ARCH_ARM_HAVE_NEON) && !defined(__LP64__)
const char RSInfo::LibCLCoreNEONPath[] = SYSLIBPATH"/libclcore_neon.bc";
#endif
@@ -57,7 +57,7 @@
const uint8_t *RSInfo::LibRSSHA1 = NULL;
const uint8_t *RSInfo::LibCLCoreSHA1 = NULL;
const uint8_t *RSInfo::LibCLCoreDebugSHA1 = NULL;
-#if defined(ARCH_ARM_HAVE_NEON)
+#if defined(ARCH_ARM_HAVE_NEON) && !defined(__LP64__)
const uint8_t *RSInfo::LibCLCoreNEONSHA1 = NULL;
#endif
@@ -71,7 +71,7 @@
void *h = ::dlopen(SYSLIBPATH"/libbcc.sha1.so", RTLD_LAZY | RTLD_NOW);
if (h == NULL) {
ALOGE("Failed to load SHA-1 information from shared library '"
- "/system/lib/libbcc.sha1.so'! (%s)", ::dlerror());
+ "/system/lib64/libbcc.sha1.so'! (%s)", ::dlerror());
return false;
}
@@ -83,7 +83,7 @@
reinterpret_cast<const uint8_t *>(::dlsym(h, "libclcore_bc_SHA1"));
LibCLCoreDebugSHA1 =
reinterpret_cast<const uint8_t *>(::dlsym(h, "libclcore_debug_bc_SHA1"));
-#if defined(ARCH_ARM_HAVE_NEON)
+#if defined(ARCH_ARM_HAVE_NEON) && !defined(__LP64__)
LibCLCoreNEONSHA1 =
reinterpret_cast<const uint8_t *>(::dlsym(h, "libclcore_neon_bc_SHA1"));
#endif
@@ -114,7 +114,7 @@
const DependencyTableTy &pDeps) {
// Built-in dependencies are libbcc.so, libRS.so and libclcore.bc plus
// libclcore_neon.bc if NEON is available on the target device.
-#if !defined(ARCH_ARM_HAVE_NEON)
+#if !defined(ARCH_ARM_HAVE_NEON) && !defined(__LP64__)
static const unsigned NumBuiltInDependencies = 5;
#else
static const unsigned NumBuiltInDependencies = 6;
@@ -139,7 +139,7 @@
pInfo.mDependencyTable[3];
const std::pair<const char *, const uint8_t *> &cache_libclcore_debug_dep =
pInfo.mDependencyTable[4];
-#if defined(ARCH_ARM_HAVE_NEON)
+#if defined(ARCH_ARM_HAVE_NEON) && !defined(__LP64__)
const std::pair<const char *, const uint8_t *> &cache_libclcore_neon_dep =
pInfo.mDependencyTable[5];
#endif
@@ -197,7 +197,7 @@
return false;
}
-#if defined(ARCH_ARM_HAVE_NEON)
+#if defined(ARCH_ARM_HAVE_NEON) && !defined(__LP64__)
// Check libclcore_neon.bc if NEON is available.
if (::memcmp(cache_libclcore_neon_dep.second, LibCLCoreNEONSHA1,
SHA1_DIGEST_LENGTH) != 0) {