aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--toolchain/uClibc/patches-0.9.33/161-mips-add-INLINE_SYSCALL_NOERR-macro.patch15
1 files changed, 15 insertions, 0 deletions
diff --git a/toolchain/uClibc/patches-0.9.33/161-mips-add-INLINE_SYSCALL_NOERR-macro.patch b/toolchain/uClibc/patches-0.9.33/161-mips-add-INLINE_SYSCALL_NOERR-macro.patch
new file mode 100644
index 0000000000..0cf3678734
--- /dev/null
+++ b/toolchain/uClibc/patches-0.9.33/161-mips-add-INLINE_SYSCALL_NOERR-macro.patch
@@ -0,0 +1,15 @@
+--- a/libc/sysdeps/linux/mips/bits/syscalls.h
++++ b/libc/sysdeps/linux/mips/bits/syscalls.h
+@@ -29,6 +29,12 @@
+ } \
+ result_var; })
+
++#define INLINE_SYSCALL_NOERR(name, nr, args...) \
++ ({ INTERNAL_SYSCALL_DECL(err); \
++ long result_var = INTERNAL_SYSCALL(name, err, nr, args); \
++ if (err) do { } while (0); \
++ result_var; })
++
+ #define INTERNAL_SYSCALL_DECL(err) long err
+
+ #define INTERNAL_SYSCALL_ERROR_P(val, err) ((long) (err))