diff options
Diffstat (limited to 'sysdeps/unix/sysv/linux/m68k/sysdep.h')
-rw-r--r-- | sysdeps/unix/sysv/linux/m68k/sysdep.h | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/sysdeps/unix/sysv/linux/m68k/sysdep.h b/sysdeps/unix/sysv/linux/m68k/sysdep.h index aabd46fe0d..3c6266bae4 100644 --- a/sysdeps/unix/sysv/linux/m68k/sysdep.h +++ b/sysdeps/unix/sysv/linux/m68k/sysdep.h @@ -78,7 +78,21 @@ #define PSEUDO_END_NOERRNO(name) \ END (name) -#define ret_NOERRNO ret +#define ret_NOERRNO rts + +/* 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); \ + negl %d0 + +#undef PSEUDO_END_ERRVAL +#define PSEUDO_END_ERRVAL(name) \ + END (name) + +#define ret_ERRVAL rts #ifdef PIC # if RTLD_PRIVATE_ERRNO |