summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/microblaze
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@uclibc-ng.org>2016-11-26 10:12:58 +0100
committerWaldemar Brodkorb <wbx@uclibc-ng.org>2016-11-27 16:35:31 +0100
commit8ccf7c3e8c725e9fc29ad0f5accebb127c9ea246 (patch)
tree6cb6628191bc1de1415e85ae21b17e3ca9ffcc04 /libc/sysdeps/linux/microblaze
parentcee0b058fa0b4501b289a2da365182d60314d746 (diff)
microblaze: sync sysdep-cancel.h/sydep.h with GNU libc
Diffstat (limited to 'libc/sysdeps/linux/microblaze')
-rw-r--r--libc/sysdeps/linux/microblaze/sysdep.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/libc/sysdeps/linux/microblaze/sysdep.h b/libc/sysdeps/linux/microblaze/sysdep.h
index a463d339e..d4b4e90f2 100644
--- a/libc/sysdeps/linux/microblaze/sysdep.h
+++ b/libc/sysdeps/linux/microblaze/sysdep.h
@@ -65,6 +65,35 @@
SYSCALL_ERROR_HANDLER; \
END (name)
+# undef PSEUDO_NOERRNO
+# define PSEUDO_NOERRNO(name, syscall_name, args) \
+ .text; \
+ ENTRY (name) \
+ DO_CALL (syscall_name, args);
+
+# undef PSEUDO_END_NOERRNO
+# 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); \
+
+# undef PSEUDO_END_ERRVAL
+# define PSEUDO_END_ERRVAL(name) \
+ END (name)
+
+# undef ret_NOERRNO
+# define ret_NOERRNO \
+ rtsd r15,8; addk r0,r0,r0;
+
+# undef ret_ERRVAL
+# define ret_ERRVAL \
+ rtsd r15,8; rsubk r3,r3,r0;
+
#ifdef __PIC__
# define SYSCALL_ERROR_LABEL_DCL 0
# if defined _LIBC_REENTRANT