]>
git.ipfire.org Git - thirdparty/glibc.git/blob - sysdeps/unix/alpha/sysdep.h
1 /* Copyright (C) 1992, 1995, 1996 Free Software Foundation, Inc.
2 Contributed by Brendan Kehoe (brendan@zen.org).
4 The GNU C Library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Library General Public License as
6 published by the Free Software Foundation; either version 2 of the
7 License, or (at your option) any later version.
9 The GNU C Library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Library General Public License for more details.
14 You should have received a copy of the GNU Library General Public
15 License along with the GNU C Library; see the file COPYING.LIB. If
16 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
17 Cambridge, MA 02139, USA. */
19 #include <sysdeps/unix/sysdep.h>
24 # include <alpha/regdef.h>
30 #define LEAF(name, framesize) \
35 .frame sp, framesize, ra
37 #define LEAF(name, framesize) \
42 .frame sp, framesize, ra
61 /* Mark the end of function SYM. */
63 #define END(sym) .end sym
65 /* Note that PSEUDO/PSEUDO_END use label number 1996---do not use a
66 label of that number between those two macros! */
69 #define PSEUDO(name, syscall_name, args) \
76 .prologue 1; /* yes, we do use gp */ \
77 ldiq v0, SYS_ify(syscall_name); \
79 call_pal PAL_callsys; \
84 #define PSEUDO(name, syscall_name, args) \
91 .prologue 1; /* yes, we do use gp */ \
92 ldiq v0, SYS_ify(syscall_name); \
94 call_pal PAL_callsys; \
103 /* When building a shared library, we can use a branch since the text
104 section of the library is much smaller than 4MB. If we ever break
105 this assumption, the linker will tell us. */
106 # define PSEUDO_END(sym) \
108 br zero, __syscall_error; \
111 # define PSEUDO_END(sym) \
115 jmp zero, __syscall_error; \
122 #define MOVE(x,y) mov x,y