android_kernel_xiaomi_sm8350/include/asm-x86/dwarf2.h
Roland Dreier 4d3702b62e x86: Rename "ignore" macro in <asm/dwarf2.h> to avoid collision
Commit 70f1bba4 ("x86: use ignore macro instead of hash comment") breaks
the 64-bit x86 build on toolchains that have CONFIG_AS_CFI undefined with:

    arch/x86/lib/csum-copy_64.S:48: Error: Macro `ignore' was already defined

because <asm/dwarf2.h> now uses the ignore macro name itself.  Fix this
by changing to __cfi_ignore in dwarf2.h.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-07-14 20:40:39 -07:00

62 lines
1.7 KiB
C

#ifndef _DWARF2_H
#define _DWARF2_H
#ifndef __ASSEMBLY__
#warning "asm/dwarf2.h should be only included in pure assembly files"
#endif
/*
Macros for dwarf2 CFI unwind table entries.
See "as.info" for details on these pseudo ops. Unfortunately
they are only supported in very new binutils, so define them
away for older version.
*/
#ifdef CONFIG_AS_CFI
#define CFI_STARTPROC .cfi_startproc
#define CFI_ENDPROC .cfi_endproc
#define CFI_DEF_CFA .cfi_def_cfa
#define CFI_DEF_CFA_REGISTER .cfi_def_cfa_register
#define CFI_DEF_CFA_OFFSET .cfi_def_cfa_offset
#define CFI_ADJUST_CFA_OFFSET .cfi_adjust_cfa_offset
#define CFI_OFFSET .cfi_offset
#define CFI_REL_OFFSET .cfi_rel_offset
#define CFI_REGISTER .cfi_register
#define CFI_RESTORE .cfi_restore
#define CFI_REMEMBER_STATE .cfi_remember_state
#define CFI_RESTORE_STATE .cfi_restore_state
#define CFI_UNDEFINED .cfi_undefined
#ifdef CONFIG_AS_CFI_SIGNAL_FRAME
#define CFI_SIGNAL_FRAME .cfi_signal_frame
#else
#define CFI_SIGNAL_FRAME
#endif
#else
/* Due to the structure of pre-exisiting code, don't use assembler line
comment character # to ignore the arguments. Instead, use a dummy macro. */
.macro __cfi_ignore a=0, b=0, c=0, d=0
.endm
#define CFI_STARTPROC __cfi_ignore
#define CFI_ENDPROC __cfi_ignore
#define CFI_DEF_CFA __cfi_ignore
#define CFI_DEF_CFA_REGISTER __cfi_ignore
#define CFI_DEF_CFA_OFFSET __cfi_ignore
#define CFI_ADJUST_CFA_OFFSET __cfi_ignore
#define CFI_OFFSET __cfi_ignore
#define CFI_REL_OFFSET __cfi_ignore
#define CFI_REGISTER __cfi_ignore
#define CFI_RESTORE __cfi_ignore
#define CFI_REMEMBER_STATE __cfi_ignore
#define CFI_RESTORE_STATE __cfi_ignore
#define CFI_UNDEFINED __cfi_ignore
#define CFI_SIGNAL_FRAME __cfi_ignore
#endif
#endif