+
+#else /* (LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0)) */
+
+LTTNG_TRACEPOINT_EVENT_CONDITION(console,
+ TP_PROTO(const char *log_buf, unsigned start, unsigned end,
+ unsigned log_buf_len),
+
+ TP_ARGS(log_buf, start, end, log_buf_len),
+
+ TP_CONDITION(start != end),
+
+ TP_STRUCT__entry(
+ __dynamic_array_text_2(char, msg,
+ (start & (log_buf_len - 1)) > (end & (log_buf_len - 1))
+ ? log_buf_len - (start & (log_buf_len - 1))
+ : end - start,
+ (start & (log_buf_len - 1)) > (end & (log_buf_len - 1))
+ ? end & (log_buf_len - 1)
+ : 0)
+ ),
+
+ TP_fast_assign(
+ tp_memcpy_dyn_2(msg,
+ log_buf + (start & (log_buf_len - 1)),
+ log_buf)
+ ),
+
+ TP_printk("%s", __get_str(msg))
+)
+
+#endif
+
+#endif /* LTTNG_TRACE_PRINTK_H */