xref: /haiku/src/system/libroot/posix/glibc/include/sysdep.h (revision 8bdd63fe5d3a5048b2a81eb8f545b1c47528e320)
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