• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 */
56