libstdc++/8197: std::sin(float) causes undefined reference to sinf

Gabriel Dos Reis gdr@integrable-solutions.net
Sun Oct 27 13:43:00 GMT 2002


"Christian Ehrhardt" <ehrhardt@mathematik.uni-ulm.de> writes:

|  I got some more information on this one and a patch that fixes the
|  problem for me:

Thanks for reporting more info on this issue.

[...]

|  The problem seems to be that std::sin(float) is an inline function defined in
|  cmath. This inline function uses __builtin_sinf which in turn generates
|  a reference to a function sinf.
|  This function even exists and is exported from stubs.o:
|  
|  turing# nm sparc-sun-solaris2.9/libstdc++-v3/libmath/stubs.o  |grep sinf
|  00000714 T sinf
|  
|  However, in libstdc++.so the symbol sinf is private:

Benjamin,

  Do we have infrastructure to export symbols based on target
configurations?  If not, does telling linker-map.gnu to export
non-existing symbols an error?  If not, is it documented to work as
"expected"?

Thanks,

-- Gaby
PS: I just realized I asked more questions that could provide any hints.



More information about the Libstdc++ mailing list