x86: Unwind-annotate thunk_32.S
authorJan Beulich <JBeulich@suse.com>
Wed, 24 Sep 2014 07:41:30 +0000 (08:41 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Wed, 8 Oct 2014 10:31:45 +0000 (12:31 +0200)
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Link: http://lkml.kernel.org/r/542291CA0200007800038085@mail.emea.novell.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/x86/lib/thunk_32.S

index e9acf5f..e28cdaf 100644 (file)
@@ -6,14 +6,19 @@
  */
        #include <linux/linkage.h>
        #include <asm/asm.h>
+       #include <asm/dwarf2.h>
 
        /* put return address in eax (arg1) */
        .macro THUNK name, func, put_ret_addr_in_eax=0
        .globl \name
 \name:
-       pushl %eax
-       pushl %ecx
-       pushl %edx
+       CFI_STARTPROC
+       pushl_cfi %eax
+       CFI_REL_OFFSET eax, 0
+       pushl_cfi %ecx
+       CFI_REL_OFFSET ecx, 0
+       pushl_cfi %edx
+       CFI_REL_OFFSET edx, 0
 
        .if \put_ret_addr_in_eax
        /* Place EIP in the arg1 */
        .endif
 
        call \func
-       popl %edx
-       popl %ecx
-       popl %eax
+       popl_cfi %edx
+       CFI_RESTORE edx
+       popl_cfi %ecx
+       CFI_RESTORE ecx
+       popl_cfi %eax
+       CFI_RESTORE eax
        ret
+       CFI_ENDPROC
        _ASM_NOKPROBE(\name)
        .endm