On 08/29/2016 09:00 PM, Nadav Har'El wrote:
On Mon, Aug 29, 2016 at 8:12 PM, Avi Kivity <[email protected] <mailto:[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] <mailto:[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?
You are right, I misread the docs.
+ .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.
It doesn't hurt, and if you have a crash/profile hit there, it helps. -- 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.
