parisc: Fix and improve kernel stack unwinding
authorHelge Deller <deller@gmx.de>
Sat, 4 Aug 2018 22:03:29 +0000 (00:03 +0200)
committerHelge Deller <deller@gmx.de>
Mon, 13 Aug 2018 07:54:17 +0000 (09:54 +0200)
commitc8921d72e390cb6fca3fb2b0c2badfda851647eb
tree8c6aec1a9405da9caad70088a7dfd910b71b6675
parent3b885ac1dc35b87a39ee176a6c7e2af9c789d8b8
parisc: Fix and improve kernel stack unwinding

This patchset fixes and improves stack unwinding a lot:
1. Show backward stack traces with up to 30 callsites
2. Add callinfo to ENTRY_CFI() such that every assembler function will get an
   entry in the unwind table
3. Use constants instead of numbers in call_on_stack()
4. Do not depend on CONFIG_KALLSYMS to generate backtraces.
5. Speed up backtrace generation

Make sure you have this patch to GNU as installed:
https://sourceware.org/ml/binutils/2018-07/msg00474.html
Without this patch, unwind info in the kernel is often wrong for various
functions.

Signed-off-by: Helge Deller <deller@gmx.de>
arch/parisc/include/asm/assembly.h
arch/parisc/include/asm/linkage.h
arch/parisc/include/asm/unwind.h
arch/parisc/kernel/entry.S
arch/parisc/kernel/pacache.S
arch/parisc/kernel/process.c
arch/parisc/kernel/real2.S
arch/parisc/kernel/traps.c
arch/parisc/kernel/unwind.c
arch/parisc/lib/lusercopy.S