minor gcc2->gcc3 migration nit

Daniel Kegel dank@kegel.com
Thu Apr 22 01:10:00 GMT 2004


Just posting this so anyone looking for this error message can find it in google.

Sometimes people want to link c++ programs by invoking gcc instead of g++.

With gcc-2.95.x, this works if you add -lstdc++, e.g.
   gcc hello.cc -lstdc++

Doing that with gcc-3.3.3 gives errors like

libstdc++.so: undefined reference to `_Unwind_DeleteException@GCC_3.0'
libstdc++.so: undefined reference to `_Unwind_Resume@GCC_3.0'
libstdc++.so: undefined reference to `_Unwind_RaiseException@GCC_3.0'
libstdc++.so: undefined reference to `_Unwind_GetRegionStart@GCC_3.0'
libstdc++.so: undefined reference to `_Unwind_GetDataRelBase@GCC_3.0'
libstdc++.so: undefined reference to `_Unwind_SetGR@GCC_3.0'
libstdc++.so: undefined reference to `_Unwind_GetLanguageSpecificData@GCC_3.0'
libstdc++.so: undefined reference to `_Unwind_Resume_or_Rethrow@GCC_3.3'
libstdc++.so: undefined reference to `_Unwind_GetIP@GCC_3.0'
libstdc++.so: undefined reference to `_Unwind_GetTextRelBase@GCC_3.0'
libstdc++.so: undefined reference to `_Unwind_SetIP@GCC_3.0'

This is because a shared library libgcc_s.so was added
(it's a very long story; here are a few random messages about it:
http://gcc.gnu.org/ml/gcc/1998-05/msg01001.html
http://gcc.gnu.org/ml/gcc/2000-05/msg00014.html
http://gcc.gnu.org/ml/gcc/2002-06/msg00583.html
http://gcc.gnu.org/ml/gcc-patches/2004-03/msg02210.html)

The fix is simply to add -lgcc_s, e.g.
   gcc hello.cc -lstdc++ -lgcc_s

- Dan



More information about the Gcc mailing list