On 22 Nov 2011, at 20:57, Jack Howarth wrote:
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
I think we will need to ensure that libitm.dylib is on the link line -
- maybe we're not picking up the spec properly....
(or I will have to cook up a more complex build for the crts).
Iain