1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-30 22:43:12 +03:00
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> 1999-05-22 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/generic/bits/sigstack.h (enum SS_*): Remove trailing comma. * 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. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or 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. */ XXX Probably we should also include the signal handler here. */
typedef struct typedef struct
{ {
unsigned int flags; unsigned int __flags;
} }
fexcept_t; fexcept_t;
@ -52,7 +52,7 @@ fexcept_t;
/* Type representing floating-point environment. */ /* Type representing floating-point environment. */
typedef struct typedef struct
{ {
fexcept_t excepts; fexcept_t __excepts;
/* XXX I don't know what else we should save. */ /* XXX I don't know what else we should save. */
} }
fenv_t; 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> 1999-05-18 Jakub Jelinek <jj@ultra.linux.cz>
* sysdeps/sparc/sparc64/pt-machine.h (__compare_and_swap): Use * 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. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@ -83,10 +83,10 @@ enum
/* Type representing exception flags. */ /* Type representing exception flags. */
typedef unsigned long fexcept_t; typedef unsigned long int fexcept_t;
/* Type representing floating-point environment. */ /* 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 /* If the default argument is used we use this value. Note that due to
architecture-specified page mappings, no user-space pointer will ever 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. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@ -21,7 +21,7 @@
#endif #endif
/* Define bits representing exceptions in the FPU status word. */ /* Define bits representing exceptions in the FPU status word. */
enum enum
{ {
FE_INVALID = 1, FE_INVALID = 1,
#define FE_INVALID FE_INVALID #define FE_INVALID FE_INVALID
@ -34,7 +34,7 @@ enum
}; };
/* Amount to shift by to convert an exception to a mask bit. */ /* 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. */ /* All supported exceptions. */
#define FE_ALL_EXCEPT \ #define FE_ALL_EXCEPT \
@ -45,12 +45,12 @@ enum
#define FE_TONEAREST 0 #define FE_TONEAREST 0
/* Type representing exception flags. */ /* Type representing exception flags. */
typedef unsigned long fexcept_t; typedef unsigned long int fexcept_t;
/* Type representing floating-point environment. */ /* Type representing floating-point environment. */
typedef struct typedef struct
{ {
unsigned long cw; unsigned long int __cw;
} }
fenv_t; fenv_t;

View File

@ -1,5 +1,5 @@
/* Store current floating-point environment. /* 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. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or 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; unsigned long int temp;
_FPU_GETCW(temp); _FPU_GETCW(temp);
envp->cw = temp; envp->__cw = temp;
} }

View File

@ -1,5 +1,5 @@
/* Store current floating-point environment and clear exceptions. /* 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. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@ -27,7 +27,7 @@ feholdexcept (fenv_t *envp)
/* Store the environment. */ /* Store the environment. */
_FPU_GETCW(temp); _FPU_GETCW(temp);
envp->cw = temp; envp->__cw = temp;
/* Now set all exceptions to non-stop. */ /* Now set all exceptions to non-stop. */
temp &= ~(FE_ALL_EXCEPT << FE_EXCEPT_SHIFT); temp &= ~(FE_ALL_EXCEPT << FE_EXCEPT_SHIFT);

View File

@ -1,5 +1,5 @@
/* Install given floating-point environment. /* 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. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or 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); _FPU_SETCW(_FPU_DEFAULT);
else else
{ {
unsigned long temp = envp->cw; unsigned long temp = envp->__cw;
_FPU_SETCW(temp); _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. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or 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. */ XXX Probably we should also include the signal handler here. */
typedef struct typedef struct
{ {
unsigned int flags; unsigned int __flags;
} }
fexcept_t; fexcept_t;
@ -52,7 +52,7 @@ fexcept_t;
/* Type representing floating-point environment. */ /* Type representing floating-point environment. */
typedef struct typedef struct
{ {
fexcept_t excepts; fexcept_t __excepts;
/* XXX I don't know what else we should save. */ /* XXX I don't know what else we should save. */
} }
fenv_t; 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. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or 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'. */ to the layout of the block written by the `fstenv'. */
typedef struct typedef struct
{ {
unsigned short int control_word; unsigned short int __control_word;
unsigned short int __unused1; unsigned short int __unused1;
unsigned short int status_word; unsigned short int __status_word;
unsigned short int __unused2; unsigned short int __unused2;
unsigned short int tags; unsigned short int __tags;
unsigned short int __unused3; unsigned short int __unused3;
unsigned int eip; unsigned int __eip;
unsigned short int cs_selector; unsigned short int __cs_selector;
unsigned int opcode:11; unsigned int __opcode:11;
unsigned int __unused4:5; unsigned int __unused4:5;
unsigned int data_offset; unsigned int __data_offset;
unsigned short int data_selector; unsigned short int __data_selector;
unsigned short int __unused5; unsigned short int __unused5;
} }
fenv_t; fenv_t;

