Solaris/GCC 3.4.x/4.0.x issue: _GLIBCXX_HAVE_ASINL & others.

Karel Gardas kgardas@objectsecurity.com
Wed Dec 14 17:30:00 GMT 2005


Hello,

I'm trying to solve small MICO build issue on Solaris/GCC platform. The 
issue is simple: since GCC 3.4.0 we start to fail compiling code which 
uses asinl and other functions. The actual issue is that configure 
(generated by autoconf2.13) detects asinl (and others) function as 
available, while in fact it is not available on the system (headers/libs), 
but it is available only in GCC's libstdc++ (as a symbol not as a function 
defined in header file). So this misdetection of asinl and others then 
cause MICO build to fail since asinl and others are not defined in header 
files.

I've studied this issue on linux and solaris with GCC 3.4.x and 4.0.1 and 
found that interestingly _GLIBCXX_HAVE_ASINL is defined when libstdc++ do 
not provide asinl symbol (function) and it is not defined when it provides 
it. I have two questions with regarding to this:

1) is this issue GCC's bug to publicly expose 
asinl/ldexpl/frexpl/fmodl/ceill/floorl/fabsl symbols in its libstdc++?

2) is it reliable to use _GLIBCXX_HAVE_ASINL to detect if asinl is just 
exposed by libstdc++ and not supported by the target OS?

Thanks,
Karel
--
Karel Gardas                  kgardas@objectsecurity.com
ObjectSecurity Ltd.           http://www.objectsecurity.com



More information about the Gcc mailing list