This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libstdc++/17505] <cmath> calls acosf(), ceilf(), and other functions missing from system libraries


------- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]