aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-08-17 00:33:13 +0000
committerUlrich Drepper <drepper@redhat.com>2003-08-17 00:33:13 +0000
commit724bab37c1fe6c38bdff0dca2512309a5a971ea4 (patch)
tree9b76404bd803c43d284002f02e1f1fb4ea4ba488 /sysdeps/unix
parentf98259f8e3e46623d75e1cd09f99cbdf6e1e699e (diff)
downloadglibc-724bab37c1fe6c38bdff0dca2512309a5a971ea4.tar
glibc-724bab37c1fe6c38bdff0dca2512309a5a971ea4.tar.gz
glibc-724bab37c1fe6c38bdff0dca2512309a5a971ea4.tar.bz2
glibc-724bab37c1fe6c38bdff0dca2512309a5a971ea4.zip
(PSEUDO_ERRVAL, PSEUDO_RET_ERRVAL, ret_ERRVAL, PSEUDO_END_ERRVAL): Define.
Diffstat (limited to 'sysdeps/unix')
-rw-r--r--sysdeps/unix/alpha/sysdep.h15
-rw-r--r--sysdeps/unix/mips/sysdep.h12
2 files changed, 27 insertions, 0 deletions
diff --git a/sysdeps/unix/alpha/sysdep.h b/sysdeps/unix/alpha/sysdep.h
index b9bc1c0a2a..f12edef7a7 100644
--- a/sysdeps/unix/alpha/sysdep.h
+++ b/sysdeps/unix/alpha/sysdep.h
@@ -134,6 +134,21 @@ __LABEL(name) \
#define ret_NOERRNO ret
+#define PSEUDO_ERRVAL(name, syscall_name, args) \
+ .globl name; \
+ .align 4; \
+ .ent name,0; \
+__LABEL(name) \
+ PSEUDO_PROLOGUE; \
+ PSEUDO_PREPARE_ARGS \
+ lda v0, SYS_ify(syscall_name); \
+ call_pal PAL_callsys;
+
+#undef PSEUDO_END_ERRVAL
+#define PSEUDO_END_ERRVAL(sym) END(sym)
+
+#define ret_ERRVAL ret
+
#define r0 v0
#define r1 a4
diff --git a/sysdeps/unix/mips/sysdep.h b/sysdeps/unix/mips/sysdep.h
index 13a3752dc8..dd2795edc4 100644
--- a/sysdeps/unix/mips/sysdep.h
+++ b/sysdeps/unix/mips/sysdep.h
@@ -51,6 +51,18 @@
#define ret_NOERRNO ret
+#define PSEUDO_ERRVAL(name, syscall_name, args) \
+ .align 2; \
+ ENTRY(name) \
+ .set noreorder; \
+ li v0, SYS_ify(syscall_name); \
+ syscall
+
+#undef PSEUDO_END_ERRVAL
+#define PSEUDO_END_ERRVAL(sym) .end sym; .size sym,.-sym
+
+#define ret_ERRVAL ret
+
#define r0 v0
#define r1 v1
/* The mips move insn is d,s. */