Fix several bugs.
1. Incorrect string pool offset calculation.
2. Move the sha1 checksum calculation code forward.
3. Assign file to mFile (in order to share with different method).
diff --git a/lib/bcc/CacheReader.cpp b/lib/bcc/CacheReader.cpp
index ddb0258..8700eb9 100644
--- a/lib/bcc/CacheReader.cpp
+++ b/lib/bcc/CacheReader.cpp
@@ -57,6 +57,8 @@
return NULL;
}
+ mFile = file;
+
// Allocate ScriptCached object
mpResult.reset(new (nothrow) ScriptCached(S));
@@ -103,12 +105,6 @@
return false;
}
- // Dirty hack for libRS.
- // TODO(all): This should be removed in the future.
- if (mpHeader->libRS_threadable) {
- mpResult->mLibRSThreadable = true;
- }
-
return true;
}
@@ -131,6 +127,12 @@
return false;
}
+ // Dirty hack for libRS.
+ // TODO(all): This should be removed in the future.
+ if (mpHeader->libRS_threadable) {
+ mpResult->mLibRSThreadable = true;
+ }
+
return true;
}
@@ -196,7 +198,7 @@
CHECK_SECTION_OFFSET(str_pool);
CHECK_SECTION_OFFSET(depend_tab);
- CHECK_SECTION_OFFSET(reloc_tab);
+ //CHECK_SECTION_OFFSET(reloc_tab);
CHECK_SECTION_OFFSET(export_var_list);
CHECK_SECTION_OFFSET(export_func_list);
CHECK_SECTION_OFFSET(pragma_list);