Fix the libbcc SHA1 checksum dependency
Calculate SHA1 checksum of libbcc.so and libRS.so at compile time.
Change-Id: Ifc6cf6e309155229fe1ab1228c0eb77175fbd8f0
diff --git a/lib/ExecutionEngine/CacheReader.cpp b/lib/ExecutionEngine/CacheReader.cpp
index 408b1f7..136cccd 100644
--- a/lib/ExecutionEngine/CacheReader.cpp
+++ b/lib/ExecutionEngine/CacheReader.cpp
@@ -148,14 +148,6 @@
OBCC_VERSION, mpHeader->version);
return false;
}
-
- if (memcmp(mpHeader->libbcc_build_checksum, libbcc_build_checksum, 41) != 0) {
- mpHeader->libbcc_build_checksum[41 - 1] = '\0'; // ensure terminated
- LOGW("Build checksum mismatch: lib %s cached %s\n", libbcc_build_checksum,
- mpHeader->libbcc_build_checksum);
- return false;
- }
-
return true;
}
diff --git a/lib/ExecutionEngine/CacheWriter.cpp b/lib/ExecutionEngine/CacheWriter.cpp
index ab8dd03..86775a7 100644
--- a/lib/ExecutionEngine/CacheWriter.cpp
+++ b/lib/ExecutionEngine/CacheWriter.cpp
@@ -93,7 +93,6 @@
// Magic word and version
memcpy(header->magic, OBCC_MAGIC, 4);
memcpy(header->version, OBCC_VERSION, 4);
- memcpy(header->libbcc_build_checksum, libbcc_build_checksum, 41);
// Machine Integer Type
uint32_t number = 0x00000001;
diff --git a/lib/ExecutionEngine/Compiler.cpp b/lib/ExecutionEngine/Compiler.cpp
index 78dbb47..bccf571 100644
--- a/lib/ExecutionEngine/Compiler.cpp
+++ b/lib/ExecutionEngine/Compiler.cpp
@@ -152,9 +152,6 @@
void Compiler::GlobalInitialization() {
if (GlobalInitialized)
return;
-
- LOGI("LIBBCC BUILD CHECKSUM: %s\n", libbcc_build_checksum);
-
// if (!llvm::llvm_is_multithreaded())
// llvm::llvm_start_multithreaded();
@@ -253,10 +250,7 @@
#if USE_CACHE
// Calculate the SHA1 checksum of libbcc and libRS.
-#if USE_LIBBCC_SHA1SUM
- calcFileSHA1(sha1LibBCC, pathLibBCC);
-#endif
- calcFileSHA1(sha1LibRS, pathLibRS);
+ calcFileSHA1(sha1LibBCC_SHA1, pathLibBCC_SHA1);
#endif
GlobalInitialized = true;
diff --git a/lib/ExecutionEngine/MCCacheReader.cpp b/lib/ExecutionEngine/MCCacheReader.cpp
index 2034317..ba1f7fc 100644
--- a/lib/ExecutionEngine/MCCacheReader.cpp
+++ b/lib/ExecutionEngine/MCCacheReader.cpp
@@ -148,14 +148,6 @@
OBCC_VERSION, mpHeader->version);
return false;
}
-
- if (memcmp(mpHeader->libbcc_build_checksum, libbcc_build_checksum, 41) != 0) {
- mpHeader->libbcc_build_checksum[41 - 1] = '\0'; // ensure terminated
- LOGW("Build checksum mismatch: lib %s cached %s\n", libbcc_build_checksum,
- mpHeader->libbcc_build_checksum);
- return false;
- }
-
return true;
}
diff --git a/lib/ExecutionEngine/MCCacheWriter.cpp b/lib/ExecutionEngine/MCCacheWriter.cpp
index c2d0d04..1250ab7 100644
--- a/lib/ExecutionEngine/MCCacheWriter.cpp
+++ b/lib/ExecutionEngine/MCCacheWriter.cpp
@@ -90,7 +90,6 @@
// Magic word and version
memcpy(header->magic, OBCC_MAGIC, 4);
memcpy(header->version, OBCC_VERSION, 4);
- memcpy(header->libbcc_build_checksum, libbcc_build_checksum, 41);
// Machine Integer Type
uint32_t number = 0x00000001;
diff --git a/lib/ExecutionEngine/Script.cpp b/lib/ExecutionEngine/Script.cpp
index 67e59f6..7aa3748 100644
--- a/lib/ExecutionEngine/Script.cpp
+++ b/lib/ExecutionEngine/Script.cpp
@@ -272,11 +272,7 @@
#endif
// Dependencies
-#if USE_LIBBCC_SHA1SUM
- reader.addDependency(BCC_FILE_RESOURCE, pathLibBCC, sha1LibBCC);
-#endif
-
- reader.addDependency(BCC_FILE_RESOURCE, pathLibRS, sha1LibRS);
+ reader.addDependency(BCC_FILE_RESOURCE, pathLibBCC_SHA1, sha1LibBCC_SHA1);
for (size_t i = 0; i < 2; ++i) {
if (mSourceList[i]) {
@@ -410,11 +406,10 @@
CacheWriter writer;
#endif
+#ifdef TARGET_BUILD
// Dependencies
-#if USE_LIBBCC_SHA1SUM
- writer.addDependency(BCC_FILE_RESOURCE, pathLibBCC, sha1LibBCC);
+ writer.addDependency(BCC_FILE_RESOURCE, pathLibBCC_SHA1, sha1LibBCC_SHA1);
#endif
- writer.addDependency(BCC_FILE_RESOURCE, pathLibRS, sha1LibRS);
for (size_t i = 0; i < 2; ++i) {
if (mSourceList[i]) {
diff --git a/lib/ExecutionEngine/Sha1Helper.cpp b/lib/ExecutionEngine/Sha1Helper.cpp
index f4589c9..e7e7932 100644
--- a/lib/ExecutionEngine/Sha1Helper.cpp
+++ b/lib/ExecutionEngine/Sha1Helper.cpp
@@ -29,14 +29,8 @@
namespace bcc {
-#if USE_LIBBCC_SHA1SUM
-unsigned char sha1LibBCC[20];
-char const *pathLibBCC = "/system/lib/libbcc.so";
-#endif
-
-unsigned char sha1LibRS[20];
-char const *pathLibRS = "/system/lib/libRS.so";
-
+unsigned char sha1LibBCC_SHA1[20];
+char const *pathLibBCC_SHA1 = "/system/lib/libbcc_sha1.so";
void calcSHA1(unsigned char *result, char const *data, size_t size) {
SHA1_CTX hashContext;
diff --git a/lib/ExecutionEngine/Sha1Helper.h b/lib/ExecutionEngine/Sha1Helper.h
index 5e98036..f53c0ce 100644
--- a/lib/ExecutionEngine/Sha1Helper.h
+++ b/lib/ExecutionEngine/Sha1Helper.h
@@ -22,13 +22,8 @@
#include <stddef.h>
namespace bcc {
-#if USE_LIBBCC_SHA1SUM
- extern unsigned char sha1LibBCC[20];
- extern char const *pathLibBCC;
-#endif
-
- extern unsigned char sha1LibRS[20];
- extern char const *pathLibRS;
+ extern unsigned char sha1LibBCC_SHA1[20];
+ extern char const *pathLibBCC_SHA1;
void calcSHA1(unsigned char *result, char const *data, size_t size);