GNU C++, DSO, and an obscure link error

I’m muddling through (re)learning the GNU C++ compiler. The environment is different than I’m used to, and this time I also have to deal with cross-compiler extensions. After a week of trying to get G++ to properly digest STL templates, I can get all of my modules to compile, but they won’t link. I’m getting a rather obscure error that I don’t understand.

This is highly condensed because I don’t want to try to type it verbatim (way too long), but “…hidden symbol: _Unwind_GetRegionStart” “is referenced by DSO”. The text not mentioned identifies libgcc.a in a particular directory tree.

What is DSO? I’m interpreting this as I’m missing some library, or libgcc.a is proper but not up to date and therefore doesn’t contain the referenced symbol.

Help me, please.

Are you linking with -nostdlib? If so, you have to explicitly say -lgcc.

Neither. I’ll try both…