I’ve been working on MachO native thread local variable support this week. The aim here is to enable loading objects that were compiled without -femulated-tls. I haven’t quite got it working yet, but hope to have worth previewing in the next week or so.
A very brief update on this: The ORC runtime prototype at https://github.com/lhames/llvm-project/tree/orc-runtime-prototype now supports MachO native thread local variables. POD only for now, but nontrivial initializers are coming. (The most recent commit also moves exception-handling registration out of OrcTargetProcess and into the runtime.)
Unfortunately I’ve run short on time to polish the work and write it up, so I’ve just pushed my prototype dev branch as-is for anyone who wants to take an initial look. I’ll try to get this polished, commented and written up for next week.