https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87380
--- Comment #9 from Iain Sandoe <iains at gcc dot gnu.org> --- (In reply to Iain Sandoe from comment #8) > (In reply to Iain Sandoe from comment #7) > > it's been broken a looooong time - even apple-gcc-4.2.1 is broken > > actually, that's not true; it puts the symbol in common to merge this. so the culprit is: gcc/config/darwin.h: #define TARGET_WEAK_NOT_IN_ARCHIVE_TOC 1 .. this has been there for a long time. So, now I need to audit what versions of ld64 really don't care about this. Setting this to 0 (with recent as/ld64), makes the testcase complete without throwing. Bootstrapping and checking on a few systems.