------- Comment #5 from pluto at agmk dot net 2006-04-19 08:33 ------- (In reply to comment #3) > Are you sure that you are not mixing operator new and deletes up so the > stlport's operator delete is being called on memory allocated from > operator new from libstdc++?
STLport uses __stl_{new,delete} which uses ::operator {new,delete} from g++'s <new> header. I don't see any mixing in preprocessed sources. Moreover libstdc++ isn't linked in the testcase. $ ldd testDrv linux-gate.so.1 => (0xffffe000) libstlport.so.5.0 => /local/devel/buildenv41/i486-gnu-linux/ STLport/lib/libstlport.so.5.0 (0x5556d000) libc.so.6 => /lib/tls/libc.so.6 (0x55612000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x5572c000) libpthread.so.0 => /lib/tls/libpthread.so.0 (0x55734000) libm.so.6 => /lib/tls/libm.so.6 (0x55746000) /lib/ld-linux.so.2 (0x55555000) > Also is there a reason why you are using stlport? [1] It has faster std::string implementation which I need for large Tcl/Tk based GUI. [2] I'm using it in multiplatform project with different compilers (win32(vc2003), linux(g++), solaris(g++, sunworkshop)). It gives me a one STL implementation for whole project. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27156