about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/m68k/sysdep.h
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@suse.de>2003-11-30 16:44:48 +0000
committerAndreas Schwab <schwab@suse.de>2003-11-30 16:44:48 +0000
commitb92c66ced1cd9e00bf6e54b116d539a2d97abd95 (patch)
treec97cbd735b8cb0a605ef03efc528e0d32f717b8d /sysdeps/unix/sysv/linux/m68k/sysdep.h
parent8f69e643cdd986e2398d6b8b687c40eda4467d5f (diff)
downloadglibc-b92c66ced1cd9e00bf6e54b116d539a2d97abd95.tar.gz
glibc-b92c66ced1cd9e00bf6e54b116d539a2d97abd95.tar.xz
glibc-b92c66ced1cd9e00bf6e54b116d539a2d97abd95.zip
(PSEUDO_ERRVAL) (PSEUDO_END_ERRVAL, ret_ERRVAL): Define.
Diffstat (limited to 'sysdeps/unix/sysv/linux/m68k/sysdep.h')
-rw-r--r--sysdeps/unix/sysv/linux/m68k/sysdep.h16
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