This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libstdc++/17505] <cmath> calls acosf(), ceilf(), and other functions missing from system libraries
- From: "roger at eyesopen dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 3 Oct 2004 00:20:34 -0000
- Subject: [Bug libstdc++/17505] <cmath> calls acosf(), ceilf(), and other functions missing from system libraries
- References: <20040915183231.17505.papadopo@shfj.cea.fr>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From roger at eyesopen dot com 2004-10-03 00:20 -------
My apologies for taking so long to analyse this problem. My conclusions are
that this is some strange solaris shared library thing.
Adding "-static" to the command line resolves the problem. Indeed, so it should
as we provide an implementation of "acosf" in libstdc++-3/libmath/stubs.o
[indeed my patch that added an implementation is mentioned in comment #2].
The problem appears to be weak symbols on Solaris?
nm objdir/sparc-sun-solaris2.8/libstdc++-v3/src/.libs/libstdc++.a | grep acos
U acos
00000000 T acosf
00000028 T acosl
nm clean/sparc-sun-solaris2.8/libstdc++-v3/src/.libs/libstdc++.so | grep acos
U acos@@SUNW_1.1
0009b9bc t acosf
0009b9e4 t acosl
So the symbols have global linkage in libstdc++.a but only local linkage in
libstdc++.so. Does this ring a bell for anyone?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17505