Fix S/390 bits/fenv.h namespace use (bug 14801).

This commit is contained in:
Joseph Myers 2012-11-05 13:16:07 +00:00
parent d6d98dea2d
commit 99252c8c62
6 changed files with 23 additions and 13 deletions

View File

@ -1,3 +1,13 @@
2012-11-05 Joseph Myers <joseph@codesourcery.com>
[BZ #14801]
* sysdeps/s390/fpu/bits/fenv.h (fenv_t): Use implementation
namespace for names of struct fields.
* sysdeps/s390/fpu/fegetenv.c (fegetenv): Update references to
fenv_t fields.
* sysdeps/s390/fpu/feholdexcpt.c (feholdexcept): Likewise.
* sysdeps/s390/fpu/fesetenv.c (fesetenv): Likewise.
2012-11-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
[BZ #3665]

2
NEWS
View File

@ -18,7 +18,7 @@ Version 2.17
14518, 14519, 14530, 14532, 14538, 14543, 14544, 14545, 14557, 14562,
14568, 14576, 14579, 14583, 14587, 14595, 14602, 14610, 14621, 14638,
14645, 14648, 14652, 14660, 14661, 14669, 14683, 14694, 14716, 14743,
14767, 14783, 14784, 14785, 14796, 14797.
14767, 14783, 14784, 14785, 14796, 14797, 14801.
* Support for STT_GNU_IFUNC symbols added for s390 and s390x.
Optimized versions of memcpy, memset, and memcmp added for System z10 and

View File

@ -76,8 +76,8 @@ typedef unsigned int fexcept_t; /* size of fpc */
to the layout of the block written by the `fstenv'. */
typedef struct
{
fexcept_t fpc;
void *ieee_instruction_pointer;
fexcept_t __fpc;
void *__ieee_instruction_pointer;
/* failing instruction for ieee exceptions */
} fenv_t;

View File

@ -1,5 +1,5 @@
/* Store current floating-point environment.
Copyright (C) 2000, 2008 Free Software Foundation, Inc.
Copyright (C) 2000-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Denis Joseph Barrow (djbarrow@de.ibm.com).
@ -23,7 +23,7 @@
int
fegetenv (fenv_t *envp)
{
_FPU_GETCW (envp->fpc);
_FPU_GETCW (envp->__fpc);
/* Success. */
return 0;

View File

@ -1,5 +1,5 @@
/* Store current floating-point environment and clear exceptions.
Copyright (C) 2000, 2005, 2007 Free Software Foundation, Inc.
Copyright (C) 2000-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Denis Joseph Barrow (djbarrow@de.ibm.com).
@ -27,7 +27,7 @@ int feholdexcept (fenv_t *envp)
fegetenv (envp);
/* Clear the current sticky bits as more than one exception
may be generated. */
fpc = envp->fpc & ~(FPC_FLAGS_MASK | FPC_DXC_MASK);
fpc = envp->__fpc & ~(FPC_FLAGS_MASK | FPC_DXC_MASK);
/* Hold from generating fpu exceptions temporarily. */
_FPU_SETCW ((fpc & ~(FE_ALL_EXCEPT << FPC_EXCEPTION_MASK_SHIFT)));
return 0;

View File

@ -1,5 +1,5 @@
/* Install given floating-point environment.
Copyright (C) 2000, 2008 Free Software Foundation, Inc.
Copyright (C) 2000-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Denis Joseph Barrow (djbarrow@de.ibm.com).
@ -31,18 +31,18 @@ fesetenv (const fenv_t *envp)
if (envp == FE_DFL_ENV)
{
env.fpc = _FPU_DEFAULT;
env.ieee_instruction_pointer = 0;
env.__fpc = _FPU_DEFAULT;
env.__ieee_instruction_pointer = 0;
}
else if (envp == FE_NOMASK_ENV)
{
env.fpc = FPC_EXCEPTION_MASK;
env.ieee_instruction_pointer = 0;
env.__fpc = FPC_EXCEPTION_MASK;
env.__ieee_instruction_pointer = 0;
}
else
env = (*envp);
_FPU_SETCW (env.fpc);
_FPU_SETCW (env.__fpc);
/* Success. */
return 0;