diff --git a/lib/bcc/Compiler.cpp b/lib/bcc/Compiler.cpp
index 1bb5797..01c513a 100644
--- a/lib/bcc/Compiler.cpp
+++ b/lib/bcc/Compiler.cpp
@@ -106,7 +106,6 @@
 #include <string>
 #include <vector>
 
-
 namespace {
 
 #define TEMP_FAILURE_RETRY1(exp) ({        \
@@ -135,6 +134,21 @@
     return 0;
 }
 
+inline uint32_t statModifyTime(char const *filepath) {
+  struct stat st;
+
+  if (stat(filepath, &st) < 0) {
+    LOGE("Unable to stat \'%s\', with reason: %s\n", filepath, strerror(errno));
+    return 0;
+  }
+
+  return static_cast<uint32_t>(st.st_mtime);
+}
+
+static char const libRSPath[] = "/system/lib/libRS.so";
+
+static char const libBccPath[] = "/system/lib/libbcc.so";
+
 } // namespace anonymous
 
 
@@ -1297,8 +1311,8 @@
   // Timestamp
   hdr->sourceWhen = 0; // TODO(all)
   hdr->rslibWhen = 0; // TODO(all)
-  hdr->libRSWhen = 0; // TODO(all)
-  hdr->libbccWhen = 0; // TODO(all)
+  hdr->libRSWhen = statModifyTime(libRSPath);
+  hdr->libbccWhen = statModifyTime(libBccPath);
 
   // Current Memory Address (Saved for Recalculation)
   hdr->cachedCodeDataAddr = reinterpret_cast<uint32_t>(mCodeDataAddr);
@@ -1597,8 +1611,8 @@
     // XXX
     uint32_t sourceWhen = 0;
     uint32_t rslibWhen = 0;
-    uint32_t libRSWhen = 0;
-    uint32_t libbccWhen = 0;
+    uint32_t libRSWhen = statModifyTime(libRSPath);
+    uint32_t libbccWhen = statModifyTime(libBccPath);
     if (!checkHeaderAndDependencies(fd,
                                     sourceWhen,
                                     rslibWhen,
