Skip to content

Commit 89bbde8

Browse files
committed
Add ffi_cfi.h
Have one copy of the HAVE_AS_CFI_PSEUDO_OP code to share between all backends.
1 parent e951d64 commit 89bbde8

1 file changed

Lines changed: 55 additions & 0 deletions

File tree

include/ffi_cfi.h

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
/* -----------------------------------------------------------------------
2+
ffi_cfi.h - Copyright (c) 2014 Red Hat, Inc.
3+
4+
Conditionally assemble cfi directives. Only necessary for building libffi.
5+
----------------------------------------------------------------------- */
6+
7+
#ifndef FFI_CFI_H
8+
#define FFI_CFI_H
9+
10+
#ifdef HAVE_AS_CFI_PSEUDO_OP
11+
12+
# define cfi_startproc .cfi_startproc
13+
# define cfi_endproc .cfi_endproc
14+
# define cfi_def_cfa(reg, off) .cfi_def_cfa reg, off
15+
# define cfi_def_cfa_register(reg) .cfi_def_cfa_register reg
16+
# define cfi_def_cfa_offset(off) .cfi_def_cfa_offset off
17+
# define cfi_adjust_cfa_offset(off) .cfi_adjust_cfa_offset off
18+
# define cfi_offset(reg, off) .cfi_offset reg, off
19+
# define cfi_rel_offset(reg, off) .cfi_rel_offset reg, off
20+
# define cfi_register(r1, r2) .cfi_register r1, r2
21+
# define cfi_return_column(reg) .cfi_return_column reg
22+
# define cfi_restore(reg) .cfi_restore reg
23+
# define cfi_same_value(reg) .cfi_same_value reg
24+
# define cfi_undefined(reg) .cfi_undefined reg
25+
# define cfi_remember_state .cfi_remember_state
26+
# define cfi_restore_state .cfi_restore_state
27+
# define cfi_window_save .cfi_window_save
28+
# define cfi_personality(enc, exp) .cfi_personality enc, exp
29+
# define cfi_lsda(enc, exp) .cfi_lsda enc, exp
30+
# define cfi_escape(...) .cfi_escape __VA_ARGS__
31+
32+
#else
33+
34+
# define cfi_startproc
35+
# define cfi_endproc
36+
# define cfi_def_cfa(reg, off)
37+
# define cfi_def_cfa_register(reg)
38+
# define cfi_def_cfa_offset(off)
39+
# define cfi_adjust_cfa_offset(off)
40+
# define cfi_offset(reg, off)
41+
# define cfi_rel_offset(reg, off)
42+
# define cfi_register(r1, r2)
43+
# define cfi_return_column(reg)
44+
# define cfi_restore(reg)
45+
# define cfi_same_value(reg)
46+
# define cfi_undefined(reg)
47+
# define cfi_remember_state
48+
# define cfi_restore_state
49+
# define cfi_window_save
50+
# define cfi_personality(enc, exp)
51+
# define cfi_lsda(enc, exp)
52+
# define cfi_escape(...)
53+
54+
#endif /* HAVE_AS_CFI_PSEUDO_OP */
55+
#endif /* FFI_CFI_H */

0 commit comments

Comments
 (0)