in reply to New optimizations in GCC 4.0 and Perl
According to my compatriot, when linking in libstc++, the linker generates an error message saying that __eprintf() is linking to a hidden symbol in libgcc.a. If said symbol is defined in libc, the program is fine. What makes it appear that this is a deeply-embedded kludge is that this is not uncommon across various environments and that there are other symbols that cause the same error, sometimes even when using the supposedly-correct completed compiler to compile other programs. Alan has been sifting lists for several months now trying to uncover a solution for 3.4.3, and the problem seems to have continued unsolved in 4.0. He's working on Solaris 5.6, but reports that others have similar problems in other environments.
Alan is experienced enough (far more than I) that he would not be making silly mistakes. He's devoted quite a few solid days of work to the problem.