xref: /linux/arch/s390/include/asm/dwarf.h (revision e7d759f31ca295d589f7420719c311870bb3166f)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _ASM_S390_DWARF_H
3 #define _ASM_S390_DWARF_H
4 
5 #ifdef __ASSEMBLY__
6 
7 #define CFI_STARTPROC		.cfi_startproc
8 #define CFI_ENDPROC		.cfi_endproc
9 #define CFI_DEF_CFA_OFFSET	.cfi_def_cfa_offset
10 #define CFI_ADJUST_CFA_OFFSET	.cfi_adjust_cfa_offset
11 #define CFI_RESTORE		.cfi_restore
12 
13 #ifdef CONFIG_AS_CFI_VAL_OFFSET
14 #define CFI_VAL_OFFSET		.cfi_val_offset
15 #else
16 #define CFI_VAL_OFFSET		#
17 #endif
18 
19 #ifndef BUILD_VDSO
20 	/*
21 	 * Emit CFI data in .debug_frame sections and not in .eh_frame
22 	 * sections.  The .eh_frame CFI is used for runtime unwind
23 	 * information that is not being used.  Hence, vmlinux.lds.S
24 	 * can discard the .eh_frame sections.
25 	 */
26 	.cfi_sections .debug_frame
27 #else
28 	/*
29 	 * For vDSO, emit CFI data in both, .eh_frame and .debug_frame
30 	 * sections.
31 	 */
32 	.cfi_sections .eh_frame, .debug_frame
33 #endif
34 
35 #endif	/* __ASSEMBLY__ */
36 
37 #endif	/* _ASM_S390_DWARF_H */
38