https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69310
--- Comment #11 from torvald at gcc dot gnu.org --- (In reply to Jack Howarth from comment #10) > It is unclear if the changes in r232454, to avoid the explicit linkage on > libitm, can ever be made darwin-friendly. On darwin, every single executable > linked against libstdc++ would require -Wl,-undefined,dynamic_lookup on the > linkage to avoid linkage errors from the undefined symbols from libitm > within libstdc++. Is Darwin declaring __GXX_WEAK__? I suppose that it does because after r232539 the failing code isn't compiled unless __GXX_WEAK__ is supported. But if it is, weak references must be supported. Or are you saying that specifically the alias attribute is a problem? If indeed weak references to symbols not declared are a problem, then we probably should disable the transactional clones the same way we did on AIX, which doesn't support weak references without definitions either. What about putting this: // No support for referencing weak symbols without a definition. #define _GLIBCXX_USE_WEAK_REF 0 into ./config/os/bsd/darwin/os_defines.h? This would disable the transactional clones altogether. Could you give this a try?