ARM64: PC/IP not saved in signal frame

John Marino freebsdml at marino.st
Tue Feb 7 18:55:57 UTC 2017


On 2/7/2017 12:47, John Marino wrote:
> Hi guys,
> I've been struggling to provide unwind support on the aarch64-*-freebsd*
> target of FreeBSD.  The only working example on this arch is
> aarch64-linux (attached).  I think I'm 99% done with the freebsd version
> (attached) but the last value that needs to be pass to the
> _Unwind_FrameState is the program counter offset.
>
> I know the PC is not register-based on aarch64.  Linux still saves the
> value in the signal context, but AFAICT FreeBSD does not.
>
> Can somebody
> A) confirm that the program counter is missing from the saved signal
> context
> B) confirm that it needs to be added for proper signal frame unwinding?
>
> Alternatively, maybe somebody can figure out a solution given the
> current freebsd structures, but I'm losing hope on that one. (line 99)

Apparently attachments are stripped out on this mail list.
You can see the headers here:
https://leaf.dragonflybsd.org/~marino/linux-unwind.h
https://leaf.dragonflybsd.org/~marino/freebsd-unwind.h

John


More information about the freebsd-arm mailing list