testsuite failures on solaris
Benjamin Kosnik
bkoz@redhat.com
Mon Apr 21 16:59:00 GMT 2003
Hey Andreas.
>since this patch got in, the testsuite behaves totally mad on solaris
>2.9, also 2.8 I guess. (See test results list)
>
>http://gcc.gnu.org/ml/gcc-cvs/2003-04/msg00814.html
>
>/usr/ccs/bin/as: "/var/tmp//ccKXKMUi.s", line 1105: error: redefinition
>of symbo
>l ".LLM1"^M
This is the PCH patch. Apparently the current configure code is not
smart enough to deal with the case where the PCH is constructed without
failure, but use results in failure.
One thing you should check:
cd bld/host/libstdc++-v3/include
make clean
make all
this should just rebuild the PCH files. What kind of output do you see?
Here's what things look like for me:
%make
touch ./i686-pc-linux-gnu/bits/stdc++.h; \
if [ ! -d "./i686-pc-linux-gnu/bits/stdc++.h.gch" ]; then \
mkdir -p ./i686-pc-linux-gnu/bits/stdc++.h.gch; \
fi; \
/mnt/hd/bld/gcc/gcc/xgcc -shared-libgcc -B/mnt/hd/bld/gcc/gcc/ -nostdinc++ -L/mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/src -L/mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/src/.libs -B/mnt/hd/bld/H-x86-gcc/i686-pc-linux-gnu/bin/ -B/mnt/hd/bld/H-x86-gcc/i686-pc-linux-gnu/lib/ -isystem /mnt/hd/bld/H-x86-gcc/i686-pc-linux-gnu/include -isystem /mnt/hd/bld/H-x86-gcc/i686-pc-linux-gnu/sys-include
-Winvalid-pch -Wno-deprecated -x c++-header -nostdinc++ -I/mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/include/i686-pc-linux-gnu -I/mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/include -I/mnt/hd/src/gcc/libstdc++-v3/libsupc++ /mnt/hd/src/gcc/libstdc++-v3/include/stdc++.h -O0 -g -o ./i686-pc-linux-gnu/bits/stdc++.h.gch/O0g; \
/mnt/hd/bld/gcc/gcc/xgcc -shared-libgcc -B/mnt/hd/bld/gcc/gcc/ -nostdinc++ -L/mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/src -L/mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/src/.libs -B/mnt/hd/bld/H-x86-gcc/i686-pc-linux-gnu/bin/ -B/mnt/hd/bld/H-x86-gcc/i686-pc-linux-gnu/lib/ -isystem /mnt/hd/bld/H-x86-gcc/i686-pc-linux-gnu/include -isystem /mnt/hd/bld/H-x86-gcc/i686-pc-linux-gnu/sys-include
-Winvalid-pch -Wno-deprecated -x c++-header -nostdinc++ -I/mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/include/i686-pc-linux-gnu -I/mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/include -I/mnt/hd/src/gcc/libstdc++-v3/libsupc++ /mnt/hd/src/gcc/libstdc++-v3/include/stdc++.h -O2 -g -o ./i686-pc-linux-gnu/bits/stdc++.h.gch/O2g;
Anyway. The current configure bits (in acinclude.m4/GLIBCPP_CHECK_PCH)
Just try to make a math.h.gch. Not too tough, you'd think. What really
should happen is to try and use the generated math.h.gch after it's been
generated. Before I go through all that bother, can you see if this
would be enough information for configure to make better decisions about
what to enable?
So, you'd need to make a math.h pre compiled header, and use it. Like this:
1) cat > 1.h
#include <math.h>
EOF
2) g++ -Winvalid-pch -x c++-header 1.h
(should make 1.h.gch)
3) cat > 1.cc
int main() { return 0;}
EOF
4) g++ -include 1.h -Winvalid-pch -Werror 1.cc
Do all these things work? If so, I don't know what to do. If 4) fails,
then things might be better, and I can figure out how to make configure
do this.
best,
benjamin
More information about the Libstdc++
mailing list