libstdc++/10106: libstdc++ is failed to cross-compile on sparc-sun-solaris2.8 target

tim@kaspersky.com tim@kaspersky.com
Sun Mar 16 11:56:00 GMT 2003


>Number:         10106
>Category:       libstdc++
>Synopsis:       libstdc++ is failed to cross-compile on sparc-sun-solaris2.8 target
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Mar 16 11:56:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:     Georgy Yunaev
>Release:        gcc-3.2.2
>Organization:
>Environment:
bash-2.05b$ uname -a
CYGWIN_NT-5.0 tim 1.3.20(0.73/3/2) 2003-02-08 12:10 i686 unknown unknown Cygwin
bash-2.05b$ gcc -v
Reading specs from /usr/lib/gcc-lib/i686-pc-cygwin/3.2/specs
Configured with: /netrel/src/gcc-3.2-3/configure --enable-languages=c,c++,f77,java --enable-libgcj --enable-threads=posix --with-system-zlib --enable-nls --without-included-gettext --enable-interpreter --disable-sjlj-exceptions --disable-version-specific-runtime-libs --enable-shared --build=i686-pc-linux --host=i686-pc-cygwin --target=i686-pc-cygwin --enable-haifa --prefix=/usr --exec-prefix=/usr
--sysconfdir=/etc --libdir=/usr/lib --includedir=/nonexistent/include --libexecdir=/usr/sbin
Thread model: posix
gcc version 3.2 20020927 (prerelease)
>Description:
libstdc++ cross-compilation failed while compiling for sparc-sun-solaris2.8 target.

1. libstdc++ configure.in sets up an include dir config/os/newlib in generic section for Solaris (instead of solaris/solaris2.7)
2. libstdc++ configure.in sets up AC_DEFINE(HAVE_ACOSF) and the rest float math macroses for Solaris, which doesn't have them.
>How-To-Repeat:
<build binutils with --target=sparc-sun-solaris2.8, install them, and install native Sparc headers/libs into $prefix/$target/include and $prefix/$target/libs>

./configure --target=sparc-sun-solaris2.8
make
it'll fail during building libstdc++ linking
>Fix:
add two sections to libstdc++v3/configure.in :

+   *-solaris2.[78]*)
+      AC_DEFINE(HAVE_HYPOT)
+      os_include_dir="config/os/solaris/solaris2.7"
+      ;;
    *)
      os_include_dir="config/os/newlib"
      AC_DEFINE(HAVE_HYPOT)
      ;;

  case "$target" in
    *-mingw32*)
      ;;

+   *-solaris*)
+      AC_DEFINE(HAVE_MMAP)
+      ;;
>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the Gcc-prs mailing list