Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 7 Feb 2017 12:47:01 -0600
From:      John Marino <freebsd.contact@marino.st>
To:        freebsd-arm@freebsd.org
Cc:        Andreas Tobler <andreastt@gmail.com>
Subject:   ARM64: PC/IP not saved in signal frame
Message-ID:  <530c18cd-d50d-4709-a0ca-22324a0cb592@marino.st>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?530c18cd-d50d-4709-a0ca-22324a0cb592>