reassign 168888 glibc clone 168888 -1 reassign -1 gcc-3.2 retitle 168888 sparc: libm has long double versions of math fx, but no prototypes retitle -1 libstdc++ configure check broken thanks #168888 will continue to be for the glibc problem of the prototypes not being defined, but the functions existing in libm.so.6. One or the other needs to be fixed, and that's up to people involved with the sparc port. The new bug is for the following problem in the gcc-3.2 build: make[4]: Leaving directory `/build/buildd/gcc-3.2-3.2.1ds6/build/gcc' Configuring in powerpc-linux/libstdc++-v3 [...] checking for gcc... /build/buildd/gcc-3.2-3.2.1ds6/build/gcc/xgcc -B/build/buildd/gcc-3.2-3.2.1ds6/build/gcc/ -B/usr/powerpc-linux/bin/ -B/usr/powerpc-linux/lib/ -isystem /usr/powerpc-linux/include checking whether we are using GNU C... yes checking whether /build/buildd/gcc-3.2-3.2.1ds6/build/gcc/xgcc -B/build/buildd/gcc-3.2-3.2.1ds6/build/gcc/ -B/usr/powerpc-linux/bin/ -B/usr/powerpc-linux/lib/ -isystem /usr/powerpc-linux/include accepts -g... yes checking for c++... /build/buildd/gcc-3.2-3.2.1ds6/build/gcc/xgcc -shared-libgcc -B/build/buildd/gcc-3.2-3.2.1ds6/build/gcc/ -nostdinc++ -L/build/buildd/gcc-3.2-3.2.1ds6/build/powerpc-linux/libstdc++-v3/src -L/build/buildd/gcc-3.2-3.2.1ds6/build/powerpc-linux/libstdc++-v3/src/.libs -B/usr/powerpc-linux/bin/ -B/usr/powerpc-linux/lib/ -isystem /usr/powerpc-linux/include checking whether we are using GNU C++... yes checking whether /build/buildd/gcc-3.2-3.2.1ds6/build/gcc/xgcc -shared-libgcc -B/build/buildd/gcc-3.2-3.2.1ds6/build/gcc/ -nostdinc++ -L/build/buildd/gcc-3.2-3.2.1ds6/build/powerpc-linux/libstdc++-v3/src -L/build/buildd/gcc-3.2-3.2.1ds6/build/powerpc-linux/libstdc++-v3/src/.libs -B/usr/powerpc-linux/bin/ -B/usr/powerpc-linux/lib/ -isystem /usr/powerpc-linux/include accepts -g... yes Note that xgcc is being used as the C++ compiler. While this supports C++ just fine, it is not the same as invoking g++, mainly, prototypes are not enforced. The problem of #168888 ends up in a libstdc++ that has long double math functions, but no prototypes. Therefore, the configure checks to see if you have the functions succeed, and the stdc++ library is built with HAVE_ macros defined for these functions. If the compiler enforced prototypes (as it needs to for C++), then the library would be built without the problematic HAVE_ defines, and g++-3.2 would work on sparc (without long double functions, until libc is fixed to either not have the functions, or to have prototypes for them).
Attachment:
pgpBqM28LOOqM.pgp
Description: PGP signature