On Fri, 15 Mar 2002, Bob Friesenhahn wrote: > Somewhere between 1.4d and today, CVS libtool has been altered such > that C++ exceptions are failing to be caught again under Solaris 2.6 > when using gcc 3.0.4. I'll check into what the difference is with the > linkage and report what I discover to the list.
Ok, this is what I found. The changes in how C++ code is linked on Solaris 2.6 is profound. This is how libtool "1.4d" linked C++ programs (C++ exceptions work): % /bin/bash ../../libtool --mode=link c++ -g -O2 -L/usr/local/lib -L/usr/local/lib -R/usr/local/lib -L/usr/local/lib -L/usr/openwin/lib -R/usr/openwin/lib -o attributes attributes.o ../lib/libMagick++.la ../../magick/libMagick.la c++ -g -O2 -o .libs/attributes attributes.o -L/usr/local/lib -L/usr/openwin/lib ../lib/.libs/libMagick++.so -L/usr/local/lib/gcc-lib/sparc-sun-solaris2.6/3.0.4 -L/usr/local/lib/gcc-lib/sparc-sun-solaris2.6/3.0.4/../../../../sparc-sun-solaris2.6/lib -L/usr/ccs/bin -L/usr/ccs/lib -L/usr/local/lib/gcc-lib/sparc-sun-solaris2.6/3.0.4/../../.. /usr/local/lib/gcc-lib/sparc-sun-solaris2.6/3.0.4/libstdc++.so -L/tmp/gcc-3.0.4/sparc-sun-solaris2.6/libstdc++-v3/src -L/tmp/gcc-3.0.4/sparc-sun-solaris2.6/libstdc++-v3/src/.libs -L/tmp/gcc-3.0.4/gcc -L/usr/local/sparc-sun-solaris2.6/bin -L/usr/local/sparc-sun-solaris2.6/lib -lgcc_s -lgcc ../../magick/.libs/libMagick.so /usr/local/lib/liblcms.so /usr/local/lib/libfreetype.so -lXext -lXt -lSM -lICE -lX11 -lsocket -lnsl -lz -lpthread -lm -ldl -Wl,-R -Wl,/usr/local/lib -Wl,-R -Wl,/usr/local/lib/gcc-lib/sparc-sun-solaris2.6/3.0.4 -Wl,-R -Wl,/usr/openwin/lib ld: warning: file /usr/local/lib/gcc-lib/sparc-sun-solaris2.6/3.0.4/libstdc++.so: attempted multiple inclusion of file creating attributes And this is how the current CVS libtool links C++ programs (C++ exceptions are never caught): % /bin/bash ../../libtool --mode=link c++ -g -O2 -L/usr/local/lib -L/usr/local/lib -R/usr/local/lib -L/usr/local/lib -L/usr/openwin/lib -R/usr/openwin/lib -o attributes attributes.o ../lib/libMagick++.la ../../magick/libMagick.la c++ -g -O2 -o .libs/attributes attributes.o -L/usr/local/lib -L/usr/openwin/lib ../lib/.libs/libMagick++.so ../../magick/.libs/libMagick.so /usr/local/lib/liblcms.so /usr/local/lib/libfreetype.so -lXext -lXt -lSM -lICE -lX11 -lsocket -lnsl -lz -lpthread -lm -ldl -R/usr/local/lib -R/usr/openwin/lib creating attributes I don't see anything in the ChangeLog that suggests a reason for this rather profound change. Bob ====================================== Bob Friesenhahn [EMAIL PROTECTED] http://www.simplesystems.org/users/bfriesen _______________________________________________ Libtool mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/libtool