[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#168888: two part bug



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


Reply to: