Hi all. I'm cross-compiling (using GCC 3.4.4) for a ppc440 target without hardware floating point. The default configuration for our target is currently to enable FP emulation in the kernel (Linux 2.6.14), then compile our code with the default PPC flags (which use hard-float). We have discovered that there is a significant-enough performance impact to this that we want to switch to soft-float. So, I've rebuilt all our target code (including glibc etc.) with "-mcpu=440 -msoft-float". This works... mostly: we are seeing an issue with exceptions in C++ code (catch/throw) where exceptions that should be caught are not being caught. Inspecting the results of the GCC build I see that hard vs. soft float for compiler-owned libraries (libgcc and libstdc++) are handled in two different ways: for libgcc, there are shared libs created with two different names (i.e., libgcc_s and libgcc_s_soft-float). If I check my target filesystem I see both those .so's exist and if I use objdump I can see that my applications are linked with libgcc_s_soft-float, so that's all good. However, libstdc++ is handled differently: the compiler build generates both a lib/libstdc++.so and also a lib/soft-float/libstdc++.so (same names, different directories). On my target filesystem there is only one: /usr/lib/libstdc++.so and investigation shows this to be the fp version, not the soft-float version. So! My question is this: what is the proper way to have the soft-float version used instead? I can think of a few different options: (1) copy the soft-float version over the hard-float version when I create my target filesystem; (2) add /usr/lib/soft-float/... with those libraries and fix up /etc/ld.so.conf to add that path before /usr/lib (currently I don't even create ld.so.cache but I could do so). Other ideas? Any thoughts on which is the "intended" way for it to work? Would this be considered a bug in GCC? Should libstdc++ handle soft-float more gracefully, similar to how libgcc does it using different sonames, so that both types of apps can co-exist? Any thoughts or info is greatly appreciated! -- ----------------------------------------------------------------------------- Paul D. Smith <psmith@xxxxxxxxxxx> http://netezza.com "Please remain calm--I may be mad, but I am a professional."--Mad Scientist ----------------------------------------------------------------------------- These are my opinions--Netezza takes no responsibility for them.