Re: [PATCH] arm:traps: Don't print stack or raw PC/LR values in backtraces

From: Xiaoming Ni
Date: Sun Oct 11 2020 - 22:24:54 EST


On 2020/10/12 5:32, Russell King - ARM Linux admin wrote:
On Fri, Oct 09, 2020 at 10:18:20AM +0200, Sebastian Andrzej Siewior wrote:
On 2020-10-09 09:08:50 [+0100], Russell King - ARM Linux admin wrote:
I am really not happy about this - it hurts at least my ability to
debug the kernel when people post oopses to the mailing list. If
people wish to make the kernel harder to debug, and are prepared
to be told "your kernel is undebuggable" then this patch is fine.

I haven't look at the patch but don't they keep/add the representation:
PC: symbol+offset/size
LR: symbol+offset/size

? This is needed at very least as a replacement for the missing address.

I don't have a problem getting rid of the hex numbers in [< >]
although then I will need to convert the symbol back to an address
using the vmlinux to then calculate its address to then find the
appropriate place in the objdump output - because objdump does
_not_ use the symbol+offset annotation. Yes, I really do look up
the numeric addresses in the objdump output to then read the
disassembly.

$ objdump -d vmlinux | less

and then search for the address is the fastest and most convenient
way for me rather than having to deal with some random script.

Maybe I'm just antequated about how I do my debugging, but this
seems to me to be the most efficient and fastest way.

The loading address of the kernel module is not fixed, so symbol+offset is more useful than a hexadecimal address when the call stack contains kernel module symbols.
Delete the PC/LR address and retain the sysbol+offset. The kernel can still be debugged.

Thanks
Xiaoming Ni