[Patch] *-*-solaris2.[56789] (cross) don't actually have strtold or strtof (3.4 and trunk)
Brad Spencer
spencer@infointeractive.com
Sat Jan 29 21:21:00 GMT 2005
Oops! It seems way back on May 22, 2003, or thereabouts, I posted
some new Solaris cross configury that wasn't quite right. It looks
like I presumed the strtof() and strtold() C99 functions were present
because they had already been in the '*' (all systems) section. It
turns out that they're old available as of Solaris 10.
This didn't show up until I got some time to (finally) build
gcc-3.4.3 for Solaris, which now tries to use these functions if
available. AFAIK, they weren't used in 3.4.2 or earlier.
Sun's online documentation seems to indicate the functions exist on
Solaris 10 but not Solaris 2.9. The man pages first lists them in
Solaris 10:
http://docs.sun.com/app/docs/doc/817-0677/6mgf9b6e0?a=view
http://docs.sun.com/app/docs/doc/816-5168/6mbb3hrqq?a=view
Attached is a patch against the 3.4.3 crossconfig.m4, presuming that
the triplet for Solaris 10 is *-*-Solaris2.10 :)
The same change needs to be applied to the 3.4 branch and mainline.
--
------------------------------------------------------------------
Brad Spencer - spencer@infointeractive.com - "It's quite nice..."
Systems Architect | InfoInterActive Corp. | A Canadian AOL Company
-------------- next part --------------
2005-01-29 Brad Spencer <spencer@infointeractive.com>
* crossconfig.m4: Repair Solaris cross bits for strtold
and strtof
-------------- next part --------------
--- crossconfig.m4.orig 2005-01-29 16:10:38.000000000 -0400
+++ crossconfig.m4 2005-01-29 16:42:31.000000000 -0400
@@ -392,8 +392,13 @@
AC_DEFINE(HAVE___BUILTIN_SINF)
;;
esac
- AC_DEFINE(HAVE_STRTOF)
- AC_DEFINE(HAVE_STRTOLD)
+ case "$target" in
+ *-*-solaris2.10)
+ # These two C99 functions are present only in Solaris >= 10
+ AC_DEFINE(HAVE_STRTOF)
+ AC_DEFINE(HAVE_STRTOLD)
+ ;;
+ esac
AC_DEFINE(HAVE_MMAP)
AC_DEFINE(HAVE_COPYSIGN)
AC_DEFINE(HAVE_ISNAN)
More information about the Libstdc++
mailing list