diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-08-17 00:33:13 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-08-17 00:33:13 +0000 |
commit | 724bab37c1fe6c38bdff0dca2512309a5a971ea4 (patch) | |
tree | 9b76404bd803c43d284002f02e1f1fb4ea4ba488 /sysdeps/unix | |
parent | f98259f8e3e46623d75e1cd09f99cbdf6e1e699e (diff) | |
download | glibc-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.h | 15 | ||||
-rw-r--r-- | sysdeps/unix/mips/sysdep.h | 12 |
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. */ |