diff options
author | Richard Henderson <rth@twiddle.net> | 2012-08-30 12:02:50 -0700 |
---|---|---|
committer | Richard Henderson <rth@twiddle.net> | 2012-09-12 17:18:25 -0700 |
commit | b2d36dda9b8ca4d850f3b8e3e437a38368a51519 (patch) | |
tree | 9f100ed228f0dce78f206fa1ae8bc6b499c09719 /ports | |
parent | 6c9b0f68267cf365d060d4e51e7cb8f61498b875 (diff) | |
download | glibc-b2d36dda9b8ca4d850f3b8e3e437a38368a51519.zip glibc-b2d36dda9b8ca4d850f3b8e3e437a38368a51519.tar.gz glibc-b2d36dda9b8ca4d850f3b8e3e437a38368a51519.tar.bz2 |
alpha: Work around gcc 4.8 aliasing difference/bug
Diffstat (limited to 'ports')
-rw-r--r-- | ports/ChangeLog.alpha | 5 | ||||
-rw-r--r-- | ports/sysdeps/alpha/fpu/s_isnan.c | 12 |
2 files changed, 10 insertions, 7 deletions
diff --git a/ports/ChangeLog.alpha b/ports/ChangeLog.alpha index 19edf6f..9589dd3 100644 --- a/ports/ChangeLog.alpha +++ b/ports/ChangeLog.alpha @@ -1,3 +1,8 @@ +2012-08-30 Richard Henderson <rth@redhat.com> + + * sysdeps/alpha/fpu/s_isnan.c: Define all aliases in terms of + the original __isnan symbol. + 2012-08-27 Mike Frysinger <vapier@gentoo.org> [BZ #5400] diff --git a/ports/sysdeps/alpha/fpu/s_isnan.c b/ports/sysdeps/alpha/fpu/s_isnan.c index b18c7bb..1f239ac 100644 --- a/ports/sysdeps/alpha/fpu/s_isnan.c +++ b/ports/sysdeps/alpha/fpu/s_isnan.c @@ -28,11 +28,6 @@ #undef isnanf #undef __GI___isnanf -/* The hidden_proto in include/math.h was obscured by the macro hackery. */ -__typeof (__isnan) __isnanf; -hidden_proto (__isnanf) - - int __isnan (double x) { @@ -45,8 +40,11 @@ weak_alias (__isnan, isnan) /* It turns out that the 'double' version will also always work for single-precision. */ strong_alias (__isnan, __isnanf) -hidden_def (__isnanf) -weak_alias (__isnanf, isnanf) +weak_alias (__isnan, isnanf) + +/* ??? GCC 4.8 fails to look through chains of aliases with asm names + attached. Work around this for now. */ +hidden_ver (__isnan, __isnanf) #ifdef NO_LONG_DOUBLE strong_alias (__isnan, __isnanl) |