Page MenuHomeFreeBSD

Fix the stack tracing for dtrace/powerpc.
ClosedPublic

Authored by jhibbits on Sep 16 2014, 2:47 PM.
Tags
None
Referenced Files
Unknown Object (File)
May 21 2024, 1:15 AM
Unknown Object (File)
May 1 2024, 9:42 AM
Unknown Object (File)
Apr 28 2024, 1:16 PM
Unknown Object (File)
Apr 15 2024, 5:59 AM
Unknown Object (File)
Dec 30 2023, 12:07 PM
Unknown Object (File)
Dec 12 2023, 3:57 AM
Unknown Object (File)
Dec 10 2023, 10:18 AM
Unknown Object (File)
Nov 7 2023, 9:21 AM
Subscribers
None

Details

Summary

Fix the stack tracing for dtrace/powerpc by using the trapexit/asttrapexit
return address sentinels instead of checking within the kernel address space.

As part of this, I had to add new inline functions. FBT traces the kernel, so
we have to have special case handling for this, since a trap will create a full
new trap frame, and there's no way to pass around the 'real' stack. I handle
this by special-casing 'aframes == 0' with the trap frame. If aframes counts
out to the trap frame, then assume we're looking for the full kernel trap frame,
so switch to the real stack pointer.

Test Plan

Tested on powerpc64

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
No Lint Coverage
Unit
No Test Coverage

Event Timeline

jhibbits retitled this revision from to Fix the stack tracing for dtrace/powerpc..
jhibbits updated this object.
jhibbits edited the test plan for this revision. (Show Details)
jhibbits added reviewers: nwhitehorn, markj, rpaulo.

This looks good to me, but I'm not familiar enough with PowerPC.

Looks good to me too, though I don't know anything about dtrace.

markj edited edge metadata.

I'm with rpaulo. :)

This revision is now accepted and ready to land.Sep 16 2014, 11:16 PM
nwhitehorn edited edge metadata.

Check the box: this looks great to me.