I provided dummy functions for the libitm weak refs in the first version of this. (a) this is unnecessary (except in the corner-case of testing lto) because there is never a need to use the crts unless libitm is linked. (b) it no longer works across all *x86*-darwin* because weak linkage behavior differs.

the solution is to require the library to be present (no problem, since the crts are only fired up for -fgnu-tm) and to remove the dummy funcs from the crts,
OK for trunk?
Iain

libgcc:

        * config/darwin-crt-tm.c: Remove dummy _ITM_ functions.


Index: libgcc/config/darwin-crt-tm.c
===================================================================
--- libgcc/config/darwin-crt-tm.c       (revision 181653)
+++ libgcc/config/darwin-crt-tm.c       (working copy)
@@ -72,12 +72,4 @@ void __doTMdeRegistrations (void)
     _ITM_deregisterTMCloneTable (tm_clone_table_sect_data);
 
 }
-
-/* Provide dumy funcs for the weak ones - needed on most Darwin versions
-   for now.  */
-
-void _ITM_registerTMCloneTable (void *n ATTRIBUTE_UNUSED, size_t s 
ATTRIBUTE_UNUSED)
-{}
-void _ITM_deregisterTMCloneTable (void *n ATTRIBUTE_UNUSED)
-{}
 #endif

Reply via email to