On Tue, Nov 22, 2011 at 10:30:44AM -0800, Richard Henderson wrote: > On 11/22/2011 09:55 AM, Aldy Hernandez wrote: > > * opts.c (finish_options): Do not fail for -fgnu-tm. > > * gimple-streamer-out.c (output_gimple_stmt): Handle GIMPLE_TRANSACTION. > > * gimple-streamer-in.c (input_gimple_stmt): Same. > > * lto-cgraph.c (input_overwrite_node): Read tm_clone bit. > > (lto_output_node): Write tm_clone bit. > > lto/ > > * lto-lang.c (lto_attribute_table): Handle transaction_pure. > > (handle_transaction_pure_attribute): New. > > Ok. > > > r~
On x86_64-apple-darwin11, we see the link-time failures... FAIL: gcc.dg/lto/trans-mem-1 c_lto_trans-mem-1_0.o-c_lto_trans-mem-1_1.o link, -flto -fgnu-tm FAIL: gcc.dg/lto/trans-mem-2 c_lto_trans-mem-2_0.o-c_lto_trans-mem-2_1.o link, -flto -fgnu-tm at -m32/-m64. These fail as... Executing on host: /sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/gcc/xgcc -B/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/gcc/ c_lto_trans-mem-1_0.o c_lto_trans-mem-1_1.o -flto -fgnu-tm -m32 -o gcc-dg-lto-trans-mem-1-01.exe (timeout = 300) Undefined symbols for architecture i386:^M "__ITM_registerTMCloneTable", referenced from:^M ___doTMRegistrations in crttms.o^M ___doTMRegistrations in crttms.o^M "__ITM_deregisterTMCloneTable", referenced from:^M ___doTMdeRegistrations in crttme.o^M ___doTMdeRegistrations in crttme.o^M ld: symbol(s) not found for architecture i386^M collect2: error: ld returned 1 exit status^M compiler exited with status 1 output is: Undefined symbols for architecture i386:^M "__ITM_registerTMCloneTable", referenced from:^M ___doTMRegistrations in crttms.o^M ___doTMRegistrations in crttms.o^M "__ITM_deregisterTMCloneTable", referenced from:^M ___doTMdeRegistrations in crttme.o^M ___doTMdeRegistrations in crttme.o^M ld: symbol(s) not found for architecture i386^M collect2: error: ld returned 1 exit status^M FAIL: gcc.dg/lto/trans-mem-1 c_lto_trans-mem-1_0.o-c_lto_trans-mem-1_1.o link, -flto -fgnu-tm Perhaps these are related to the run-time execution failures seen on i386 linux... http://gcc.gnu.org/ml/gcc-testresults/2011-11/msg02303.html FAIL: gcc.dg/lto/trans-mem-1 c_lto_trans-mem-1_0.o-c_lto_trans-mem-1_1.o execute -flto -fgnu-tm FAIL: gcc.dg/lto/trans-mem-2 c_lto_trans-mem-2_0.o-c_lto_trans-mem-2_1.o execute -flto -fgnu-tm