From: Jan Kiszka <jan.kis...@siemens.com>

The y2038 test will pass the syscall number as variable. This is in
conflict with immediate constraint the current wrapper uses so far.
Relax it, the compiler will still use immediate where possible.

Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>
---

Adding this before your series in next.

 lib/cobalt/arch/x86/include/asm/xenomai/syscall.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/cobalt/arch/x86/include/asm/xenomai/syscall.h 
b/lib/cobalt/arch/x86/include/asm/xenomai/syscall.h
index 21aace16f9..2e02b9983b 100644
--- a/lib/cobalt/arch/x86/include/asm/xenomai/syscall.h
+++ b/lib/cobalt/arch/x86/include/asm/xenomai/syscall.h
@@ -84,7 +84,7 @@ asm (".L__X'%ebx = 1\n\t"
                DOSYSCALL                                       \
                RESTOREARGS_##nr                                \
                : "=a" (__resultvar)                            \
-               : "i" (__xn_syscode(op)) ASMFMT_##nr(args)      \
+               : "g" (__xn_syscode(op)) ASMFMT_##nr(args)      \
                : "memory", "cc");                              \
        (int) __resultvar;                                      \
 })
@@ -98,7 +98,7 @@ asm (".L__X'%ebx = 1\n\t"
                DOSYSCALLSAFE                                   \
                RESTOREARGS_##nr                                \
                : "=a" (__resultvar)                            \
-               : "i" (__xn_syscode(op)) ASMFMT_##nr(args)      \
+               : "g" (__xn_syscode(op)) ASMFMT_##nr(args)      \
                : "memory", "cc");                              \
        (int) __resultvar;                                      \
 })
-- 
2.31.1

Reply via email to