 +  void printInternal(const std::vector<uint8_t>& aVec, const char* const aObjName)
 +  {
 +    auto hexString = bin2hex(aVec);
-+    printf_stderr("%s = %s, unsgined vector length = %" PRIu64, aObjName, hexString.c_str(), aVec.size());
++    printf_stderr("%s = %s, unsgined vector length = %" PRIuSIZE, aObjName, hexString.c_str(), aVec.size());
 +  }
 +
 +  template<>
 +  void printInternal(const std::vector<char>& aVec, const char* const aObjName)
 +  {
 +    auto hexString = bin2hex(aVec);
-+    printf_stderr("%s = %s, signed vector length = %" PRIu64, aObjName, hexString.c_str(), aVec.size());
++    printf_stderr("%s = %s, signed vector length = %" PRIuSIZE, aObjName, hexString.c_str(), aVec.size());
 +  }
 +
 +  template<class Key, class Value>

+#endif
\ No newline at end of file
diff --git a/xpcom/glue/moz.build b/xpcom/glue/moz.build
index be92935..fd8136a 100644
--- a/xpcom/glue/moz.build
+++ b/xpcom/glue/moz.build
@@ -15,6 +15,7 @@ if CONFIG['OS_ARCH'] == 'WINNT':
     DIRS += ['staticruntime']
 
 EXPORTS += [
+    'ezlogger.h',
     'MainThreadUtils.h',
     'nsArrayEnumerator.h',
     'nsArrayUtils.h',
-- 
2.9.1


+      printf_stderr("%s",ss.str().c_str());
+    }
+  }
+
+  template<class Key, class Value>
+  void printInternal(const std::unordered_map<Key, Value> aMap, const char* const aObjName)
+  {
