]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
dtrace/powerpc: "Fix" stack traces across trap frames
authorJustin Hibbits <jhibbits@FreeBSD.org>
Sat, 11 Mar 2023 16:30:00 +0000 (11:30 -0500)
committerJustin Hibbits <jhibbits@FreeBSD.org>
Wed, 15 Mar 2023 19:47:49 +0000 (15:47 -0400)
commit0a21a6659e5dfe503da587fb0460ae19bd765859
tree496cf8fbfa36c161cb67208d1704b5e764796a4c
parentaa728e209458a41955e64b6b4d4181c6db26bc74
dtrace/powerpc: "Fix" stack traces across trap frames

In function boundary tracing the link register is not yet saved to the
save stack location, so the save point contains whatever the previous
'lr' save was, or even garbage, at the time the trap is taken.  Address
this by explicitly loading the link register from the trap frame instead
of the stack, and propagate that out.

(cherry picked from commit 3e1155ade1baab51458374efd0295bdf6db455fc)
(cherry picked from commit e620e088cbd1c062655eee825aaf4f80bd255e1f)
sys/cddl/dev/dtrace/powerpc/dtrace_isa.c