2015-01-13 00:19:59 +08:00
|
|
|
/* -----------------------------------------------------------------------
|
|
|
|
ffi_cfi.h - Copyright (c) 2014 Red Hat, Inc.
|
|
|
|
|
|
|
|
Conditionally assemble cfi directives. Only necessary for building libffi.
|
2021-08-31 22:14:47 +08:00
|
|
|
|
|
|
|
Permission is hereby granted, free of charge, to any person
|
|
|
|
obtaining a copy of this software and associated documentation
|
|
|
|
files (the ``Software''), to deal in the Software without
|
|
|
|
restriction, including without limitation the rights to use, copy,
|
|
|
|
modify, merge, publish, distribute, sublicense, and/or sell copies
|
|
|
|
of the Software, and to permit persons to whom the Software is
|
|
|
|
furnished to do so, subject to the following conditions:
|
|
|
|
|
|
|
|
The above copyright notice and this permission notice shall be
|
|
|
|
included in all copies or substantial portions of the Software.
|
|
|
|
|
|
|
|
THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
|
|
|
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
|
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
|
|
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
|
|
|
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
|
|
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
|
|
|
DEALINGS IN THE SOFTWARE.
|
|
|
|
|
2015-01-13 00:19:59 +08:00
|
|
|
----------------------------------------------------------------------- */
|
|
|
|
|
|
|
|
#ifndef FFI_CFI_H
|
|
|
|
#define FFI_CFI_H
|
|
|
|
|
|
|
|
#ifdef HAVE_AS_CFI_PSEUDO_OP
|
|
|
|
|
|
|
|
# define cfi_startproc .cfi_startproc
|
|
|
|
# define cfi_endproc .cfi_endproc
|
|
|
|
# define cfi_def_cfa(reg, off) .cfi_def_cfa reg, off
|
|
|
|
# define cfi_def_cfa_register(reg) .cfi_def_cfa_register reg
|
|
|
|
# define cfi_def_cfa_offset(off) .cfi_def_cfa_offset off
|
|
|
|
# define cfi_adjust_cfa_offset(off) .cfi_adjust_cfa_offset off
|
|
|
|
# define cfi_offset(reg, off) .cfi_offset reg, off
|
|
|
|
# define cfi_rel_offset(reg, off) .cfi_rel_offset reg, off
|
|
|
|
# define cfi_register(r1, r2) .cfi_register r1, r2
|
|
|
|
# define cfi_return_column(reg) .cfi_return_column reg
|
|
|
|
# define cfi_restore(reg) .cfi_restore reg
|
|
|
|
# define cfi_same_value(reg) .cfi_same_value reg
|
|
|
|
# define cfi_undefined(reg) .cfi_undefined reg
|
|
|
|
# define cfi_remember_state .cfi_remember_state
|
|
|
|
# define cfi_restore_state .cfi_restore_state
|
|
|
|
# define cfi_window_save .cfi_window_save
|
|
|
|
# define cfi_personality(enc, exp) .cfi_personality enc, exp
|
|
|
|
# define cfi_lsda(enc, exp) .cfi_lsda enc, exp
|
|
|
|
# define cfi_escape(...) .cfi_escape __VA_ARGS__
|
|
|
|
|
|
|
|
#else
|
|
|
|
|
|
|
|
# define cfi_startproc
|
|
|
|
# define cfi_endproc
|
|
|
|
# define cfi_def_cfa(reg, off)
|
|
|
|
# define cfi_def_cfa_register(reg)
|
|
|
|
# define cfi_def_cfa_offset(off)
|
|
|
|
# define cfi_adjust_cfa_offset(off)
|
|
|
|
# define cfi_offset(reg, off)
|
|
|
|
# define cfi_rel_offset(reg, off)
|
|
|
|
# define cfi_register(r1, r2)
|
|
|
|
# define cfi_return_column(reg)
|
|
|
|
# define cfi_restore(reg)
|
|
|
|
# define cfi_same_value(reg)
|
|
|
|
# define cfi_undefined(reg)
|
|
|
|
# define cfi_remember_state
|
|
|
|
# define cfi_restore_state
|
|
|
|
# define cfi_window_save
|
|
|
|
# define cfi_personality(enc, exp)
|
|
|
|
# define cfi_lsda(enc, exp)
|
|
|
|
# define cfi_escape(...)
|
|
|
|
|
|
|
|
#endif /* HAVE_AS_CFI_PSEUDO_OP */
|
|
|
|
#endif /* FFI_CFI_H */
|