diff options
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h | 10 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h | 36 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sparc/sysdep.h | 52 |
3 files changed, 51 insertions, 47 deletions
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h b/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h index 524a32b9b4..0559210755 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h @@ -41,11 +41,11 @@ ({ \ long ret, err; \ LOADARGS_##nr(name, args); \ - __asm__ ("sc\n\t" \ - "mfcr %1\n\t" \ - : "=r" (r3), "=r" (err) \ - : ASM_INPUT_##nr \ - : "cc", "memory"); \ + __asm __volatile ("sc\n\t" \ + "mfcr %1\n\t" \ + : "=r" (r3), "=r" (err) \ + : ASM_INPUT_##nr \ + : "cc", "memory"); \ ret = r3; \ if (err & 1 << 28) \ { \ diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h b/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h index 8e43a39c10..4031959df3 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h @@ -57,11 +57,11 @@ DECLARGS_##nr; \ long ret, err; \ LOADARGS_##nr(name, args); \ - __asm__ ("sc\n\t" \ - "mfcr %1\n\t" \ - : "=r" (r3), "=r" (err) \ - : ASM_INPUT_##nr \ - : "cc", "memory"); \ + __asm __volatile ("sc\n\t" \ + "mfcr %1\n\t" \ + : "=r" (r3), "=r" (err) \ + : ASM_INPUT_##nr \ + : "cc", "memory"); \ ret = r3; \ if (err & 1 << 28) \ { \ @@ -123,18 +123,20 @@ register long r8 __asm__ ("r8"); \ long ret, err; \ LOADARGS_##nr(name, args); \ - __asm__ ("sc\n\t" \ - "mfcr %7\n\t" \ - : "=r" (r0), "=r" (r3), "=r" (r4), "=r" (r5), \ - "=r" (r6), "=r" (r7), "=r" (r8), "=r" (err) \ - : ASM_INPUT_##nr \ - : "r9", "r10", "r11", "r12", \ - "fr0", "fr1", "fr2", "fr3", \ - "fr4", "fr5", "fr6", "fr7", \ - "fr8", "fr9", "fr10", "fr11", \ - "fr12", "fr13", \ - "ctr", "lr", \ - "cr0", "cr1", "cr5", "cr6", "cr7", "memory"); \ + __asm __volatile ("sc\n\t" \ + "mfcr %7\n\t" \ + : "=r" (r0), "=r" (r3), "=r" (r4), \ + "=r" (r5), "=r" (r6), "=r" (r7), \ + "=r" (r8), "=r" (err) \ + : ASM_INPUT_##nr \ + : "r9", "r10", "r11", "r12", \ + "fr0", "fr1", "fr2", "fr3", \ + "fr4", "fr5", "fr6", "fr7", \ + "fr8", "fr9", "fr10", "fr11", \ + "fr12", "fr13", \ + "ctr", "lr", \ + "cr0", "cr1", "cr5", "cr6", "cr7", \ + "memory"); \ ret = r3; \ if (err & 1 << 28) \ { \ diff --git a/sysdeps/unix/sysv/linux/sparc/sysdep.h b/sysdeps/unix/sysv/linux/sparc/sysdep.h index f128f4e43f..cf59f12972 100644 --- a/sysdeps/unix/sysv/linux/sparc/sysdep.h +++ b/sysdeps/unix/sysv/linux/sparc/sysdep.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2000 Free Software Foundation, Inc. +/* Copyright (C) 2000, 2002 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jakub Jelinek <jakub@redhat.com>, 2000. @@ -27,9 +27,9 @@ ({ \ register long __o0 __asm__ ("o0"); \ register long __g1 __asm__ ("g1") = __NR_##name; \ - __asm__ (__SYSCALL_STRING : "=r" (__g1), "=r" (__o0) : \ - "0" (__g1) : \ - __SYSCALL_CLOBBERS); \ + __asm __volatile (__SYSCALL_STRING : "=r" (__g1), "=r" (__o0) : \ + "0" (__g1) : \ + __SYSCALL_CLOBBERS); \ __o0; \ }) @@ -37,9 +37,9 @@ ({ \ register long __o0 __asm__ ("o0") = (long)(arg1); \ register long __g1 __asm__ ("g1") = __NR_##name; \ - __asm__ (__SYSCALL_STRING : "=r" (__g1), "=r" (__o0) : \ - "0" (__g1), "1" (__o0) : \ - __SYSCALL_CLOBBERS); \ + __asm __volatile (__SYSCALL_STRING : "=r" (__g1), "=r" (__o0) : \ + "0" (__g1), "1" (__o0) : \ + __SYSCALL_CLOBBERS); \ __o0; \ }) @@ -48,9 +48,9 @@ register long __o0 __asm__ ("o0") = (long)(arg1); \ register long __o1 __asm__ ("o1") = (long)(arg2); \ register long __g1 __asm__ ("g1") = __NR_##name; \ - __asm__ (__SYSCALL_STRING : "=r" (__g1), "=r" (__o0) : \ - "0" (__g1), "1" (__o0), "r" (__o1) : \ - __SYSCALL_CLOBBERS); \ + __asm __volatile (__SYSCALL_STRING : "=r" (__g1), "=r" (__o0) : \ + "0" (__g1), "1" (__o0), "r" (__o1) : \ + __SYSCALL_CLOBBERS); \ __o0; \ }) @@ -60,9 +60,10 @@ register long __o1 __asm__ ("o1") = (long)(arg2); \ register long __o2 __asm__ ("o2") = (long)(arg3); \ register long __g1 __asm__ ("g1") = __NR_##name; \ - __asm__ (__SYSCALL_STRING : "=r" (__g1), "=r" (__o0) : \ - "0" (__g1), "1" (__o0), "r" (__o1), "r" (__o2) : \ - __SYSCALL_CLOBBERS); \ + __asm __volatile (__SYSCALL_STRING : "=r" (__g1), "=r" (__o0) : \ + "0" (__g1), "1" (__o0), "r" (__o1), \ + "r" (__o2) : \ + __SYSCALL_CLOBBERS); \ __o0; \ }) @@ -73,10 +74,10 @@ register long __o2 __asm__ ("o2") = (long)(arg3); \ register long __o3 __asm__ ("o3") = (long)(arg4); \ register long __g1 __asm__ ("g1") = __NR_##name; \ - __asm__ (__SYSCALL_STRING : "=r" (__g1), "=r" (__o0) : \ - "0" (__g1), "1" (__o0), "r" (__o1), "r" (__o2), \ - "r" (__o3) : \ - __SYSCALL_CLOBBERS); \ + __asm __volatile (__SYSCALL_STRING : "=r" (__g1), "=r" (__o0) : \ + "0" (__g1), "1" (__o0), "r" (__o1), \ + "r" (__o2), "r" (__o3) : \ + __SYSCALL_CLOBBERS); \ __o0; \ }) @@ -88,10 +89,10 @@ register long __o3 __asm__ ("o3") = (long)(arg4); \ register long __o4 __asm__ ("o4") = (long)(arg5); \ register long __g1 __asm__ ("g1") = __NR_##name; \ - __asm__ (__SYSCALL_STRING : "=r" (__g1), "=r" (__o0) : \ - "0" (__g1), "1" (__o0), "r" (__o1), "r" (__o2), \ - "r" (__o3), "r" (__o4) : \ - __SYSCALL_CLOBBERS); \ + __asm __volatile (__SYSCALL_STRING : "=r" (__g1), "=r" (__o0) : \ + "0" (__g1), "1" (__o0), "r" (__o1), \ + "r" (__o2), "r" (__o3), "r" (__o4) : \ + __SYSCALL_CLOBBERS); \ __o0; \ }) @@ -104,10 +105,11 @@ register long __o4 __asm__ ("o4") = (long)(arg5); \ register long __o5 __asm__ ("o5") = (long)(arg6); \ register long __g1 __asm__ ("g1") = __NR_##name; \ - __asm__ (__SYSCALL_STRING : "=r" (__g1), "=r" (__o0) : \ - "0" (__g1), "1" (__o0), "r" (__o1), "r" (__o2), \ - "r" (__o3), "r" (__o4), "r" (__o5) : \ - __SYSCALL_CLOBBERS); \ + __asm __volatile (__SYSCALL_STRING : "=r" (__g1), "=r" (__o0) : \ + "0" (__g1), "1" (__o0), "r" (__o1), \ + "r" (__o2), "r" (__o3), "r" (__o4), \ + "r" (__o5) : \ + __SYSCALL_CLOBBERS); \ __o0; \ }) |