summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Salyzyn <salyzyn@google.com>2015-04-09 16:12:58 -0700
committerMark Salyzyn <salyzyn@google.com>2015-04-10 11:28:16 -0700
commit4ff25455256e58e764ff824d4712b0cd59122830 (patch)
tree719d827431e5aa0f6793cd6c1e875b0178220e6b
parent03a034010ee73e490766cd865f2c12126af63774 (diff)
downloadsystem_core-4ff25455256e58e764ff824d4712b0cd59122830.zip
system_core-4ff25455256e58e764ff824d4712b0cd59122830.tar.gz
system_core-4ff25455256e58e764ff824d4712b0cd59122830.tar.bz2
log: Add check for LINT_RLOG
In order to make it easier to find radio system logging mistakes, if LINT_RLOG is defined we will remove all the definitions for ALOG* and SLOG*, as well as the log ids to introduce compile and link errors. Bug: 20143912 Change-Id: I1511bdce75213f3a5bacdbc4f2ab315aa1fa56fc
-rw-r--r--include/log/log.h27
1 files changed, 23 insertions, 4 deletions
diff --git a/include/log/log.h b/include/log/log.h
index 99015db..ce253e2 100644
--- a/include/log/log.h
+++ b/include/log/log.h
@@ -67,6 +67,23 @@ extern "C" {
// ---------------------------------------------------------------------
+#ifndef __predict_false
+#define __predict_false(exp) __builtin_expect((exp) != 0, 0)
+#endif
+
+/*
+ * -DLINT_RLOG in sources that you want to enforce that all logging
+ * goes to the radio log buffer. If any logging goes to any of the other
+ * log buffers, there will be a compile or link error to highlight the
+ * problem. This is not a replacement for a full audit of the code since
+ * this only catches compiled code, not ifdef'd debug code. Options to
+ * defining this, either temporarily to do a spot check, or permanently
+ * to enforce, in all the communications trees; We have hopes to ensure
+ * that by supplying just the radio log buffer that the communications
+ * teams will have their one-stop shop for triaging issues.
+ */
+#ifndef LINT_RLOG
+
/*
* Simplified macro to send a verbose log message using the current LOG_TAG.
*/
@@ -79,10 +96,6 @@ extern "C" {
#endif
#endif
-#ifndef __predict_false
-#define __predict_false(exp) __builtin_expect((exp) != 0, 0)
-#endif
-
#ifndef ALOGV_IF
#if LOG_NDEBUG
#define ALOGV_IF(cond, ...) ((void)0)
@@ -283,6 +296,8 @@ extern "C" {
: (void)0 )
#endif
+#endif /* !LINT_RLOG */
+
// ---------------------------------------------------------------------
/*
@@ -567,11 +582,15 @@ typedef enum {
typedef enum log_id {
LOG_ID_MIN = 0,
+#ifndef LINT_RLOG
LOG_ID_MAIN = 0,
+#endif
LOG_ID_RADIO = 1,
+#ifndef LINT_RLOG
LOG_ID_EVENTS = 2,
LOG_ID_SYSTEM = 3,
LOG_ID_CRASH = 4,
+#endif
LOG_ID_MAX
} log_id_t;