This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
New testsuite problems, symbols missing in libstdc++.so
- To: libstdc++ at gcc dot gnu dot org
- Subject: New testsuite problems, symbols missing in libstdc++.so
- From: Peter Schmid <schmid at snake dot iap dot physik dot tu-darmstadt dot de>
- Date: Wed, 28 Mar 2001 14:52:20 +0200 (CEST)
After updating my CVS sources this morning, dynamically
linked executables do no longer build, since the linker cannot load
libsupc++ related symbols.
I notice two differences relative to the build of gcc version 3.1
20010324.
First, the object files are linked with the arguments -lgcc_s -lgcc
-lc -lgcc. I am not sure, if this is supposed to work.
Secondly, the libstdc++ library is about 200k smaller:
libstdc++.so.3.0.0 3145450 Mar 25 01:51
libstdc++.so.3.0.0 2821696 Mar 28 13:04
That is, because of some import symbols are missing. I manually
inspected that these symbols are not contained in the new copy
of libstdc++.so, indeed. My copy of libsupc++.so.0.0.0 is only 5109 bytes
large in contrast to the static version, which contains 229468 bytes.
Peter Schmid
/home/peter/egcs/build/i686-pc-linux-gnu/libstdc++-v3/../../gcc/g++ -B/home/peter/egcs/build/i686-pc-linux-gnu/libstdc++-v3/../../gcc/ -ggdb3 -DDEBUG_ASSERT -ffunction-sections -fdata-sections -nostdinc++ -I/home/peter/egcs/build/i686-pc-linux-gnu/libstdc++-v3/include -I/home/peter/egcs/gcc/libstdc++-v3/include -I/home/peter/egcs/gcc/libstdc++-v3/include/std -I/home/peter/egcs/gcc/libstdc++-v3/include/c_std -I/home/peter/egcs/gcc/libstdc++-v3/libsupc++ -I/home/peter/egcs/gcc/libstdc++-v3/libio -I/home/peter/egcs/gcc/libstdc++-v3/testsuite -nodefaultlibs /home/peter/egcs/gcc/libstdc++-v3/testsuite/17_intro/header_cassert.cc -o ./header_cassert.sh-exe /home/peter/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so -L/home/peter/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src -L/home/peter/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src/.libs -lm -lm -L/home/peter/egcs/build/gcc -L/usr/local/i686-pc-linux-gnu/bin -L/usr/local/i686-pc-linux-gnu/lib -L/usr/local/lib/gcc!
-lib/i686-pc-linux-gnu/3.1 -L/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.1/../../../../i686-pc-linux-gnu/lib -L/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.1/../../.. -lm -lm -lm -lm -lm -lm -lm -lm -lm -lm /usr/local/lib/libstdc++.so -lm -lm -lm -lm -lm -lgcc_s -lgcc -lc -lgcc -Wl,--rpath -Wl,/home/peter/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src/.libs -Wl,--rpath -Wl,/usr/local/lib -Wl,--rpath -Wl,/usr/local/lib -Wl,--rpath -Wl,/home/peter/egcs/build/i686-pc-linux-gnu/libstdc++-v3/../../gcc
/home/peter/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so: undefined reference to `operator new[](unsigned)'
/home/peter/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so: undefined reference to `std::uncaught_exception()'
/home/peter/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so: undefined reference to `std::exception::~exception()'
/home/peter/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so: undefined reference to `__cp_push_exception'
/home/peter/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so: undefined reference to `vtable for std::bad_exception'
/home/peter/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so: undefined reference to `__check_null_eh_spec'
/home/peter/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so: undefined reference to `__uncatch_exception'
/home/peter/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so: undefined reference to `vtable for __cxxabiv1::__si_class_type_info'
/home/peter/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so: undefined reference to `std::bad_cast::~bad_cast()'
/home/peter/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so: undefined reference to `operator delete(void*)'
/home/peter/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so: undefined reference to `std::terminate()'
/home/peter/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so: undefined reference to `__cxa_pure_virtual'
/home/peter/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so: undefined reference to `vtable for std::bad_alloc'
/home/peter/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so: undefined reference to `__start_cp_handler'
/home/peter/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so: undefined reference to `vtable for __cxxabiv1::__class_type_info'
/home/peter/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so: undefined reference to `__cp_pop_exception'
/home/peter/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so: undefined reference to `vtable for std::bad_typeid'
/home/peter/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so: undefined reference to `vtable for std::bad_cast'
/home/peter/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so: undefined reference to `operator delete[](void*)'
/home/peter/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so: undefined reference to `std::bad_exception::~bad_exception()'
/home/peter/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so: undefined reference to `vtable for __cxxabiv1::__vmi_class_type_info'
/home/peter/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so: undefined reference to `operator new(unsigned)'
/home/peter/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so: undefined reference to `std::bad_alloc::~bad_alloc()'
/home/peter/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so: undefined reference to `std::bad_typeid::~bad_typeid()'
collect2: ld returned 1 exit status