[trans-mem,libitm] brief report on known bugs

Patrick Marlier patrick.marlier@gmail.com
Tue Feb 7 15:06:00 GMT 2012


Let's do an update of the known reported bugs and for trans-mem/libitm.
Thanks to everybody who helped in reporting, fixing, improving and 
reviewing trans-mem things.

*Known bugs and eventually fixed in 4.7 or 4.8*

trans-mem:
* Bug 52141 - [trans-mem] ICE due to asm statement in 
trans-mem.c:expand_block_tm

* Bug 51173 - XFAIL: libitm.c++/static_ctor.C
   error: unsafe function call ‘void __cxa_guard_release(long long 
int*)’ within ‘transaction_safe’ function
   error: unsafe function call ‘int __cxa_guard_acquire(long long int*)’ 
within ‘transaction_safe’ function
   The static initialization here is using locks. One way to fix that is 
to transform the acq/rel always by a transaction.
   Making them transaction_pure is not enough because in the 
constructor, the transaction may abort and so the lock will not be released.

* Bug 52142 - [trans-mem] inlined transaction_pure functions are 
instrumented

* Bug 51752 - trans-mem: publication safety violated

* Bug 51252 - FAIL: c-c++-common/tm/freq.c (internal compiler error)
   -> Not fixed for all arch.

* Bug 52042 - libitm.c/clone-1.c (all darwin) and libitm.c/stackundo.c 
(darwin 11) execution tests fail with -fpie
   for clone-1.c, the problem is that getsectdata doesn't work with 
-fpie. Fix proposed but I guess it needs some work to deal with all 
situations.

* (No PR) - eh-1.C execution failures seen at -m32/-m64 on x86_64 
darwin10/11 when built with Xcode 4.2(.1).
   The problem is due to a bug in darwin/Xcode 4.0 to 4.3 with weak 
references.
   http://gcc.gnu.org/ml/gcc-patches/2012-01/msg00329.html
   http://gcc.gnu.org/ml/gcc-patches/2012-01/msg00285.html
   http://gcc.gnu.org/ml/gcc-patches/2012-01/msg01676.html
   So it fails to detect GCC_CHECK_ELF_STYLE_WEAKREF. Probably needs a 
workaround?


*Features for 4.8*

trans-mem:
* Bug 51771 - trans-mem: abnormal edges get lost or corrupted
   -> Solved with return_twice for 4.7 but needs work for 4.8.
   -> part of the fix is here:
   http://gcc.gnu.org/ml/gcc/2012-01/msg00099.html

* Bug 46480 - [trans-mem] Uninstrumented code path is missing

libitm:
* Bug 51855 - improve calculation of stack bottom in libitm's undolog

* Bug 51169 - XFAIL: libitm.c/dropref-2.c execution test
   Bug 51170 - XFAIL: libitm.c/dropref.c execution test
   Bug 51172 - XFAIL: libitm.c++/dropref.C execution test
   Same problem for all the 3 PR, ie missing ABI feature.
   ABI feature will be implemented eventually.
   Do tests shoud be removed and added later when the feature is 
implemented?

* (No PR) [libitm] libitm.h is not installed
   The fix is simple but maybe a reason for not exposing this to TM user?
   By the way, should it be renamed to simply itm.h?

Thanks!
--
Patrick Marlier.



More information about the Gcc mailing list