diff options
| author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2006-07-03 03:24:25 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-07-03 18:27:00 -0400 |
| commit | 8d8fdf5c76816e5263073008f03f097ffc713db3 (patch) | |
| tree | 2c184b13bead7f72d800bc0dba61b43c8ba9334e | |
| parent | 4d435f9d8ff01ae726a2a84edb9c2457787a337e (diff) | |
[PATCH] lockdep: add print_ip_sym()
Provide a common print_ip_sym() function that prints the passed instruction
pointer as well as the symbol belonging to it. Avoids adding a bunch of
#ifdef CONFIG_64BIT in order to get the printk format right on 32/64 bit
platforms.
Acked-by: Ingo Molnar <mingo@elte.hu>
Cc: Arjan van de Ven <arjan@infradead.org>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| -rw-r--r-- | include/linux/kallsyms.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/include/linux/kallsyms.h b/include/linux/kallsyms.h index ad71ac053d6e..849043ce4ed6 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) | |||
| 64 | __builtin_extract_return_addr((void *)addr)); | 64 | __builtin_extract_return_addr((void *)addr)); |
| 65 | } | 65 | } |
| 66 | 66 | ||
| 67 | #ifndef CONFIG_64BIT | ||
| 68 | #define print_ip_sym(ip) \ | ||
| 69 | do { \ | ||
| 70 | printk("[<%08lx>]", ip); \ | ||
| 71 | print_symbol(" %s\n", ip); \ | ||
| 72 | } while(0) | ||
| 73 | #else | ||
| 74 | #define print_ip_sym(ip) \ | ||
| 75 | do { \ | ||
| 76 | printk("[<%016lx>]", ip); \ | ||
| 77 | print_symbol(" %s\n", ip); \ | ||
| 78 | } while(0) | ||
| 79 | #endif | ||
| 80 | |||
| 67 | #endif /*_LINUX_KALLSYMS_H*/ | 81 | #endif /*_LINUX_KALLSYMS_H*/ |
