These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / arch / x86 / include / asm / dwarf2.h
index de1cdaf..b7a1ab8 100644 (file)
 #endif
 
 #if defined(CONFIG_AS_CFI_SECTIONS) && defined(__ASSEMBLY__)
+#ifndef BUILD_VDSO
        /*
         * Emit CFI data in .debug_frame sections, not .eh_frame sections.
         * The latter we currently just discard since we don't do DWARF
         * unwinding at runtime.  So only the offline DWARF information is
-        * useful to anyone.  Note we should not use this directive if this
-        * file is used in the vDSO assembly, or if vmlinux.lds.S gets
-        * changed so it doesn't discard .eh_frame.
+        * useful to anyone.  Note we should not use this directive if
+        * vmlinux.lds.S gets changed so it doesn't discard .eh_frame.
         */
        .cfi_sections .debug_frame
+#else
+        /*
+         * For the vDSO, emit both runtime unwind information and debug
+         * symbols for the .dbg file.
+         */
+       .cfi_sections .eh_frame, .debug_frame
+#endif
 #endif
 
 #else
 
 #endif
 
-/*
- * An attempt to make CFI annotations more or less
- * correct and shorter. It is implied that you know
- * what you're doing if you use them.
- */
-#ifdef __ASSEMBLY__
-#ifdef CONFIG_X86_64
-       .macro pushq_cfi reg
-       pushq \reg
-       CFI_ADJUST_CFA_OFFSET 8
-       .endm
-
-       .macro pushq_cfi_reg reg
-       pushq %\reg
-       CFI_ADJUST_CFA_OFFSET 8
-       CFI_REL_OFFSET \reg, 0
-       .endm
-
-       .macro popq_cfi reg
-       popq \reg
-       CFI_ADJUST_CFA_OFFSET -8
-       .endm
-
-       .macro popq_cfi_reg reg
-       popq %\reg
-       CFI_ADJUST_CFA_OFFSET -8
-       CFI_RESTORE \reg
-       .endm
-
-       .macro pushfq_cfi
-       pushfq
-       CFI_ADJUST_CFA_OFFSET 8
-       .endm
-
-       .macro popfq_cfi
-       popfq
-       CFI_ADJUST_CFA_OFFSET -8
-       .endm
-
-       .macro movq_cfi reg offset=0
-       movq %\reg, \offset(%rsp)
-       CFI_REL_OFFSET \reg, \offset
-       .endm
-
-       .macro movq_cfi_restore offset reg
-       movq \offset(%rsp), %\reg
-       CFI_RESTORE \reg
-       .endm
-#else /*!CONFIG_X86_64*/
-       .macro pushl_cfi reg
-       pushl \reg
-       CFI_ADJUST_CFA_OFFSET 4
-       .endm
-
-       .macro pushl_cfi_reg reg
-       pushl %\reg
-       CFI_ADJUST_CFA_OFFSET 4
-       CFI_REL_OFFSET \reg, 0
-       .endm
-
-       .macro popl_cfi reg
-       popl \reg
-       CFI_ADJUST_CFA_OFFSET -4
-       .endm
-
-       .macro popl_cfi_reg reg
-       popl %\reg
-       CFI_ADJUST_CFA_OFFSET -4
-       CFI_RESTORE \reg
-       .endm
-
-       .macro pushfl_cfi
-       pushfl
-       CFI_ADJUST_CFA_OFFSET 4
-       .endm
-
-       .macro popfl_cfi
-       popfl
-       CFI_ADJUST_CFA_OFFSET -4
-       .endm
-
-       .macro movl_cfi reg offset=0
-       movl %\reg, \offset(%esp)
-       CFI_REL_OFFSET \reg, \offset
-       .endm
-
-       .macro movl_cfi_restore offset reg
-       movl \offset(%esp), %\reg
-       CFI_RESTORE \reg
-       .endm
-#endif /*!CONFIG_X86_64*/
-#endif /*__ASSEMBLY__*/
-
 #endif /* _ASM_X86_DWARF2_H */