<div dir="ltr">On Wed, Mar 13, 2013 at 10:41 AM, Vania Joloboff <span dir="ltr"><<a href="mailto:vania.joloboff@inria.fr" target="_blank">vania.joloboff@inria.fr</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On 03/13/2013 11:01 AM, Dmitry Mikushin wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi Vania,<br>
<br>
If I understood correctly, you have an executable, which is JITing code that has dependencies on the symbols of entire executable. In case dlsym cannot find this symbol, try to link your executable with -rdynamic (gcc) or --export-dynamic (ld):<br>

<br>
       -rdynamic<br>
           Pass the flag -export-dynamic to the ELF linker, on targets that<br>
           support it. This instructs the linker to add all symbols, not only<br>
           used ones, to the dynamic symbol table. This option is needed for<br>
           some uses of "dlopen" or to allow obtaining backtraces from within<br>
           a program.<br>
<br>
- D.<br>
</blockquote></div>
HI<br>
Yes may be it'll work with export dynamic, but then it will export too many symbols.<br>
Can we control the link resolution from the LLVM execution engine ?<br></blockquote><div><br></div><div style>Maybe.  You can also annotate all the symbols you intend to use in the JITed code with __attribute__((visibility("default"))), which will make them visible to dlsym().</div>
</div></div></div>