I'm porting lldb to baremetal ARC target and now I try to call functions from 
expressions. It works well until ThreadPlanCallFunction tries to restore 
register state. In that moment my gdb-server crashes because of attempt to 
write some registers that shouldn't be written.

Thanks,
Tatyana

-----Original Message-----
From: Pavel Labath [mailto:lab...@google.com] 
Sent: Thursday, 13 July, 2017 2:16 PM
To: Tatyana Krasnukha <tatyana.krasnu...@synopsys.com>
Cc: lldb-dev@lists.llvm.org
Subject: Re: [lldb-dev] Skipping registers when restore register state after a 
function call

I'm not sure there is a good way to do that currently.

However, if you tell us what is the higher level problem you are trying to 
solve, we may be able to provide an alternative (right now, the only reason I 
can think of why you would *not* want to save/restore all registers is the 
orig_rax pseudo-register, for which we do have a solution)

On 13 July 2017 at 12:06, Tatyana Krasnukha via lldb-dev 
<lldb-dev@lists.llvm.org> wrote:
> Hi,
>
> I need an ability to skip some registers when lldb restores register 
> state after a function call. Didn’t find something like gdb “save-restore”
> register property. Is there any way to avoid restoring of some 
> registers beside hardcoding its names in 
> GDBRemoteRegisterContext::WriteAllRegisterValues like it is done for 
> arm debugserver?
>
>
>
> Thanks for any suggestions,
>
> Tatyana
>
>
> _______________________________________________
> lldb-dev mailing list
> lldb-dev@lists.llvm.org
> https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.llvm.org_cgi
> -2Dbin_mailman_listinfo_lldb-2Ddev&d=DwIFaQ&c=DPL6_X_6JkXFx7AXWqB0tg&r
> =yfnu24japkhNGh-WqJObHXmH3mINtC_2FO828lrNpM0&m=xQwSXvPwlPz8CJ0HNdZzGQK
> bqJgS9_gurfUe7UBAJc4&s=wHAU8LK6EtYfrxcSHTTJDCUlZ9yxQW72oPMlQK9KJSU&e=
>
_______________________________________________
lldb-dev mailing list
lldb-dev@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev

Reply via email to