diff options
Diffstat (limited to 'arch/x86/kernel/dumpstack_32.c')
-rw-r--r-- | arch/x86/kernel/dumpstack_32.c | 27 |
1 files changed, 2 insertions, 25 deletions
diff --git a/arch/x86/kernel/dumpstack_32.c b/arch/x86/kernel/dumpstack_32.c index dc9ca7ee1c47..4e67a005c7a1 100644 --- a/arch/x86/kernel/dumpstack_32.c +++ b/arch/x86/kernel/dumpstack_32.c | |||
@@ -23,31 +23,8 @@ static int die_counter; | |||
23 | 23 | ||
24 | void printk_address(unsigned long address, int reliable) | 24 | void printk_address(unsigned long address, int reliable) |
25 | { | 25 | { |
26 | #ifdef CONFIG_KALLSYMS | 26 | printk(" [<%p>] %s%pS\n", (void *) address, |
27 | unsigned long offset = 0; | 27 | reliable ? "" : "? ", (void *) address); |
28 | unsigned long symsize; | ||
29 | const char *symname; | ||
30 | char *modname; | ||
31 | char *delim = ":"; | ||
32 | char namebuf[KSYM_NAME_LEN]; | ||
33 | char reliab[4] = ""; | ||
34 | |||
35 | symname = kallsyms_lookup(address, &symsize, &offset, | ||
36 | &modname, namebuf); | ||
37 | if (!symname) { | ||
38 | printk(" [<%08lx>]\n", address); | ||
39 | return; | ||
40 | } | ||
41 | if (!reliable) | ||
42 | strcpy(reliab, "? "); | ||
43 | |||
44 | if (!modname) | ||
45 | modname = delim = ""; | ||
46 | printk(" [<%08lx>] %s%s%s%s%s+0x%lx/0x%lx\n", | ||
47 | address, reliab, delim, modname, delim, symname, offset, symsize); | ||
48 | #else | ||
49 | printk(" [<%08lx>]\n", address); | ||
50 | #endif | ||
51 | } | 28 | } |
52 | 29 | ||
53 | static inline int valid_stack_ptr(struct thread_info *tinfo, | 30 | static inline int valid_stack_ptr(struct thread_info *tinfo, |