http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55693
--- Comment #33 from Iain Sandoe <iains at gcc dot gnu.org> 2013-01-23 20:14:26 UTC --- (In reply to comment #32) > (In reply to comment #31) > > > solution on darwin is to mark the duplicate symbols in crttme.o as weak. > > seems reasonable - can you try that? ... except that all those symbols should already be weak: /* Provide dummy functions to satisfy linkage for versions of the Darwin tool-chain that that can't handle undefined weak refs at the link stage. ??? Define these dummy functions only when !HAVE_ELF_STYLE_WEAKREF. */ extern void *__cxa_allocate_exception (size_t) WEAK; extern void __cxa_throw (void *, void *, void *) WEAK; extern void *__cxa_begin_catch (void *) WEAK; extern void *__cxa_end_catch (void) WEAK; extern void __cxa_tm_cleanup (void *, void *, unsigned int) WEAK; extern void *_ZnwX (size_t) WEAK; extern void _ZdlPv (void *) WEAK; extern void *_ZnaX (size_t) WEAK; extern void _ZdaPv (void *) WEAK; typedef const struct nothrow_t { } *c_nothrow_p; extern void *_ZnwXRKSt9nothrow_t (size_t, c_nothrow_p) WEAK; extern void _ZdlPvRKSt9nothrow_t (void *, c_nothrow_p) WEAK; extern void *_ZnaXRKSt9nothrow_t (size_t, c_nothrow_p) WEAK; extern void _ZdaPvRKSt9nothrow_t (void *, c_nothrow_p) WEAK;