Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

powerpc: Use new printk extension %pS to print symbols on oops

This changes the oops and backtrace code to use the new %pS
printk extension to print out symbols rather than manually
calling print_symbol.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>

+5 -9
+5 -9
arch/powerpc/kernel/process.c
··· 485 485 * Lookup NIP late so we have the best change of getting the 486 486 * above info out without failing 487 487 */ 488 - printk("NIP ["REG"] ", regs->nip); 489 - print_symbol("%s\n", regs->nip); 490 - printk("LR ["REG"] ", regs->link); 491 - print_symbol("%s\n", regs->link); 488 + printk("NIP ["REG"] %pS\n", regs->nip, (void *)regs->nip); 489 + printk("LR ["REG"] %pS\n", regs->link, (void *)regs->link); 492 490 #endif 493 491 show_stack(current, (unsigned long *) regs->gpr[1]); 494 492 if (!user_mode(regs)) ··· 974 976 newsp = stack[0]; 975 977 ip = stack[STACK_FRAME_LR_SAVE]; 976 978 if (!firstframe || ip != lr) { 977 - printk("["REG"] ["REG"] ", sp, ip); 978 - print_symbol("%s", ip); 979 + printk("["REG"] ["REG"] %pS", sp, ip, (void *)ip); 979 980 if (firstframe) 980 981 printk(" (unreliable)"); 981 982 printk("\n"); ··· 989 992 && stack[STACK_FRAME_MARKER] == STACK_FRAME_REGS_MARKER) { 990 993 struct pt_regs *regs = (struct pt_regs *) 991 994 (sp + STACK_FRAME_OVERHEAD); 992 - printk("--- Exception: %lx", regs->trap); 993 - print_symbol(" at %s\n", regs->nip); 994 995 lr = regs->link; 995 - print_symbol(" LR = %s\n", lr); 996 + printk("--- Exception: %lx at %pS\n LR = %pS\n", 997 + regs->trap, (void *)regs->nip, (void *)lr); 996 998 firstframe = 1; 997 999 } 998 1000