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;

Reply via email to