View File

@ -1,5 +1,5 @@
/* Clear given exceptions in current floating-point environment. /* 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. This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -33,7 +33,7 @@ feclearexcept (int excepts)
__asm__ ("fnstenv %0" : "=m" (*&temp)); __asm__ ("fnstenv %0" : "=m" (*&temp));
/* Clear the relevant bits. */ /* Clear the relevant bits. */
temp.status_word &= excepts ^ FE_ALL_EXCEPT; temp.__status_word &= excepts ^ FE_ALL_EXCEPT;
/* Put the new data in effect. */ /* Put the new data in effect. */
__asm__ ("fldenv %0" : : "m" (*&temp)); __asm__ ("fldenv %0" : : "m" (*&temp));

View File

@ -1,5 +1,5 @@
/* Store current floating-point environment and clear exceptions. /* 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. This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -29,7 +29,7 @@ feholdexcept (fenv_t *envp)
__asm__ ("fnstenv %0" : "=m" (*envp)); __asm__ ("fnstenv %0" : "=m" (*envp));
/* Now set all exceptions to non-stop. */ /* Now set all exceptions to non-stop. */
work = envp->control_word | 0x3f; work = envp->__control_word | 0x3f;
__asm__ ("fldcw %0" : : "m" (*&work)); __asm__ ("fldcw %0" : : "m" (*&work));
return 1; return 1;

View File

@ -1,5 +1,5 @@
/* Install given floating-point environment. /* 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. This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -39,37 +39,37 @@ fesetenv (const fenv_t *envp)
if (envp == FE_DFL_ENV) if (envp == FE_DFL_ENV)
{ {
temp.control_word |= FE_ALL_EXCEPT; temp.__control_word |= FE_ALL_EXCEPT;
temp.control_word &= ~FE_TOWARDZERO; temp.__control_word &= ~FE_TOWARDZERO;
temp.status_word &= ~FE_ALL_EXCEPT; temp.__status_word &= ~FE_ALL_EXCEPT;
temp.eip = 0; temp.__eip = 0;
temp.cs_selector = 0; temp.__cs_selector = 0;
temp.opcode = 0; temp.__opcode = 0;
temp.data_offset = 0; temp.__data_offset = 0;
temp.data_selector = 0; temp.__data_selector = 0;
} }
else if (envp == FE_NOMASK_ENV) else if (envp == FE_NOMASK_ENV)
{ {
temp.control_word &= ~(FE_ALL_EXCEPT | FE_TOWARDZERO); temp.__control_word &= ~(FE_ALL_EXCEPT | FE_TOWARDZERO);
temp.status_word &= ~FE_ALL_EXCEPT; temp.__status_word &= ~FE_ALL_EXCEPT;
temp.eip = 0; temp.__eip = 0;
temp.cs_selector = 0; temp.__cs_selector = 0;
temp.opcode = 0; temp.__opcode = 0;
temp.data_offset = 0; temp.__data_offset = 0;
temp.data_selector = 0; temp.__data_selector = 0;
} }
else else
{ {
temp.control_word &= ~(FE_ALL_EXCEPT | FE_TOWARDZERO); temp.__control_word &= ~(FE_ALL_EXCEPT | FE_TOWARDZERO);
temp.control_word |= (envp->control_word temp.__control_word |= (envp->__control_word
& (FE_ALL_EXCEPT | FE_TOWARDZERO)); & (FE_ALL_EXCEPT | FE_TOWARDZERO));
temp.status_word &= ~FE_ALL_EXCEPT; temp.__status_word &= ~FE_ALL_EXCEPT;
temp.status_word |= envp->status_word & FE_ALL_EXCEPT; temp.__status_word |= envp->__status_word & FE_ALL_EXCEPT;
temp.eip = envp->eip; temp.__eip = envp->__eip;
temp.cs_selector = envp->cs_selector; temp.__cs_selector = envp->__cs_selector;
temp.opcode = envp->opcode; temp.__opcode = envp->__opcode;
temp.data_offset = envp->data_offset; temp.__data_offset = envp->__data_offset;
temp.data_selector = envp->data_selector; temp.__data_selector = envp->__data_selector;
} }
__asm__ ("fldenv %0" : : "m" (temp)); __asm__ ("fldenv %0" : : "m" (temp));

View File

@ -1,5 +1,5 @@
/* Raise given exceptions. /* 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. This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -59,7 +59,7 @@ feraiseexcept (int excepts)
__asm__ __volatile__ ("fnstenv %0" : "=m" (*&temp)); __asm__ __volatile__ ("fnstenv %0" : "=m" (*&temp));
/* Set the relevant bits. */ /* Set the relevant bits. */
temp.status_word |= FE_OVERFLOW; temp.__status_word |= FE_OVERFLOW;
/* Put the new data in effect. */ /* Put the new data in effect. */
__asm__ __volatile__ ("fldenv %0" : : "m" (*&temp)); __asm__ __volatile__ ("fldenv %0" : : "m" (*&temp));
@ -80,7 +80,7 @@ feraiseexcept (int excepts)
__asm__ __volatile__ ("fnstenv %0" : "=m" (*&temp)); __asm__ __volatile__ ("fnstenv %0" : "=m" (*&temp));
/* Set the relevant bits. */ /* Set the relevant bits. */
temp.status_word |= FE_UNDERFLOW; temp.__status_word |= FE_UNDERFLOW;
/* Put the new data in effect. */ /* Put the new data in effect. */
__asm__ __volatile__ ("fldenv %0" : : "m" (*&temp)); __asm__ __volatile__ ("fldenv %0" : : "m" (*&temp));
@ -101,7 +101,7 @@ feraiseexcept (int excepts)
__asm__ __volatile__ ("fnstenv %0" : "=m" (*&temp)); __asm__ __volatile__ ("fnstenv %0" : "=m" (*&temp));
/* Set the relevant bits. */ /* Set the relevant bits. */
temp.status_word |= FE_INEXACT; temp.__status_word |= FE_INEXACT;
/* Put the new data in effect. */ /* Put the new data in effect. */
__asm__ __volatile__ ("fldenv %0" : : "m" (*&temp)); __asm__ __volatile__ ("fldenv %0" : : "m" (*&temp));

