Removed Common

Change-Id: I01ea8f07220375c2ad9bc0092281d4f27c642303
diff --git a/aos/die.h b/aos/die.h
new file mode 100644
index 0000000..4296881
--- /dev/null
+++ b/aos/die.h
@@ -0,0 +1,51 @@
+#ifndef AOS_DIE_H_
+#define AOS_DIE_H_
+
+#include <stdarg.h>
+
+#include "aos/macros.h"
+#include "aos/libc/aos_strerror.h"
+
+namespace aos {
+
+// Terminates the task/process and logs a message (without using the logging
+// framework). Designed for use in code that can't use the logging framework
+// (code that can should LOG(FATAL), which calls this).
+void Die(const char *format, ...)
+    __attribute__((noreturn))
+    __attribute__((format(GOOD_PRINTF_FORMAT_TYPE, 1, 2)));
+void VDie(const char *format, va_list args)
+    __attribute__((noreturn))
+    __attribute__((format(GOOD_PRINTF_FORMAT_TYPE, 1, 0)));
+
+
+// The same as Die except appends " because of %d (%s)" (formatted with errno
+// and aos_strerror(errno)) to the message.
+#define PDie(format, args...)                               \
+  do {                                                      \
+    const int error = errno;                                \
+    ::aos::Die(format " because of %d (%s)", ##args, error, \
+               aos_strerror(error));                        \
+  } while (false)
+
+// The same as Die except appends " because of %d (%s)" (formatted with error
+// and aos_strerror(error)) to the message.
+// PCHECK is to PDie as PRCHECK is to PRDie
+//
+// Example:
+// const int ret = pthread_mutex_lock(whatever);
+// if (ret != 0) PRDie(ret, "pthread_mutex_lock(%p) failed", whatever);
+#define PRDie(error, format, args...)                       \
+  do {                                                      \
+    ::aos::Die(format " because of %d (%s)", ##args, error, \
+               aos_strerror(error));                        \
+  } while (false)
+
+// Turns on (or off) "test mode", where (V)Die doesn't write out files and
+// doesn't print to stdout.
+// Test mode defaults to false.
+void SetDieTestMode(bool test_mode);
+
+}  // namespace aos
+
+#endif  // AOS_DIE_H_