diff --git a/include/linux/kallsyms.h b/include/linux/kallsyms.h
index ad71ac053d6ed95be0e6a6b391aadf93903cac31..849043ce4ed6ad811d77decf3463238a1c9a6f82 100644
--- a/include/linux/kallsyms.h
+++ b/include/linux/kallsyms.h
@@ -64,4 +64,18 @@ static inline void print_symbol(const char *fmt, unsigned long addr)
 		       __builtin_extract_return_addr((void *)addr));
 }
 
+#ifndef CONFIG_64BIT
+#define print_ip_sym(ip)		\
+do {					\
+	printk("[<%08lx>]", ip);	\
+	print_symbol(" %s\n", ip);	\
+} while(0)
+#else
+#define print_ip_sym(ip)		\
+do {					\
+	printk("[<%016lx>]", ip);	\
+	print_symbol(" %s\n", ip);	\
+} while(0)
+#endif
+
 #endif /*_LINUX_KALLSYMS_H*/