https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63781
--- Comment #10 from howarth at bromo dot med.uc.edu --- (In reply to Iain Sandoe from comment #9) > (In reply to Francois-Xavier Coudert from comment #8) > > As far as I understand, libitm is supposed to be used with either C or C++. > > As such, it contains some C++ code which requires libstdc++, but doesn't > > link to it by default. That way, if someone compiles C code with libitm, it > > doesn't use need the C++ libitm code, and doesn't pull libstdc++. And when > > one compiles C++ code, libstdc++ is linked in anyway, so it's no problem. > > > > In short, I'm afraid I don't understand what you think the problem is :) > > Do you have a "real" testcase that fails to link? > > This is quite correct, as I pointed out to Jack before he opened the issue. > libitm weak links to the relevant symbols and uses them as required by the > final program. So the compiler will emit the ___cxa_tm_cleanup to resolve the undefined symbol in libitm?