15af32e75SAxel Dörfler /* Generic asm macros used on many machines. 2*8bdd63feSPulkoMandy Copyright (C) 1991-2018 Free Software Foundation, Inc. 35af32e75SAxel Dörfler This file is part of the GNU C Library. 45af32e75SAxel Dörfler 55af32e75SAxel Dörfler The GNU C Library is free software; you can redistribute it and/or 65af32e75SAxel Dörfler modify it under the terms of the GNU Lesser General Public 75af32e75SAxel Dörfler License as published by the Free Software Foundation; either 85af32e75SAxel Dörfler version 2.1 of the License, or (at your option) any later version. 95af32e75SAxel Dörfler 105af32e75SAxel Dörfler The GNU C Library is distributed in the hope that it will be useful, 115af32e75SAxel Dörfler but WITHOUT ANY WARRANTY; without even the implied warranty of 125af32e75SAxel Dörfler MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 135af32e75SAxel Dörfler Lesser General Public License for more details. 145af32e75SAxel Dörfler 155af32e75SAxel Dörfler You should have received a copy of the GNU Lesser General Public 16*8bdd63feSPulkoMandy License along with the GNU C Library; if not, see 17*8bdd63feSPulkoMandy <http://www.gnu.org/licenses/>. */ 185af32e75SAxel Dörfler 195af32e75SAxel Dörfler #include "libc-symbols.h" 205af32e75SAxel Dörfler 215af32e75SAxel Dörfler #ifndef C_LABEL 225af32e75SAxel Dörfler 235af32e75SAxel Dörfler /* Define a macro we can use to construct the asm name for a C symbol. */ 245af32e75SAxel Dörfler #ifdef __STDC__ 255af32e75SAxel Dörfler #define C_LABEL(name) name##: 265af32e75SAxel Dörfler #else 275af32e75SAxel Dörfler #define C_LABEL(name) name/**/: 285af32e75SAxel Dörfler #endif 295af32e75SAxel Dörfler 305af32e75SAxel Dörfler #endif 315af32e75SAxel Dörfler 325af32e75SAxel Dörfler /* Mark the end of function named SYM. This is used on some platforms 335af32e75SAxel Dörfler to generate correct debugging information. */ 345af32e75SAxel Dörfler #ifndef END 355af32e75SAxel Dörfler #define END(sym) 365af32e75SAxel Dörfler #endif 37*8bdd63feSPulkoMandy 38*8bdd63feSPulkoMandy /* Makros to generate eh_frame unwind information. */ 39*8bdd63feSPulkoMandy #ifdef __ASSEMBLER__ 40*8bdd63feSPulkoMandy # define cfi_startproc .cfi_startproc 41*8bdd63feSPulkoMandy # define cfi_endproc .cfi_endproc 42*8bdd63feSPulkoMandy # define cfi_def_cfa(reg, off) .cfi_def_cfa reg, off 43*8bdd63feSPulkoMandy # define cfi_def_cfa_register(reg) .cfi_def_cfa_register reg 44*8bdd63feSPulkoMandy # define cfi_def_cfa_offset(off) .cfi_def_cfa_offset off 45*8bdd63feSPulkoMandy # define cfi_adjust_cfa_offset(off) .cfi_adjust_cfa_offset off 46*8bdd63feSPulkoMandy # define cfi_offset(reg, off) .cfi_offset reg, off 47*8bdd63feSPulkoMandy # define cfi_rel_offset(reg, off) .cfi_rel_offset reg, off 48*8bdd63feSPulkoMandy # define cfi_register(r1, r2) .cfi_register r1, r2 49*8bdd63feSPulkoMandy # define cfi_return_column(reg) .cfi_return_column reg 50*8bdd63feSPulkoMandy # define cfi_restore(reg) .cfi_restore reg 51*8bdd63feSPulkoMandy # define cfi_same_value(reg) .cfi_same_value reg 52*8bdd63feSPulkoMandy # define cfi_undefined(reg) .cfi_undefined reg 53*8bdd63feSPulkoMandy # define cfi_remember_state .cfi_remember_state 54*8bdd63feSPulkoMandy # define cfi_restore_state .cfi_restore_state 55*8bdd63feSPulkoMandy # define cfi_window_save .cfi_window_save 56*8bdd63feSPulkoMandy # define cfi_personality(enc, exp) .cfi_personality enc, exp 57*8bdd63feSPulkoMandy # define cfi_lsda(enc, exp) .cfi_lsda enc, exp 58*8bdd63feSPulkoMandy 59*8bdd63feSPulkoMandy #endif 60