From 1e2f8718598a4d8d8b35d3e505a033f33b242a71 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Wed, 29 Jan 2003 03:25:37 +0000 Subject: [PATCH] Update. (__fe_nomask_env): Change __prctl call to INTERNAL_SYSCALL. --- ChangeLog | 2 +- .../unix/sysv/linux/powerpc/powerpc64/fe_nomask.c | 3 +- sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h | 32 +++++++++++----------- 3 files changed, 19 insertions(+), 18 deletions(-) diff --git a/ChangeLog b/ChangeLog index a8b7f68..0bd26f7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,7 @@ 2003-01-28 Steven Munroe * sysdeps/unix/sysv/linux/powerpc/powerpc64/fe_nomask.c - (__fe_nomask_env): Change __prctl call to INLINE_SYSCALL. + (__fe_nomask_env): Change __prctl call to INTERNAL_SYSCALL. 2003-01-28 Martin Schwidefsky diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/fe_nomask.c b/sysdeps/unix/sysv/linux/powerpc/powerpc64/fe_nomask.c index 6343c54..16619cd 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 c215398..628c8d9 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 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 -- 2.7.4