View File

@ -1,5 +1,5 @@
/* Set floating-point environment exception handling. /* 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. This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -30,8 +30,8 @@ fesetexceptflag (const fexcept_t *flagp, int excepts)
separately set the status word. */ separately set the status word. */
__asm__ ("fnstenv %0" : "=m" (*&temp)); __asm__ ("fnstenv %0" : "=m" (*&temp));
temp.status_word &= ~(excepts & FE_ALL_EXCEPT); temp.__status_word &= ~(excepts & FE_ALL_EXCEPT);
temp.status_word |= *flagp & excepts & FE_ALL_EXCEPT; temp.__status_word |= *flagp & excepts & FE_ALL_EXCEPT;
/* Store the new status word (along with the rest of the environment. /* Store the new status word (along with the rest of the environment.
Possibly new exceptions are set but they won't get executed unless 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. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or 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'. */ to the layout of the block written by the `fstenv'. */
typedef struct typedef struct
{ {
unsigned int fp_control_register; unsigned int __fp_control_register;
} }
fenv_t; fenv_t;

View File

@ -1,5 +1,5 @@
/* Install given floating-point environment. /* 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. This file is part of the GNU C Library.
Contributed by Andreas Jaeger <aj@arthur.rhein-neckar.de>, 1998. Contributed by Andreas Jaeger <aj@arthur.rhein-neckar.de>, 1998.
@ -27,5 +27,5 @@ fesetenv (const fenv_t *envp)
if (envp == FE_DFL_ENV) if (envp == FE_DFL_ENV)
_FPU_SETCW (_FPU_DEFAULT); _FPU_SETCW (_FPU_DEFAULT);
else 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) #define __FE_ROUND_MASK (3U << 30)
#if __WORDSIZE == 64
/* Type representing exception flags. */ /* Type representing exception flags. */
typedef unsigned long fexcept_t; typedef unsigned long int fexcept_t;
/* Type representing floating-point environment. */ /* Type representing floating-point environment. */
typedef unsigned long fenv_t; typedef unsigned long int fenv_t;
#else
/* Type representing exception flags. */
typedef unsigned int fexcept_t;
/* Type representing floating-point environment. */
typedef unsigned int fenv_t;
#endif
/* If the default argument is used we use this value. */ /* If the default argument is used we use this value. */
#define FE_DFL_ENV ((fenv_t *) -1) #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. */ /* For internal use only: access the fp state register. */
#if __WORDSIZE == 64 #if __WORDSIZE == 64
#define __fenv_stfsr(X) __asm__ ("stx %%fsr,%0" : "=m" (X)) # define __fenv_stfsr(X) __asm__ ("stx %%fsr,%0" : "=m" (X))
#define __fenv_ldfsr(X) __asm__ __volatile__ ("ldx %0,%%fsr" : : "m" (X)) # define __fenv_ldfsr(X) __asm__ __volatile__ ("ldx %0,%%fsr" : : "m" (X))
#else #else
#define __fenv_stfsr(X) __asm__ ("st %%fsr,%0" : "=m" (X)) # define __fenv_stfsr(X) __asm__ ("st %%fsr,%0" : "=m" (X))
#define __fenv_ldfsr(X) __asm__ __volatile__ ("ld %0,%%fsr" : : "m" (X)) # define __fenv_ldfsr(X) __asm__ __volatile__ ("ld %0,%%fsr" : : "m" (X))
#endif #endif