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:
Ulrich Drepper 1999-05-23 10:13:49 +00:00
parent 0a51738ed9
commit 33d1a2c5b8
18 changed files with 108 additions and 84 deletions

View File

@ -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.

View File

@ -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;

View File

@ -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

View File

@ -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

View File

@ -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
@ -21,7 +21,7 @@
#endif
/* Define bits representing exceptions in the FPU status word. */
enum
enum
{
FE_INVALID = 1,
#define FE_INVALID FE_INVALID
@ -34,7 +34,7 @@ enum
};
/* Amount to shift by to convert an exception to a mask bit. */
#define FE_EXCEPT_SHIFT 16
#define FE_EXCEPT_SHIFT 16
/* All supported exceptions. */
#define FE_ALL_EXCEPT \
@ -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;

View File

@ -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;
}

View File

@ -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);

View File

@ -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);
}
}

View File

@ -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;

View File

@ -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;

View File

@ -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));

View File

@ -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;

View File

@ -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
& (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.__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;
}
__asm__ ("fldenv %0" : : "m" (temp));

View File

@ -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));

View File

@ -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

View File

@ -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;

View File

@ -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);
}

View File

@ -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