On Mon, Aug 29, 2016 at 8:12 PM, Avi Kivity <[email protected]> wrote:

>
>
> On 08/29/2016 08:10 PM, Benoît Canet wrote:
>
>
>
> On Mon, Aug 29, 2016 at 7:08 PM, Avi Kivity <[email protected]> wrote:
>
>> diff --git a/arch/x64/entry.S b/arch/x64/entry.S
>>
>>> index e265a30..e3be0bc 100644
>>> --- a/arch/x64/entry.S
>>> +++ b/arch/x64/entry.S
>>> @@ -164,66 +164,43 @@ call_signal_handler_thunk:
>>>   syscall_entry:
>>>       .type syscall_entry, @function
>>>       .cfi_startproc simple
>>>
>>
>> Probably, we need to remove simple here, likely it sets up incorrect
>> references.
>>
>
I thought the point of "simple" that it doesn't set up things?

>
>> +    .cfi_undefined rcx # was overwritten with rip by the syscall
>>> instruction
>>>
>>
>> Not .cfi_register1 %rip, %rcx?  So if we trap here, we know who the
>> caller is.
>
>
> From what I understand Nadav does it by hand later when pushing.
>
>
> He does, but when you debug between this point and the push, you will have
> a broken stack trace.
>

I thought this was overdoing things (nobody wants to debug the middle of a
crazy assembly language function!), but I guess I can do that too.

-- 
You received this message because you are subscribed to the Google Groups "OSv 
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to