Thread-local storage on x86-64

Hi,

is TLS already supposed to work on x86-64? I get the following error:

Cannot yet select: 0xec9330: i64 = GlobalTLSAddress <%struct.stm_tx_t**
@thread_tx> 0
llc((anonymous namespace)::PrintStackTrace()+0x15)[0xa10495]
llc((anonymous namespace)::SignalHandler(int)+0x216)[0xa10826]
/lib/libc.so.6[0x2b6da40a5ca0]
/lib/libc.so.6(gsignal+0x35)[0x2b6da40a5c45]
/lib/libc.so.6(abort+0x110)[0x2b6da40a75c0]
llc[0x73c0a5]
llc[0x65154e]
llc[0x654639]
llc(llvm::SelectionDAGISel::CodeGenAndEmitDAG(llvm::SelectionDAG&)+0xa2)
[0x7bf9c2]
llc(llvm::SelectionDAGISel::SelectBasicBlock(llvm::BasicBlock*,
llvm::MachineFunction&, llvm::FunctionLoweringInfo&)+0xfb)[0x7e756b]
llc(llvm::SelectionDAGISel::runOnFunction(llvm::Function&)+0x241)[0x7e9ba1]
llc[0x694663]
llc(llvm::FPPassManager::runOnFunction(llvm::Function&)+0x1ef)[0x9b71af]
llc(llvm::FunctionPassManagerImpl::run(llvm::Function&)+0x72)[0x9b7692]
llc(llvm::FunctionPassManager::run(llvm::Function&)+0x3e)[0x9b77de]
llc(main+0xc7a)[0x4e387a]
/lib/libc.so.6(__libc_start_main+0xf4)[0x2b6da40928e4]
llc(cos+0x101)[0x4e1c49]

Thanks,

Torvald

Nope, I think it is only implemented in the ARM backend. Patches welcome of course :wink:

-Chris