Re: [Qemu-devel] [PATCH] linux-user: provide frame information in x86-64 safe_syscall

2016-05-27 Thread Richard Henderson
On 05/27/2016 09:34 AM, Peter Maydell wrote: On 27 May 2016 at 17:21, Richard Henderson wrote: On 05/27/2016 08:06 AM, Peter Maydell wrote: @@ -31,6 +32,8 @@ safe_syscall_base: * does not list any ABI differences regarding stack alignment.) */ push%rbp +

Re: [Qemu-devel] [PATCH] linux-user: provide frame information in x86-64 safe_syscall

2016-05-27 Thread Peter Maydell
On 27 May 2016 at 16:06, Peter Maydell wrote: > return_ERESTARTSYS: > /* code path when we didn't execute the syscall */ > +.cfi_restore_state > mov $-TARGET_ERESTARTSYS, %rax > pop %rbp > +.cfi_def_cfa_offset 8 > +.cfi_restore ebp These

Re: [Qemu-devel] [PATCH] linux-user: provide frame information in x86-64 safe_syscall

2016-05-27 Thread Peter Maydell
On 27 May 2016 at 17:21, Richard Henderson wrote: > On 05/27/2016 08:06 AM, Peter Maydell wrote: >> >> @@ -31,6 +32,8 @@ safe_syscall_base: >> * does not list any ABI differences regarding stack alignment.) >> */ >> push%rbp >> +.cfi_def_cfa_offset 16 >> +

Re: [Qemu-devel] [PATCH] linux-user: provide frame information in x86-64 safe_syscall

2016-05-27 Thread Richard Henderson
On 05/27/2016 08:06 AM, Peter Maydell wrote: @@ -31,6 +32,8 @@ safe_syscall_base: * does not list any ABI differences regarding stack alignment.) */ push%rbp +.cfi_def_cfa_offset 16 +.cfi_offset rbp,-16 While this is correct, there are two other

[Qemu-devel] [PATCH] linux-user: provide frame information in x86-64 safe_syscall

2016-05-27 Thread Peter Maydell
Use cfi directives in the x86-64 safe_syscall to allow gdb to get backtraces right from within it. (In particular this will be quite a common situation if the user interrupts QEMU while it's in a blocked safe-syscall: at the point of the syscall insn RBP is in use for something else, and so gdb can