| /* ----------------------------------------------------------------------- |
| ffi_cfi.h - Copyright (c) 2014 Red Hat, Inc. |
| |
| Conditionally assemble cfi directives. Only necessary for building libffi. |
| |
| 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. |
| |
| ----------------------------------------------------------------------- */ |
| |
| #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 */ |