[Bug libstdc++/17505] <cmath> calls acosf(), ceilf(), and other functions missing from system libraries
roger at eyesopen dot com
gcc-bugzilla@gcc.gnu.org
Sun Oct 3 00:20:00 GMT 2004
------- 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
More information about the Gcc-bugs
mailing list