diff options
Diffstat (limited to 'sysdeps/ia64/sysdep.h')
-rw-r--r-- | sysdeps/ia64/sysdep.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/sysdeps/ia64/sysdep.h b/sysdeps/ia64/sysdep.h index aab440dd87..489cd07abc 100644 --- a/sysdeps/ia64/sysdep.h +++ b/sysdeps/ia64/sysdep.h @@ -21,6 +21,28 @@ #ifdef __ASSEMBLER__ +/* Macros to help writing .prologue directives in assembly code. */ +#define ASM_UNW_PRLG_RP 0x8 +#define ASM_UNW_PRLG_PFS 0x4 +#define ASM_UNW_PRLG_PSP 0x2 +#define ASM_UNW_PRLG_PR 0x1 +#define ASM_UNW_PRLG_GRSAVE(ninputs) (32+(ninputs)) + +#define ENTRY(name) \ + .text; \ + .align 32; \ + .proc C_SYMBOL_NAME(name); \ + .global C_SYMBOL_NAME(name); \ + C_LABEL(name) \ + CALL_MCOUNT + +#define LOCAL_ENTRY(name) \ + .text; \ + .align 32; \ + .proc C_SYMBOL_NAME(name); \ + C_LABEL(name) \ + CALL_MCOUNT + #define LEAF(name) \ .text; \ .align 32; \ @@ -28,6 +50,12 @@ .global name; \ C_LABEL(name) +#define LOCAL_LEAF(name) \ + .text; \ + .align 32; \ + .proc C_SYMBOL_NAME(name); \ + C_LABEL(name) + /* Mark the end of function SYM. */ #undef END #define END(sym) .endp C_SYMBOL_NAME(sym) |