[dmd-internals] Help with dl_* functions in DMD

Jacob Carlborg via dmd-internals dmd-internals at puremagic.com
Tue Dec 29 03:55:10 PST 2015


> On 29 dec 2015, at 12:14, Martin Nowak via dmd-internals <dmd-internals at puremagic.com> wrote:
> 
> If you point us to some documentation of the native TLS, we might be able to help guide you a bit better.

As far as I know there is no documentation. But I have already figured it out.

> That's b/c our emulated TLS is simply a function call, no linker recognition and dedicated relocations are involved. Look at the native TLS implementation for linux, it works very differently, and I'd expect OSX' implementation to be somewhat similar.

It looks like it works very similar for Linux. At least it has the same kind of lowering.

> Well it is fairly easy, https://en.wikipedia.org/wiki/Binary_expression_tree, but it's still quite difficult to construct the correct IR tree. As Daniel said, try to print your tree, there is some helper function (el_print or so).
> As I said earlier, when you're relying on a specific sequence of instructions, you have to implement it in the codegen, not the IR construction.

Anyway, I have already figured it out. Thanks for the help.

-- 
/Jacob Carlborg




More information about the dmd-internals mailing list