Module: xenomai-forge
Branch: master
Commit: dc0e97b56a42a79f009a1a8b4a18e4402f5d962f
URL:    
http://git.xenomai.org/?p=xenomai-forge.git;a=commit;h=dc0e97b56a42a79f009a1a8b4a18e4402f5d962f

Author: Philippe Gerum <r...@xenomai.org>
Date:   Thu Dec  1 22:40:49 2011 +0100

nucleus/shadow: force common calling convention for syscalls

---

 include/asm-generic/syscall.h |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/include/asm-generic/syscall.h b/include/asm-generic/syscall.h
index 1924bb5..97894ae 100644
--- a/include/asm-generic/syscall.h
+++ b/include/asm-generic/syscall.h
@@ -88,7 +88,12 @@ struct pt_regs;
 
 struct xnsysent {
 
-       int (*svc)(u_long arg, ...);
+       /*
+        * CAUTION: no varargs, we want the calling convention for
+        * regular functions to apply.
+        */
+       int (*svc)(u_long arg1, u_long arg2, u_long arg3,
+                  u_long arg4, u_long arg5);
 
 /* Syscall must run into the Linux domain. */
 #define __xn_exec_lostage    0x1
@@ -126,7 +131,7 @@ struct xnsysent {
        unsigned long flags;
 };
 
-#define __syscast__(fn)        ((int (*)(u_long, ...))(fn))
+#define __syscast__(fn)        ((int (*)(u_long, u_long, u_long, u_long, 
u_long))(fn))
 
 #define SKINCALL_DEF(nr, fn, fl)       \
        [nr] = { .svc = __syscast__(fn), .flags = __xn_exec_##fl }


_______________________________________________
Xenomai-git mailing list
Xenomai-git@gna.org
https://mail.gna.org/listinfo/xenomai-git

Reply via email to