Can somebody suggest a place to start looking for
why the libgcc_s.so built by crosstool's gcc-3.4 can't handle
exceptions from apps built by fc3's gcc-3.4?
The C++ program
#include <iostream>
void foo() throw (int) {
std::cout << "In foo()" << std::endl;
throw 1;
}
int main() {
try {
foo();
} catch (int i) {
std::cout << "Caught " << i << std::endl;
}
std::cout << "Finished" << std::endl;
return 0;
}
works fine when built by FC3's gcc-3.4.
It also works fine when built by crosstool's gcc-3.4.
But when you add the libgcc_s.so built by crosstool into
ld.so.conf, the results are different; apps built
by fc3's gcc-3.4 die when they try to throw exceptions,
but apps built by crosstool's gcc-3.4 keep working.
Help!