[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Libunwind-devel] [PATCH] restore "x0" and "x1" registers
From: |
Yvan Roux |
Subject: |
Re: [Libunwind-devel] [PATCH] restore "x0" and "x1" registers |
Date: |
Mon, 6 Oct 2014 10:45:46 +0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
Hi,
> I'd try to use ia64 and x86_64 as reference code on this topic.
> src/ia64/Gresume.c has some relevant comments on preserved vs scratch.
>
> My understanding of the aarch64 code is:
>
> (c->sigcontext_format == AARCH64_SCF_NONE) {
> // normal path
> } else {
> // exception handling path
> // eh_valid_mask is being looked at
> }
>
> What I'm not understanding is: how does the exception handling path
> end up with AARCH64_SCF_NONE?
what I did here is to use the same pattern as on the arm and sh port, to
handle cases without signals (when AARCH64_SCF_NONE is true) and with
signals, but I've handle exception argument passing only when signal are
involved which is an error. What I don't understand in the ia64 code (which
have almost the same structure) is: why in the non-signal path exception
arguments registers are always restored and not guarded by the test on
eh_valid_mask ?
Regarding the proposed patch, I think that it should handle registers
x0,x1,x2 and x3 and not only x0 and x1.
Yvan
- Re: [Libunwind-devel] [PATCH] restore "x0" and "x1" registers, cbergstrom, 2014/10/04
- Re: [Libunwind-devel] [PATCH] restore "x0" and "x1" registers,
Yvan Roux <=
- Re: [Libunwind-devel] [PATCH] restore "x0" and "x1" registers, C Bergström, 2014/10/07
- Re: [Libunwind-devel] [PATCH] restore "x0" and "x1" registers, C Bergström, 2014/10/08
- Re: [Libunwind-devel] [PATCH] restore "x0" and "x1" registers, Arun Sharma, 2014/10/09
- Re: [Libunwind-devel] [PATCH] restore "x0" and "x1" registers, cbergstrom, 2014/10/09
- Re: [Libunwind-devel] [PATCH] restore "x0" and "x1" registers, Arun Sharma, 2014/10/10
- Re: [Libunwind-devel] [PATCH] restore "x0" and "x1" registers, Yvan Roux, 2014/10/10
- Re: [Libunwind-devel] [PATCH] restore "x0" and "x1" registers, C Bergström, 2014/10/19
- Re: [Libunwind-devel] [PATCH] restore "x0" and "x1" registers, C Bergström, 2014/10/25
- Re: [Libunwind-devel] [PATCH] restore "x0" and "x1" registers, Arun Sharma, 2014/10/25
- Re: [Libunwind-devel] [PATCH] restore "x0" and "x1" registers, Yvan Roux, 2014/10/28