diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-01-29 03:25:37 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-01-29 03:25:37 +0000 |
commit | 1e2f8718598a4d8d8b35d3e505a033f33b242a71 (patch) | |
tree | 13af05b62bc92ede588f01635f7f7428c2b0ebb2 /sysdeps | |
parent | 1e49399dbe6abfaa6dcdbe3c8a6004e0efece1c2 (diff) | |
download | glibc-1e2f8718598a4d8d8b35d3e505a033f33b242a71.tar.gz glibc-1e2f8718598a4d8d8b35d3e505a033f33b242a71.tar.xz glibc-1e2f8718598a4d8d8b35d3e505a033f33b242a71.zip |
Update.
(__fe_nomask_env): Change __prctl call to INTERNAL_SYSCALL.
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/unix/sysv/linux/powerpc/powerpc64/fe_nomask.c | 3 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h | 32 |
2 files changed, 18 insertions, 17 deletions
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/fe_nomask.c b/sysdeps/unix/sysv/linux/powerpc/powerpc64/fe_nomask.c index 6343c54b2d..16619cddd2 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/fe_nomask.c +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/fe_nomask.c @@ -26,7 +26,8 @@ const fenv_t * __fe_nomask_env (void) { - INLINE_SYSCALL (prctl, 2, PR_SET_FPEXC, PR_FP_EXC_PRECISE); + INTERNAL_SYSCALL_DECL (err); + INTERNAL_SYSCALL (prctl, err, 2, PR_SET_FPEXC, PR_FP_EXC_PRECISE); return FE_ENABLED_ENV; } diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h b/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h index c215398995..628c8d9257 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992, 1997, 1998, 1999, 2000, 2001, 2002 +/* Copyright (C) 1992, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -16,7 +16,7 @@ License along with the GNU C Library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ - + /* Alan Modra <amodra@bigpond.net.au> rewrote the INLINE_SYSCALL macro */ #ifndef _LINUX_POWERPC_SYSDEP_H @@ -72,8 +72,8 @@ /* This version is for kernels that implement system calls that behave like function calls as far as register saving. */ -#define INLINE_SYSCALL(name, nr, args...) \ - ({ \ +#define INLINE_SYSCALL(name, nr, args...) \ + ({ \ INTERNAL_SYSCALL_DECL (sc_err); \ long sc_ret = INTERNAL_SYSCALL (name, sc_err, nr, args); \ if (INTERNAL_SYSCALL_ERROR_P (sc_ret, sc_err)) \ @@ -90,8 +90,8 @@ gave back in the non-error (CR0.SO cleared) case, otherwise (CR0.SO set) the negation of the return value in the kernel gets reverted. */ -# undef INTERNAL_SYSCALL -# define INTERNAL_SYSCALL(name, err, nr, args...) \ +#undef INTERNAL_SYSCALL +#define INTERNAL_SYSCALL(name, err, nr, args...) \ ({ \ register long r0 __asm__ ("r0"); \ register long r3 __asm__ ("r3"); \ @@ -106,24 +106,24 @@ "mfcr %0\n\t" \ "0:" \ : "=&r" (r0), \ - "=&r" (r3), "=&r" (r4), "=&r" (r5), \ - "=&r" (r6), "=&r" (r7), "=&r" (r8) \ + "=&r" (r3), "=&r" (r4), "=&r" (r5), \ + "=&r" (r6), "=&r" (r7), "=&r" (r8) \ : ASM_INPUT_##nr \ - : "r9", "r10", "r11", "r12", \ + : "r9", "r10", "r11", "r12", \ "cr0", "ctr", "memory"); \ err = r0; \ (int) r3; \ }) -# undef INTERNAL_SYSCALL_DECL -# define INTERNAL_SYSCALL_DECL(err) long err - -# undef INTERNAL_SYSCALL_ERROR_P -# define INTERNAL_SYSCALL_ERROR_P(val, err) \ +#undef INTERNAL_SYSCALL_DECL +#define INTERNAL_SYSCALL_DECL(err) long err + +#undef INTERNAL_SYSCALL_ERROR_P +#define INTERNAL_SYSCALL_ERROR_P(val, err) \ (__builtin_expect (err & (1 << 28), 0)) -# undef INTERNAL_SYSCALL_ERRNO -# define INTERNAL_SYSCALL_ERRNO(val, err) (val) +#undef INTERNAL_SYSCALL_ERRNO +#define INTERNAL_SYSCALL_ERRNO(val, err) (val) #define LOADARGS_0(name, dummy) \ r0 = __NR_##name |