fix line numbers in CHECK failures
diff --git a/aos/common/logging/logging.h b/aos/common/logging/logging.h
index ca2594b..a149d39 100644
--- a/aos/common/logging/logging.h
+++ b/aos/common/logging/logging.h
@@ -174,16 +174,21 @@
 // The (int, int) specialization works around the issue that the compiler
 // will not instantiate the template version of the function on values of
 // unnamed enum type.
-#define DEFINE_CHECK_OP_IMPL(name, op)                              \
-  template <typename T1, typename T2>                               \
-  inline void LogImpl##name(const T1 &v1, const T2 &v2,             \
-                            const char *exprtext) {                 \
-    if (!__builtin_expect(v1 op v2, 1)) {                           \
-      LOG(FATAL, "CHECK(%s) failed\n", exprtext);                   \
-    }                                                               \
-  }                                                                 \
-  inline void LogImpl##name(int v1, int v2, const char *exprtext) { \
-    ::aos::LogImpl##name<int, int>(v1, v2, exprtext);               \
+#define DEFINE_CHECK_OP_IMPL(name, op)                                       \
+  template <typename T1, typename T2>                                        \
+  inline void LogImpl##name(const T1 &v1, const T2 &v2,                      \
+                            const char *exprtext) {                          \
+    if (!__builtin_expect(v1 op v2, 1)) {                                    \
+      log_do(FATAL,                                                          \
+             LOG_SOURCENAME ": " STRINGIFY(__LINE__) ": CHECK(%s) failed\n", \
+             exprtext);                                                      \
+      fprintf(stderr, "log_do(FATAL) fell through!!!!!\n");                  \
+      printf("see stderr\n");                                                \
+      abort();                                                               \
+    }                                                                        \
+  }                                                                          \
+  inline void LogImpl##name(int v1, int v2, const char *exprtext) {          \
+    ::aos::LogImpl##name<int, int>(v1, v2, exprtext);                        \
   }
 
 // We use the full name Check_EQ, Check_NE, etc. in case the file including