1 /* Copyright (C) 2000-2021 Free Software Foundation, Inc. 2 This file is part of the GNU C Library. 3 Contributed by David Mosberger-Tang <davidm@hpl.hp.com> 4 5 The GNU C Library is free software; you can redistribute it and/or 6 modify it under the terms of the GNU Lesser General Public 7 License as published by the Free Software Foundation; either 8 version 2.1 of the License, or (at your option) any later version. 9 10 The GNU C Library is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 Lesser General Public License for more details. 14 15 You should have received a copy of the GNU Lesser General Public 16 License along with the GNU C Library; if not, see 17 <https://www.gnu.org/licenses/>. */ 18 19 #include <sysdeps/generic/sysdep.h> 20 21 #ifdef __ASSEMBLER__ 22 23 /* Macros to help writing .prologue directives in assembly code. */ 24 #define ASM_UNW_PRLG_RP 0x8 25 #define ASM_UNW_PRLG_PFS 0x4 26 #define ASM_UNW_PRLG_PSP 0x2 27 #define ASM_UNW_PRLG_PR 0x1 28 #define ASM_UNW_PRLG_GRSAVE(ninputs) (32+(ninputs)) 29 30 #define ENTRY(name) \ 31 .text; \ 32 .align 32; \ 33 .proc C_SYMBOL_NAME(name); \ 34 .global C_SYMBOL_NAME(name); \ 35 C_LABEL(name) \ 36 CALL_MCOUNT 37 38 #define LOCAL_ENTRY(name) \ 39 .text; \ 40 .align 32; \ 41 .proc C_SYMBOL_NAME(name); \ 42 C_LABEL(name) \ 43 CALL_MCOUNT 44 45 #define LEAF(name) \ 46 .text; \ 47 .align 32; \ 48 .proc C_SYMBOL_NAME(name); \ 49 .global name; \ 50 C_LABEL(name) 51 52 #define LOCAL_LEAF(name) \ 53 .text; \ 54 .align 32; \ 55 .proc C_SYMBOL_NAME(name); \ 56 C_LABEL(name) 57 58 /* Mark the end of function SYM. */ 59 #undef END 60 #define END(sym) .endp C_SYMBOL_NAME(sym) 61 62 #endif /* ASSEMBLER */ 63