Floating point exceptions in DoubleSupport::initialize() on Solaris 10 (x86)
----------------------------------------------------------------------------
Key: XALANC-588
URL: http://issues.apache.org/jira/browse/XALANC-588
Project: XalanC
Type: Bug
Components: XalanC
Versions: 1.10
Environment: Sun Solaris 10, Opteron chipset (x86/i386). XercesC++ 2.7 XalanC
1.10
$ CC -V
CC: Sun C++ 5.7 Patch 117831-02 2005/03/30
$ cc -V
cc: Sun C 5.7 Patch 117837-04 2005/05/11
usage: cc [ options] files. Use 'cc -flags' for details
Reporter: Sean Pearce
A couple of issues.
Prior to compiling, XERCESCROOT and XALANCROOT are configured to point the
their respective foliders, and the configurations used as follows:
Xerces: ./runConfigure -p solaris -c cc -x CC -b 64 -P
$P4SRCROOT/Tools/libs/64/SUN/xerces-c_2_7_0
Xalan: ./runConfigure -p solaris -c cc -x CC -b 64 -P
$P4SRCROOT/Tools/libs/64/SUN/xalanc_1_10
1) To compile on this platform, the 'solaris' entries in runConfigure had to be
changed to use option '-xarch=amd64' in place of '-xarch=v9' (for XercesC and
XalanC)
2) After building the libraries, our program was crashing in
XalanTransformer::initialize(); (after calling XMLPlatformUtils::Initialize();
of course), with a Floating Point Exception (FPE) in:
void
DoubleSupport::initialize()
{
#if defined(XALAN_NO_STD_NUMERIC_LIMITS)
// We initialize this at here because some
// platforms have had issues with signals
// if we call sqrt(-2.01) during static
// initialization.
#if defined(XALAN_STRICT_ANSI_HEADERS)
s_NaN.d = std::sqrt(-2.01);
#else
s_NaN.d = sqrt(-2.01);
#endif
#elif !defined(XALAN_NO_STD_NAMESPACE)
// There seems to be problems with various standard libraries, so
// this is disabled for now. We need to revisit this when we
// update our autoconf/automake system to detect the right value
// for NaN at configuration time.
// XALAN_STATIC_ASSERT(std::numeric_limits<double>::has_quiet_NaN);
#endif
Removing #define XALAN_NO_STD_NUMERIC_LIMITS from the
Include/SolarisDefinitions.hpp fixes this problem.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]