summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/m68k
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/m68k')
-rw-r--r--sysdeps/unix/sysv/linux/m68k/syscall.S5
-rw-r--r--sysdeps/unix/sysv/linux/m68k/sysdep.h5
2 files changed, 4 insertions, 6 deletions
diff --git a/sysdeps/unix/sysv/linux/m68k/syscall.S b/sysdeps/unix/sysv/linux/m68k/syscall.S
index d2328dc545..f392b751fc 100644
--- a/sysdeps/unix/sysv/linux/m68k/syscall.S
+++ b/sysdeps/unix/sysv/linux/m68k/syscall.S
@@ -19,7 +19,7 @@
#include <sysdep.h>
/* Please consult the file sysdeps/unix/sysv/linux/m68k/sysdep.h for
- more information about the value -4096 used below.*/
+ more information about the value -4095 used below.*/
.text
ENTRY (syscall)
@@ -27,8 +27,7 @@ ENTRY (syscall)
_DOARGS_5 (24) /* Frob arguments. */
trap &0 /* Do the system call. */
UNDOARGS_5 /* Unfrob arguments. */
- moveq.l &-4096, %d1
- cmp.l %d1, %d0 /* Check %d0 for error. */
+ cmp.l &-4095, %d0 /* Check %d0 for error. */
jcc syscall_error /* Jump to error handler if negative. */
rts /* Return to caller. */
PSEUDO_END (syscall)
diff --git a/sysdeps/unix/sysv/linux/m68k/sysdep.h b/sysdeps/unix/sysv/linux/m68k/sysdep.h
index 46d5a7e48f..557f10cb9c 100644
--- a/sysdeps/unix/sysv/linux/m68k/sysdep.h
+++ b/sysdeps/unix/sysv/linux/m68k/sysdep.h
@@ -75,13 +75,12 @@ Cambridge, MA 02139, USA. */
a large offset. Therefore we must not anymore test for < 0, but test
for a real error by making sure the value in %d0 is a real error
number. Linus said he will make sure the no syscall returns a value
- in -1 .. -4095 as a valid result so we can savely test with -4096. */
+ in -1 .. -4095 as a valid result so we can savely test with -4095. */
#define PSEUDO(name, syscall_name, args) \
.text; \
ENTRY (name) \
DO_CALL (&SYS_ify (syscall_name), args); \
- moveq.l &-4096, %d1; \
- cmp.l %d1, %d0; \
+ cmp.l &-4095, %d0; \
jcc syscall_error
#undef PSEUDO_END