<div dir="ltr">Transform the atexit into equivalent code you can control, run it before the destructors of the JIT engine run?<div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Nov 21, 2017 at 12:13 PM, Alex Denisov via llvm-dev <span dir="ltr"><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">> It's not the job of the Orc engine.<br>
<br>
</span>I could argue about this, but I won’t :)<br>
<span class=""><br>
> Just don't use atexit.<br>
<br>
</span>The problem is that I run third-party programs. I cannot control them.<br>
<div class="HOEnZb"><div class="h5"><br>
> On 20. Nov 2017, at 01:04, Joerg Sonnenberger via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:<br>
><br>
> On Mon, Nov 20, 2017 at 12:22:49AM +0100, Alex Denisov via llvm-dev wrote:<br>
>> JIT allocates and maps some memory for the execution. Some function X at address 0xdeadbeef is part of this memory.<br>
>> JIT calls a code that passes the X to atexit.<br>
>> JIT deallocates and unmaps the memory used for execution (either via objectLayer.removeObjectSet or by calling JIT's destructors)<br>
>> atexit (cxa_finalize_ranges) calls the X at 0xdeadbeef which does not belong to 'us' anymore, which leads to the crash.<br>
><br>
> Sounds plausible.<br>
><br>
>> Given that my assumption is correct what can we do about this? Is there<br>
>> anything that can be done to cover this case inside of the Orc engine?<br>
><br>
> It's not the job of the Orc engine. Just don't use atexit.<br>
><br>
> Joerg<br>
> ______________________________<wbr>_________________<br>
> LLVM Developers mailing list<br>
> <a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a><br>
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-dev</a><br>
<br>
</div></div><br>______________________________<wbr>_________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-dev</a><br>
<br></blockquote></div><br></div>