mirror of
https://github.com/torvalds/linux.git
synced 2024-12-06 19:11:31 +00:00
5a205a32ff
1. detect whether binutils supports the cfi pseudo ops 2. define conditional macros to generate the ops 3. define new ENTRY_CFI/END_CFI to annotate hand asm code. - Needed because we don't want to emit dwarf info in general ENTRY/END used by lowest level trap/exception/interrutp handlers as unwinder gets confused trying to unwind out of them. We want unwinder to instead stop when it hits onfo those routines - These provide minimal start/end cfi ops assuming routine doesn't touch stack memory/regs Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
39 lines
892 B
C
39 lines
892 B
C
/*
|
|
* Copyright (C) 2016-17 Synopsys, Inc. (www.synopsys.com)
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*/
|
|
|
|
#ifndef _ASM_ARC_DWARF_H
|
|
#define _ASM_ARC_DWARF_H
|
|
|
|
#ifdef __ASSEMBLY__
|
|
|
|
#ifdef ARC_DW2_UNWIND_AS_CFI
|
|
|
|
#define CFI_STARTPROC .cfi_startproc
|
|
#define CFI_ENDPROC .cfi_endproc
|
|
#define CFI_DEF_CFA .cfi_def_cfa
|
|
#define CFI_REGISTER .cfi_register
|
|
#define CFI_REL_OFFSET .cfi_rel_offset
|
|
#define CFI_UNDEFINED .cfi_undefined
|
|
|
|
#else
|
|
|
|
#define CFI_IGNORE #
|
|
|
|
#define CFI_STARTPROC CFI_IGNORE
|
|
#define CFI_ENDPROC CFI_IGNORE
|
|
#define CFI_DEF_CFA CFI_IGNORE
|
|
#define CFI_REGISTER CFI_IGNORE
|
|
#define CFI_REL_OFFSET CFI_IGNORE
|
|
#define CFI_UNDEFINED CFI_IGNORE
|
|
|
|
#endif /* !ARC_DW2_UNWIND_AS_CFI */
|
|
|
|
#endif /* __ASSEMBLY__ */
|
|
|
|
#endif /* _ASM_ARC_DWARF_H */
|