libmudflap.c++/pass41-frag.cxx test case fails with -static [1] due to link problem in libstdc++:
FAIL: libmudflap.c++/pass41-frag.cxx (-static) (test for excess errors) WARNING: libmudflap.c++/pass41-frag.cxx (-static) compilation failed to produce executable The problem can be triggered with following command: /home/uros/gcc-build/gcc/g++ -B/home/uros/gcc-build/gcc -I/home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/include/alphaev68-unknown-linux-gnu -I/home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/include -I/home/uros/gcc-svn/trunk/libstdc++-v3/libsupc++ -L/home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/src/.libs -static pass41-frag.cxx and compilation fails with: /home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.a(locale.o):/home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/src/../../../../gcc-svn/trunk/libstdc++-v3/src/locale.cc:421: undefined reference to `std::num_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::id' /home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.a(locale.o):/home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/src/../../../../gcc-svn/trunk/libstdc++-v3/src/locale.cc:422: undefined reference to `std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::id' /home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.a(locale.o):/home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/src/../../../../gcc-svn/trunk/libstdc++-v3/src/locale.cc:423: undefined reference to `std::money_get<char, std::istreambuf_iterator<char, std::char_traits<char> > >::id' /home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.a(locale.o):/home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/src/../../../../gcc-svn/trunk/libstdc++-v3/src/locale.cc:424: undefined reference to `std::money_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::id' /home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.a(locale.o):/home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/src/../../../../gcc-svn/trunk/libstdc++-v3/src/locale.cc:426: undefined reference to `std::num_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::id' /home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.a(locale.o):/home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/src/../../../../gcc-svn/trunk/libstdc++-v3/src/locale.cc:427: undefined reference to `std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::id' /home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.a(locale.o):/home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/src/../../../../gcc-svn/trunk/libstdc++-v3/src/locale.cc:428: undefined reference to `std::money_get<wchar_t, std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::id' /home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.a(locale.o):/home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/src/../../../../gcc-svn/trunk/libstdc++-v3/src/locale.cc:429: undefined reference to `std::money_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> > >::id' collect2: ld returned 1 exit status Without -static, everything works OK. [1] http://gcc.gnu.org/ml/gcc-testresults/2010-05/msg00240.html -- Summary: undefined references to `std::{num_get, num_put, money_get, money_put}< [...] >::id' with -static Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: ubizjak at gmail dot com GCC build triplet: alpha-linux-gnu GCC host triplet: alpha-linux-gnu GCC target triplet: alpha-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43968