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