This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libstdc++/39491] [4.4/4.5 regression] symbol __signbitl@GLIBCXX_3.4 in libstdc++ not exported anymore
- From: "dave at hiauly1 dot hia dot nrc dot ca" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 21 Apr 2009 21:01:52 -0000
- Subject: [Bug libstdc++/39491] [4.4/4.5 regression] symbol __signbitl@GLIBCXX_3.4 in libstdc++ not exported anymore
- References: <bug-39491-11764@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #12 from dave at hiauly1 dot hia dot nrc dot ca 2009-04-21 21:01 -------
Subject: Re: [4.4/4.5 regression] symbol __signbitl@GLIBCXX_3.4 in libstdc++
not exported anymore
> At present glibc does not create an long double alias for the double __signbit
> function, but for the sake of correctness it probably should.
In my build of gcc 4.3.3 and also debian 4.3.2-1.1 (lenny), I see
the symbol __signbitl in libstdc++.so.6.0.10. We also have
__signbitl@@GLIBCXX_3.4.
In libstdc++.a, I see:
signbitl.o:
00000000 T __signbitl
In 4.3, we had the function signbitl.c in libmath. This was removed in 4.4.
Looking at the 4.3 implementation, I see that it assumes a 96-bit long double
format. This is wrong for hppa-linux, but I think the signbit extraction
works because of the alignment of the long double value in the union.
Dave
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39491