diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/arm/sysdep.h | 14 |
2 files changed, 19 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index dcc0e62fb3..ee55844c02 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2003-08-25 Philip Blundell <philb@gnu.org> + + * sysdeps/unix/sysv/linux/arm/sysdep.h (PSEUDO_ERRVAL): Define. + (PSEUDO_END_ERRVAL, ret_ERRVAL): Likewise. + 2003-08-18 Alfred M. Szmidt <ams@kemisten.nu> * sysdeps/generic/bits/libc-lock.h (__libc_cleanup_pop): Redefine diff --git a/sysdeps/unix/sysv/linux/arm/sysdep.h b/sysdeps/unix/sysv/linux/arm/sysdep.h index 47383aa788..fda7c5b267 100644 --- a/sysdeps/unix/sysv/linux/arm/sysdep.h +++ b/sysdeps/unix/sysv/linux/arm/sysdep.h @@ -80,6 +80,20 @@ #define PSEUDO_END_NOERRNO(name) \ END (name) +/* The function has to return the error code. */ +#undef PSEUDO_ERRVAL +#define PSEUDO_ERRVAL(name, syscall_name, args) \ + .text; \ + ENTRY (name) \ + DO_CALL (syscall_name, args); \ + rsb r0, r0, #0 + +#undef PSEUDO_END_ERRVAL +#define PSEUDO_END_ERRVAL(name) \ + END (name) + +#define ret_ERRVAL PSEUDO_RET_NOERRNO + #if NOT_IN_libc # define SYSCALL_ERROR __local_syscall_error # define SYSCALL_ERROR_HANDLER \ |