about summary refs log tree commit diff
path: root/sysdeps/tile
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2015-01-07 19:01:20 +0000
committerJoseph Myers <joseph@codesourcery.com>2015-01-07 19:01:20 +0000
commit8116321f657549e80d0167b8a790a7aa54d6379d (patch)
treee37ed85c1a187c09c97233ebc819192dc06db14c /sysdeps/tile
parent882dfe184a81a8924bc8acb79e96fbf7556fa60b (diff)
downloadglibc-8116321f657549e80d0167b8a790a7aa54d6379d.tar.gz
glibc-8116321f657549e80d0167b8a790a7aa54d6379d.tar.xz
glibc-8116321f657549e80d0167b8a790a7aa54d6379d.zip
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.
Diffstat (limited to 'sysdeps/tile')
-rw-r--r--sysdeps/tile/math_private.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/sysdeps/tile/math_private.h b/sysdeps/tile/math_private.h
index b06e3a321d..9b6b68b324 100644
--- a/sysdeps/tile/math_private.h
+++ b/sysdeps/tile/math_private.h
@@ -34,6 +34,7 @@ extern inline int __fegetenv (fenv_t *__e)	{ return 0; }
 extern inline int fesetenv (const fenv_t *__e)	{ return 0; }
 extern inline int __fesetenv (const fenv_t *__e)	{ return 0; }
 extern inline int feupdateenv (const fenv_t *__e) { return 0; }
+extern inline int __feupdateenv (const fenv_t *__e) { return 0; }
 extern inline int fegetround (void)		{ return FE_TONEAREST; }
 extern inline int __fegetround (void)		{ return FE_TONEAREST; }
 extern inline int fesetround (int __d)		{ return 0; }