GDB-JIT: why would my 'unwind' not be invoked on crash?
K
cq.personal@gmail.com
Wed Nov 12 02:00:39 GMT 2025
>
> Could you say more about what exactly you're doing?
>
> Like are you writing an unwinder in gdb? Or writing one in Python?
>
>
I'm implementing an unwinder via the GDB-JIT C API for JIT code where
generating custom ELF debug information is too onerous.
The first article I read on it, by the implementor Sanjoy D(?) mentioned
your name as originating the approach!
So I'm just providing the functions called for by the struct in the API -
unwind and get-frame-id (plus the function name/line number info
separately).
So gdb has no ELF info to look at (other than of the binary that is
generating the JIT code), so I was expecting gdb to immediately defer
to the jit-reader.so loaded into itself with the defined unwind function
which has a few printf statements so I know when it runs ...
and it isn't being called until 2 lines of backtrace have already been
emitted, and only then on garbage data because it has already gone awry
interpreting the stack contents/frame (with those first 2 lines above).
More information about the Gdb
mailing list