I've come across a problem which I think is due to an unfortunate change in egcs. I downloaded binaries of Netscape 4.51 for glibc and linux-2.x. The binary won't run because a symbol __eh_pc can't be found. It appears that the binary is probably expecting to find this symbol in libstd++.so.2.8. After looking at versions of this library which I have, I found an old version which actually has this symbol. This was strange because I couldn't find the symbol anywhere in the libstd++-2.8 sources. However, it appears that the symbol used to be in the egcs sources (the latest version of the egcs sources which I have has notes that it was removed at some stage). It seems to be that older versions of egcs caused this symbol to be placed in the libstd++*.so libraries (it appears that newer versions are probably doing the same thing with a differently named symbol). Hence my problem, the Netscape people have linked against a library which has been generated by an older egcs (or perhaps gcc) but the corresponding library which I would like to use has been generated with a more recent egcs. Has anyone any comments on this? Is my analysis correct? I tried to solve the problem by replacing my libstd++.so.2.8 with one which has the __eh_pc symbol. The netscape binary now crashes with a "Bus error" while loading. -- ----------------------------------------------------------------------------- Bill Metzenthen | See http://www.linuxsupportline.com/~billm/ for info [EMAIL PROTECTED] | on an 80x87 FPU emulator, using floating point, and Melbourne, Australia | code for manipulating the floating point environment on | 80x86 Linux. -----------------------------------------------------------------------------
