Since it looks not much hopeful to get glibc 2.1.2 working, I turned
back to egcs 1.0.3a/glibc 2.0.7 combo, mainly following Jay Carlson's
famous makefile.
However, I want to do the stage 2 egcs generation with shared libstdc++
library. Here is the error I got :
....
mv tlist piclist
/root/rpm/BUILD/egcs-obj/gcc/xgcc -B/root/rpm/BUILD/egcs-obj/gcc/ -g -O2
-fno-implicit-templates -EB -Wl,-soname,libstdc++.so.`echo 2.8.0 | sed
's/\([0-9][.][0-9]\).*/\1/'` -shared -o libstdc++.so.2.8.0 `cat piclist`
-lm
/root/target/mipsel_41xx/mipsel-linux/lib/libm.so: could not read
symbols: Invalid operation
collect2: ld returned 1 exit status
make[3]: *** [libstdc++.so.2.8.0] Error 1
make[3]: Leaving directory
`/root/rpm/BUILD/egcs-obj/mipsel-linux/eb/libstdc++'
make[2]: *** [multi-do] Error 1
make[2]: Leaving directory
`/root/rpm/BUILD/egcs-obj/mipsel-linux/libstdc++'
make[1]: *** [multi-all] Error 2
make[1]: Leaving directory
`/root/rpm/BUILD/egcs-obj/mipsel-linux/libstdc++'
----------
It turns out that libm.so is built for little endian and xgcc is
building for big endian libstdc++ (-EB). I suppose I need to do either
one of the followings :
1) Not bother to generate big endian version at all - I don't need them;
or
2) generate little endian version of libm, and let xgcc pick it
correctly when -EB is passed.
Any idea how I should achieve them? Thanks.
Jun
|