Fix libm feupdateenv namespace (bug 17748).
authorJoseph Myers <joseph@codesourcery.com>
Wed, 7 Jan 2015 19:01:20 +0000 (19:01 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Wed, 7 Jan 2015 19:01:20 +0000 (19:01 +0000)
commit8116321f657549e80d0167b8a790a7aa54d6379d
treee37ed85c1a187c09c97233ebc819192dc06db14c
parent882dfe184a81a8924bc8acb79e96fbf7556fa60b
Fix libm feupdateenv namespace (bug 17748).

Concluding the fixes for C90 libm functions calling C99 fe* functions,
this patch fixes the case of feupdateenv by making it a weak alias for
__feupdateenv and making the affected code call __feupdateenv.

Tested for x86_64 (testsuite, and that installed stripped shared
libraries are unchanged by the patch).  Also tested for ARM
(soft-float) that the math.h linknamespace tests now pass.

[BZ #17748]
* include/fenv.h (__feupdateenv): Use libm_hidden_proto.
* math/feupdateenv.c (__feupdateenv): Use libm_hidden_def.
* sysdeps/aarch64/fpu/feupdateenv.c (feupdateenv): Rename to
__feupdateenv and define as weak alias of __feupdateenv.  Use
libm_hidden_weak.
* sysdeps/alpha/fpu/feupdateenv.c (__feupdateenv): Use
libm_hidden_def.
* sysdeps/arm/feupdateenv.c (feupdateenv): Rename to __feupdateenv
and define as weak alias of __feupdateenv.  Use libm_hidden_weak.
* sysdeps/hppa/fpu/feupdateenv.c (feupdateenv): Likewise.
* sysdeps/i386/fpu/feupdateenv.c (__feupdateenv): Use
libm_hidden_def.
* sysdeps/ia64/fpu/feupdateenv.c (feupdateenv): Rename to
__feupdateenv and define as weak alias of __feupdateenv.  Use
libm_hidden_weak.
* sysdeps/m68k/fpu/feupdateenv.c (__feupdateenv): Use
libm_hidden_def.
* sysdeps/mips/fpu/feupdateenv.c (feupdateenv): Rename to
__feupdateenv and define as weak alias of __feupdateenv.  Use
libm_hidden_weak.
* sysdeps/powerpc/fpu/feupdateenv.c (__feupdateenv): Use
libm_hidden_def.
* sysdeps/powerpc/nofpu/feupdateenv.c (__feupdateenv): Likewise.
* sysdeps/powerpc/powerpc32/e500/nofpu/feupdateenv.c
(__feupdateenv): Likewise.
* sysdeps/s390/fpu/feupdateenv.c (feupdateenv): Rename to
__feupdateenv and define as weak alias of __feupdateenv.  Use
libm_hidden_weak.
* sysdeps/sh/sh4/fpu/feupdateenv.c (feupdateenv): Likewise.
* sysdeps/sparc/fpu/feupdateenv.c (__feupdateenv): Use
libm_hidden_def.
* sysdeps/tile/math_private.h (__feupdateenv): New inline
function.
* sysdeps/x86_64/fpu/feupdateenv.c (__feupdateenv): Use
libm_hidden_def.
* sysdeps/generic/math_private.h (default_libc_feupdateenv): Call
__feupdateenv instead of feupdateenv.
(default_libc_feupdateenv_test): Likewise.
(libc_feresetround_ctx): Likewise.
21 files changed:
ChangeLog
NEWS
include/fenv.h
math/feupdateenv.c
sysdeps/aarch64/fpu/feupdateenv.c
sysdeps/alpha/fpu/feupdateenv.c
sysdeps/arm/feupdateenv.c
sysdeps/generic/math_private.h
sysdeps/hppa/fpu/feupdateenv.c
sysdeps/i386/fpu/feupdateenv.c
sysdeps/ia64/fpu/feupdateenv.c
sysdeps/m68k/fpu/feupdateenv.c
sysdeps/mips/fpu/feupdateenv.c
sysdeps/powerpc/fpu/feupdateenv.c
sysdeps/powerpc/nofpu/feupdateenv.c
sysdeps/powerpc/powerpc32/e500/nofpu/feupdateenv.c
sysdeps/s390/fpu/feupdateenv.c
sysdeps/sh/sh4/fpu/feupdateenv.c
sysdeps/sparc/fpu/feupdateenv.c
sysdeps/tile/math_private.h
sysdeps/x86_64/fpu/feupdateenv.c