Update.
1999-05-23 Ulrich Drepper <drepper@cygnus.com> * sysdeps/alpha/fpu/bits/fenv.h: Pretty print. * sysdeps/sparc/sparc64/fpu/bits/fenv.h: Remove unneeded #if. 1999-05-22 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> * sysdeps/m68k/fpu/bits/fenv.h (fenv_t): Prepend __ to member names to protect from user's macro namespace. * sysdeps/arm/fpu/bits/fenv.h (fenv_t): Likewise. * sysdeps/generic/bits/fenv.h (fexcept_t, fenv_t): Likewise. * sysdeps/i386/fpu/bits/fenv.h (fenv_t): Likewise. * sysdeps/mips/bits/fenv.h (fenv_t): Likewise. * sysdeps/m68k/fpu/feholdexcpt.c, sysdeps/m68k/fpu/fesetenv.c: Adapted. * sysdeps/arm/fpu/fegetenv.c, sysdeps/arm/fpu/feholdexcpt.c, sysdeps/arm/fpu/fesetenv.c: Likewise. * sysdeps/i386/fpu/fclrexcpt.c, sysdeps/i386/fpu/feholdexcpt.c, sysdeps/i386/fpu/fesetenv.c, sysdeps/i386/fpu/fraiseexcpt.c, sysdeps/i386/fpu/fsetexcptflg.c: Likewise. * sysdeps/mips/fesetenv.c: Likewise.
This commit is contained in:
parent
0a51738ed9
commit
33d1a2c5b8
23
ChangeLog
23
ChangeLog
|
@ -1,3 +1,26 @@
|
|||
1999-05-23 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* sysdeps/alpha/fpu/bits/fenv.h: Pretty print.
|
||||
|
||||
* sysdeps/sparc/sparc64/fpu/bits/fenv.h: Remove unneeded #if.
|
||||
|
||||
1999-05-22 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
||||
|
||||
* sysdeps/m68k/fpu/bits/fenv.h (fenv_t): Prepend __ to member
|
||||
names to protect from user's macro namespace.
|
||||
* sysdeps/arm/fpu/bits/fenv.h (fenv_t): Likewise.
|
||||
* sysdeps/generic/bits/fenv.h (fexcept_t, fenv_t): Likewise.
|
||||
* sysdeps/i386/fpu/bits/fenv.h (fenv_t): Likewise.
|
||||
* sysdeps/mips/bits/fenv.h (fenv_t): Likewise.
|
||||
* sysdeps/m68k/fpu/feholdexcpt.c, sysdeps/m68k/fpu/fesetenv.c:
|
||||
Adapted.
|
||||
* sysdeps/arm/fpu/fegetenv.c, sysdeps/arm/fpu/feholdexcpt.c,
|
||||
sysdeps/arm/fpu/fesetenv.c: Likewise.
|
||||
* sysdeps/i386/fpu/fclrexcpt.c, sysdeps/i386/fpu/feholdexcpt.c,
|
||||
sysdeps/i386/fpu/fesetenv.c, sysdeps/i386/fpu/fraiseexcpt.c,
|
||||
sysdeps/i386/fpu/fsetexcptflg.c: Likewise.
|
||||
* sysdeps/mips/fesetenv.c: Likewise.
|
||||
|
||||
1999-05-22 Roland McGrath <roland@baalperazim.frob.com>
|
||||
|
||||
* sysdeps/generic/bits/sigstack.h (enum SS_*): Remove trailing comma.
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* Copyright (C) 1997, 1998 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
|
@ -44,7 +44,7 @@
|
|||
XXX Probably we should also include the signal handler here. */
|
||||
typedef struct
|
||||
{
|
||||
unsigned int flags;
|
||||
unsigned int __flags;
|
||||
}
|
||||
fexcept_t;
|
||||
|
||||
|
@ -52,7 +52,7 @@ fexcept_t;
|
|||
/* Type representing floating-point environment. */
|
||||
typedef struct
|
||||
{
|
||||
fexcept_t excepts;
|
||||
fexcept_t __excepts;
|
||||
/* XXX I don't know what else we should save. */
|
||||
}
|
||||
fenv_t;
|
||||
|
|
|
@ -1,3 +1,10 @@
|
|||
1999-05-23 Andreas Jaeger <aj@arthur.rhein-neckar.de>
|
||||
|
||||
* man/pthread_cond_init.man: Correct example.
|
||||
Reported by Tomas Berndtsson <tomas@nocrew.org>.
|
||||
|
||||
* linuxthreads.texi (Condition Variables): Likewise.
|
||||
|
||||
1999-05-18 Jakub Jelinek <jj@ultra.linux.cz>
|
||||
|
||||
* sysdeps/sparc/sparc64/pt-machine.h (__compare_and_swap): Use
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* Copyright (C) 1997, 1998 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
|
@ -83,10 +83,10 @@ enum
|
|||
|
||||
|
||||
/* Type representing exception flags. */
|
||||
typedef unsigned long fexcept_t;
|
||||
typedef unsigned long int fexcept_t;
|
||||
|
||||
/* Type representing floating-point environment. */
|
||||
typedef unsigned long fenv_t;
|
||||
typedef unsigned long int fenv_t;
|
||||
|
||||
/* If the default argument is used we use this value. Note that due to
|
||||
architecture-specified page mappings, no user-space pointer will ever
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* Copyright (C) 1997, 1998 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
|
@ -45,12 +45,12 @@ enum
|
|||
#define FE_TONEAREST 0
|
||||
|
||||
/* Type representing exception flags. */
|
||||
typedef unsigned long fexcept_t;
|
||||
typedef unsigned long int fexcept_t;
|
||||
|
||||
/* Type representing floating-point environment. */
|
||||
typedef struct
|
||||
{
|
||||
unsigned long cw;
|
||||
unsigned long int __cw;
|
||||
}
|
||||
fenv_t;
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* Store current floating-point environment.
|
||||
Copyright (C) 1997, 1998 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
|
@ -25,5 +25,5 @@ fegetenv (fenv_t *envp)
|
|||
{
|
||||
unsigned long int temp;
|
||||
_FPU_GETCW(temp);
|
||||
envp->cw = temp;
|
||||
envp->__cw = temp;
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* Store current floating-point environment and clear exceptions.
|
||||
Copyright (C) 1997, 1998 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
|
@ -27,7 +27,7 @@ feholdexcept (fenv_t *envp)
|
|||
|
||||
/* Store the environment. */
|
||||
_FPU_GETCW(temp);
|
||||
envp->cw = temp;
|
||||
envp->__cw = temp;
|
||||
|
||||
/* Now set all exceptions to non-stop. */
|
||||
temp &= ~(FE_ALL_EXCEPT << FE_EXCEPT_SHIFT);
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* Install given floating-point environment.
|
||||
Copyright (C) 1997, 1998 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
|
@ -27,7 +27,7 @@ fesetenv (const fenv_t *envp)
|
|||
_FPU_SETCW(_FPU_DEFAULT);
|
||||
else
|
||||
{
|
||||
unsigned long temp = envp->cw;
|
||||
unsigned long temp = envp->__cw;
|
||||
_FPU_SETCW(temp);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* Copyright (C) 1997, 1998 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
|
@ -44,7 +44,7 @@
|
|||
XXX Probably we should also include the signal handler here. */
|
||||
typedef struct
|
||||
{
|
||||
unsigned int flags;
|
||||
unsigned int __flags;
|
||||
}
|
||||
fexcept_t;
|
||||
|
||||
|
@ -52,7 +52,7 @@ fexcept_t;
|
|||
/* Type representing floating-point environment. */
|
||||
typedef struct
|
||||
{
|
||||
fexcept_t excepts;
|
||||
fexcept_t __excepts;
|
||||
/* XXX I don't know what else we should save. */
|
||||
}
|
||||
fenv_t;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* Copyright (C) 1997, 1998 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
|
@ -65,18 +65,18 @@ typedef unsigned short int fexcept_t;
|
|||
to the layout of the block written by the `fstenv'. */
|
||||
typedef struct
|
||||
{
|
||||
unsigned short int control_word;
|
||||
unsigned short int __control_word;
|
||||
unsigned short int __unused1;
|
||||
unsigned short int status_word;
|
||||
unsigned short int __status_word;
|
||||
unsigned short int __unused2;
|
||||
unsigned short int tags;
|
||||
unsigned short int __tags;
|
||||
unsigned short int __unused3;
|
||||
unsigned int eip;
|
||||
unsigned short int cs_selector;
|
||||
unsigned int opcode:11;
|
||||
unsigned int __eip;
|
||||
unsigned short int __cs_selector;
|
||||
unsigned int __opcode:11;
|
||||
unsigned int __unused4:5;
|
||||
unsigned int data_offset;
|
||||
unsigned short int data_selector;
|
||||
unsigned int __data_offset;
|
||||
unsigned short int __data_selector;
|
||||
unsigned short int __unused5;
|
||||
}
|
||||
fenv_t;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* Clear given exceptions in current floating-point environment.
|
||||
Copyright (C) 1997 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997, 1999 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
|
||||
|
||||
|
@ -33,7 +33,7 @@ feclearexcept (int excepts)
|
|||
__asm__ ("fnstenv %0" : "=m" (*&temp));
|
||||
|
||||
/* Clear the relevant bits. */
|
||||
temp.status_word &= excepts ^ FE_ALL_EXCEPT;
|
||||
temp.__status_word &= excepts ^ FE_ALL_EXCEPT;
|
||||
|
||||
/* Put the new data in effect. */
|
||||
__asm__ ("fldenv %0" : : "m" (*&temp));
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* Store current floating-point environment and clear exceptions.
|
||||
Copyright (C) 1997 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997, 1999 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
|
||||
|
||||
|
@ -29,7 +29,7 @@ feholdexcept (fenv_t *envp)
|
|||
__asm__ ("fnstenv %0" : "=m" (*envp));
|
||||
|
||||
/* Now set all exceptions to non-stop. */
|
||||
work = envp->control_word | 0x3f;
|
||||
work = envp->__control_word | 0x3f;
|
||||
__asm__ ("fldcw %0" : : "m" (*&work));
|
||||
|
||||
return 1;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* Install given floating-point environment.
|
||||
Copyright (C) 1997, 1998 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
|
||||
|
||||
|
@ -39,37 +39,37 @@ fesetenv (const fenv_t *envp)
|
|||
|
||||
if (envp == FE_DFL_ENV)
|
||||
{
|
||||
temp.control_word |= FE_ALL_EXCEPT;
|
||||
temp.control_word &= ~FE_TOWARDZERO;
|
||||
temp.status_word &= ~FE_ALL_EXCEPT;
|
||||
temp.eip = 0;
|
||||
temp.cs_selector = 0;
|
||||
temp.opcode = 0;
|
||||
temp.data_offset = 0;
|
||||
temp.data_selector = 0;
|
||||
temp.__control_word |= FE_ALL_EXCEPT;
|
||||
temp.__control_word &= ~FE_TOWARDZERO;
|
||||
temp.__status_word &= ~FE_ALL_EXCEPT;
|
||||
temp.__eip = 0;
|
||||
temp.__cs_selector = 0;
|
||||
temp.__opcode = 0;
|
||||
temp.__data_offset = 0;
|
||||
temp.__data_selector = 0;
|
||||
}
|
||||
else if (envp == FE_NOMASK_ENV)
|
||||
{
|
||||
temp.control_word &= ~(FE_ALL_EXCEPT | FE_TOWARDZERO);
|
||||
temp.status_word &= ~FE_ALL_EXCEPT;
|
||||
temp.eip = 0;
|
||||
temp.cs_selector = 0;
|
||||
temp.opcode = 0;
|
||||
temp.data_offset = 0;
|
||||
temp.data_selector = 0;
|
||||
temp.__control_word &= ~(FE_ALL_EXCEPT | FE_TOWARDZERO);
|
||||
temp.__status_word &= ~FE_ALL_EXCEPT;
|
||||
temp.__eip = 0;
|
||||
temp.__cs_selector = 0;
|
||||
temp.__opcode = 0;
|
||||
temp.__data_offset = 0;
|
||||
temp.__data_selector = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
temp.control_word &= ~(FE_ALL_EXCEPT | FE_TOWARDZERO);
|
||||
temp.control_word |= (envp->control_word
|
||||
temp.__control_word &= ~(FE_ALL_EXCEPT | FE_TOWARDZERO);
|
||||
temp.__control_word |= (envp->__control_word
|
||||
& (FE_ALL_EXCEPT | FE_TOWARDZERO));
|
||||
temp.status_word &= ~FE_ALL_EXCEPT;
|
||||
temp.status_word |= envp->status_word & FE_ALL_EXCEPT;
|
||||
temp.eip = envp->eip;
|
||||
temp.cs_selector = envp->cs_selector;
|
||||
temp.opcode = envp->opcode;
|
||||
temp.data_offset = envp->data_offset;
|
||||
temp.data_selector = envp->data_selector;
|
||||
temp.__status_word &= ~FE_ALL_EXCEPT;
|
||||
temp.__status_word |= envp->__status_word & FE_ALL_EXCEPT;
|
||||
temp.__eip = envp->__eip;
|
||||
temp.__cs_selector = envp->__cs_selector;
|
||||
temp.__opcode = envp->__opcode;
|
||||
temp.__data_offset = envp->__data_offset;
|
||||
temp.__data_selector = envp->__data_selector;
|
||||
}
|
||||
|
||||
__asm__ ("fldenv %0" : : "m" (temp));
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* Raise given exceptions.
|
||||
Copyright (C) 1997 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997, 1999 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
|
||||
|
||||
|
@ -59,7 +59,7 @@ feraiseexcept (int excepts)
|
|||
__asm__ __volatile__ ("fnstenv %0" : "=m" (*&temp));
|
||||
|
||||
/* Set the relevant bits. */
|
||||
temp.status_word |= FE_OVERFLOW;
|
||||
temp.__status_word |= FE_OVERFLOW;
|
||||
|
||||
/* Put the new data in effect. */
|
||||
__asm__ __volatile__ ("fldenv %0" : : "m" (*&temp));
|
||||
|
@ -80,7 +80,7 @@ feraiseexcept (int excepts)
|
|||
__asm__ __volatile__ ("fnstenv %0" : "=m" (*&temp));
|
||||
|
||||
/* Set the relevant bits. */
|
||||
temp.status_word |= FE_UNDERFLOW;
|
||||
temp.__status_word |= FE_UNDERFLOW;
|
||||
|
||||
/* Put the new data in effect. */
|
||||
__asm__ __volatile__ ("fldenv %0" : : "m" (*&temp));
|
||||
|
@ -101,7 +101,7 @@ feraiseexcept (int excepts)
|
|||
__asm__ __volatile__ ("fnstenv %0" : "=m" (*&temp));
|
||||
|
||||
/* Set the relevant bits. */
|
||||
temp.status_word |= FE_INEXACT;
|
||||
temp.__status_word |= FE_INEXACT;
|
||||
|
||||
/* Put the new data in effect. */
|
||||
__asm__ __volatile__ ("fldenv %0" : : "m" (*&temp));
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* Set floating-point environment exception handling.
|
||||
Copyright (C) 1997 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997, 1999 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
|
||||
|
||||
|
@ -30,8 +30,8 @@ fesetexceptflag (const fexcept_t *flagp, int excepts)
|
|||
separately set the status word. */
|
||||
__asm__ ("fnstenv %0" : "=m" (*&temp));
|
||||
|
||||
temp.status_word &= ~(excepts & FE_ALL_EXCEPT);
|
||||
temp.status_word |= *flagp & excepts & FE_ALL_EXCEPT;
|
||||
temp.__status_word &= ~(excepts & FE_ALL_EXCEPT);
|
||||
temp.__status_word |= *flagp & excepts & FE_ALL_EXCEPT;
|
||||
|
||||
/* Store the new status word (along with the rest of the environment.
|
||||
Possibly new exceptions are set but they won't get executed unless
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* Copyright (C) 1998 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1998, 1999 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
|
@ -64,7 +64,7 @@ typedef unsigned short int fexcept_t;
|
|||
to the layout of the block written by the `fstenv'. */
|
||||
typedef struct
|
||||
{
|
||||
unsigned int fp_control_register;
|
||||
unsigned int __fp_control_register;
|
||||
}
|
||||
fenv_t;
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* Install given floating-point environment.
|
||||
Copyright (C) 1998 Free Software Foundation, Inc.
|
||||
Copyright (C) 1998, 1999 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Andreas Jaeger <aj@arthur.rhein-neckar.de>, 1998.
|
||||
|
||||
|
@ -27,5 +27,5 @@ fesetenv (const fenv_t *envp)
|
|||
if (envp == FE_DFL_ENV)
|
||||
_FPU_SETCW (_FPU_DEFAULT);
|
||||
else
|
||||
_FPU_SETCW (envp->fp_control_register);
|
||||
_FPU_SETCW (envp->__fp_control_register);
|
||||
}
|
||||
|
|
|
@ -59,19 +59,13 @@ enum
|
|||
|
||||
#define __FE_ROUND_MASK (3U << 30)
|
||||
|
||||
#if __WORDSIZE == 64
|
||||
|
||||
/* Type representing exception flags. */
|
||||
typedef unsigned long fexcept_t;
|
||||
typedef unsigned long int fexcept_t;
|
||||
|
||||
|
||||
/* Type representing floating-point environment. */
|
||||
typedef unsigned long fenv_t;
|
||||
#else
|
||||
/* Type representing exception flags. */
|
||||
typedef unsigned int fexcept_t;
|
||||
|
||||
/* Type representing floating-point environment. */
|
||||
typedef unsigned int fenv_t;
|
||||
#endif
|
||||
typedef unsigned long int fenv_t;
|
||||
|
||||
/* If the default argument is used we use this value. */
|
||||
#define FE_DFL_ENV ((fenv_t *) -1)
|
||||
|
@ -83,9 +77,9 @@ typedef unsigned int fenv_t;
|
|||
|
||||
/* For internal use only: access the fp state register. */
|
||||
#if __WORDSIZE == 64
|
||||
#define __fenv_stfsr(X) __asm__ ("stx %%fsr,%0" : "=m" (X))
|
||||
#define __fenv_ldfsr(X) __asm__ __volatile__ ("ldx %0,%%fsr" : : "m" (X))
|
||||
# define __fenv_stfsr(X) __asm__ ("stx %%fsr,%0" : "=m" (X))
|
||||
# define __fenv_ldfsr(X) __asm__ __volatile__ ("ldx %0,%%fsr" : : "m" (X))
|
||||
#else
|
||||
#define __fenv_stfsr(X) __asm__ ("st %%fsr,%0" : "=m" (X))
|
||||
#define __fenv_ldfsr(X) __asm__ __volatile__ ("ld %0,%%fsr" : : "m" (X))
|
||||
# define __fenv_stfsr(X) __asm__ ("st %%fsr,%0" : "=m" (X))
|
||||
# define __fenv_ldfsr(X) __asm__ __volatile__ ("ld %0,%%fsr" : : "m" (X))
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue