Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 7 Feb 2017 19:06:22 +0000
From:      Andrew Turner <andrew@fubar.geek.nz>
To:        John Marino <freebsdml@marino.st>
Cc:        marino@freebsd.org, freebsd-arm@freebsd.org, Andreas Tobler <andreastt@gmail.com>
Subject:   Re: ARM64: PC/IP not saved in signal frame
Message-ID:  <20170207190622.1a7a3673@zapp>
In-Reply-To: <86279411-3979-edab-7ba2-4a1e3fa6429e@marino.st>
References:  <530c18cd-d50d-4709-a0ca-22324a0cb592@marino.st> <86279411-3979-edab-7ba2-4a1e3fa6429e@marino.st>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 7 Feb 2017 12:55:51 -0600
John Marino <freebsdml@marino.st> wrote:

> 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

You want sc->REG_NAME(elr).

Andrew



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20170207190622.1a7a3673>