diff options
Diffstat (limited to 'libc')
| -rw-r--r-- | libc/sysdeps/linux/mips/bits/syscalls.h | 18 | 
1 files changed, 12 insertions, 6 deletions
| diff --git a/libc/sysdeps/linux/mips/bits/syscalls.h b/libc/sysdeps/linux/mips/bits/syscalls.h index 2f50026ea..b7cacba58 100644 --- a/libc/sysdeps/linux/mips/bits/syscalls.h +++ b/libc/sysdeps/linux/mips/bits/syscalls.h @@ -132,6 +132,7 @@ return (type)-1; \  type name (atype a,btype b,ctype c,dtype d,etype e) \  { \  long __res, __err; \ +const unsigned long *constE = (unsigned long) e; \  __asm__ volatile ("move\t$4,%3\n\t" \                    "move\t$5,%4\n\t" \                    "move\t$6,%5\n\t" \ @@ -149,7 +150,7 @@ __asm__ volatile ("move\t$4,%3\n\t" \                                        "r" ((long)(b)), \                                        "r" ((long)(c)), \                                        "r" ((long)(d)), \ -                                      "m" ((long)(e)) \ +                                      "m" (constE) \                    : "$2","$4","$5","$6","$7","$8","$9","$10","$11","$12", \                      "$13","$14","$15","$24","memory"); \  if (__err == 0) \ @@ -162,6 +163,8 @@ return (type)-1; \  type name (atype a,btype b,ctype c,dtype d,etype e,ftype f) \  { \  long __res, __err; \ +const unsigned long *constE = (unsigned long) e; \ +const unsigned long *constF = (unsigned long) f; \  __asm__ volatile ("move\t$4,%3\n\t" \                    "move\t$5,%4\n\t" \                    "move\t$6,%5\n\t" \ @@ -181,8 +184,8 @@ __asm__ volatile ("move\t$4,%3\n\t" \                                        "r" ((long)(b)), \                                        "r" ((long)(c)), \                                        "r" ((long)(d)), \ -                                      "m" ((long)(e)), \ -                                      "m" ((long)(f)) \ +                                      "m" (constE), \ +                                      "m" (constF) \                    : "$2","$3","$4","$5","$6","$7","$8","$9","$10","$11", \                      "$12","$13","$14","$15","$24","memory"); \  if (__err == 0) \ @@ -195,6 +198,9 @@ return (type)-1; \  type name (atype a,btype b,ctype c,dtype d,etype e,ftype f,gtype g) \  { \  long __res, __err; \ +const unsigned long *constE = (unsigned long) e; \ +const unsigned long *constF = (unsigned long) f; \ +const unsigned long *constG = (unsigned long) g; \  __asm__ volatile ("move\t$4,%3\n\t" \                    "move\t$5,%4\n\t" \                    "move\t$6,%5\n\t" \ @@ -216,9 +222,9 @@ __asm__ volatile ("move\t$4,%3\n\t" \                                        "r" ((long)(b)), \                                        "r" ((long)(c)), \                                        "r" ((long)(d)), \ -                                      "m" ((long)(e)), \ -                                      "m" ((long)(f)), \ -                                      "m" ((long)(g)) \ +                                      "m" (constE), \ +                                      "m" (constF) \ +                                      "m" (constG) \                    : "$2","$3","$4","$5","$6","$7","$8","$9","$10","$11", \                      "$12","$13","$14","$15","$24","memory"); \  if (__err == 0) \ | 
