ARM64: PC/IP not saved in signal frame

John Marino freebsd.contact at marino.st
Tue Feb 7 18:47:06 UTC 2017


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)

Regards,
John


More information about the freebsd-arm mailing list