<div dir="rtl"><div dir="ltr">Hi Fons,</div><div dir="ltr"><br></div><div dir="ltr">On Windows, I have seen this error as the result of having loaded a shared library compiled by gcc against libstdc++ looking for its imports.</div>

<div dir="ltr"><br></div><div dir="ltr">Yaron<br></div><div dir="ltr"><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote"><div dir="ltr">2013/11/20 Fons Rademakers <span dir="ltr"><<a href="mailto:Fons.Rademakers@cern.ch" target="_blank">Fons.Rademakers@cern.ch</a>></span></div>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Alas, removing this flag does not make any difference. JIT still fails to link. Any other ideas on what might be going on?<br>


<br>
Cheers, Fons.<div><div class="h5"><br>
<br>
<br>
On 19/11/2013 22:53, Fons Rademakers wrote:<br>
</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">
Ah, now I remember we build LLVM with the flag:<br>
<br>
--disable-visibility-inlines-<u></u>hidden<br>
<br>
passed to ./configure, so there must be some interference. I'll try without<br>
this flag.<br>
<br>
Cheers, Fons.<br>
<br>
<br>
On 19/11/2013 21:28, Marshall Clow wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
On Nov 18, 2013, at 2:13 PM, Fons Rademakers <<a href="mailto:Fons.Rademakers@cern.ch" target="_blank">Fons.Rademakers@cern.ch</a>><br>
wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi,<br>
<br>
  since moving to OSX 10.9 with libc++ our code which uses the JIT to<br>
compile C++ code on the fly fails to link with certain libc++ symbols<br>
that are reported by nm to be of type t (small t, i.e. defined but not<br>
exported, if I understand correctly). So, why does the JITted code want<br>
to link with these symbols? How to avoid that or how to make these<br>
symbols available in one way or another. Prior with libstdc++ (on OSX<br>
and Linux) no problems.<br>
<br>
This are some of the symbols that fail linking:<br>
<br>
ExecutionContext: use of undefined symbol<br>
'_ZNKSt3__112basic_stringIcNS_<u></u>11char_traitsIcEENS_<u></u>9allocatorIcEEE13get_<u></u>allocatorEv'!<br>
<br>
ExecutionContext: use of undefined symbol<br>
'_ZNSt3__112basic_stringIcNS_<u></u>11char_traitsIcEENS_<u></u>9allocatorIcEEEC1ERKS4_'!<br>
ExecutionContext: use of undefined symbol<br>
'_ZNKSt3__112basic_stringIcNS_<u></u>11char_traitsIcEENS_<u></u>9allocatorIcEEE4sizeEv'!<br>
ExecutionContext: use of undefined symbol<br>
'_ZNKSt3__112basic_stringIcNS_<u></u>11char_traitsIcEENS_<u></u>9allocatorIcEEE4dataEv'!<br>
<br>
That is:<br>
<br>
std::__1::basic_string<char, std::__1::char_traits<char>,<br>
std::__1::allocator<char> >::basic_string(std::__1::<u></u>allocator<char> const&)<br>
std::__1::basic_string<char, std::__1::char_traits<char>,<br>
std::__1::allocator<char> >::size() const<br>
std::__1::basic_string<char, std::__1::char_traits<char>,<br>
std::__1::allocator<char> >::data() const<br>
std::__1::basic_string<char, std::__1::char_traits<char>,<br>
std::__1::allocator<char> >::get_allocator() const<br>
</blockquote>
<br>
All of those routines are decorated in the header <string> with<br>
"_LIBCPP_INLINE_VISIBILITY", which expands to<br>
either:    __attribute__ ((__always_inline__))<br>
or:        __forceinline<br>
(depending on your compiler)<br>
<br>
Since they're supposed to be always inlined, it's not surprising that<br>
they are not in the dylib.<br>
A followup question would be: How/why are you generating calls to them,<br>
as opposed to just inlining them?<br>
<br>
-- Marshall<br>
<br>
Marshall Clow     Idio Software   <mailto:<a href="mailto:mclow.lists@gmail.com" target="_blank">mclow.lists@gmail.com</a>><br>
<br>
A.D. 1517: Martin Luther nails his 95 Theses to the church door and is<br>
promptly moderated down to (-1, Flamebait).<br>
         -- Yu Suzuki<br>
<br>
</blockquote>
<br>
<br>
<br></div></div><div class="im">
______________________________<u></u>_________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu" target="_blank">cfe-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/<u></u>mailman/listinfo/cfe-dev</a><br>
<br>
</div></blockquote><div class="HOEnZb"><div class="h5">
<br>
-- <br>
Org:    CERN, European Laboratory for Particle Physics.<br>
Mail:   1211 Geneve 23, Switzerland<br>
E-Mail: <a href="mailto:Fons.Rademakers@cern.ch" target="_blank">Fons.Rademakers@cern.ch</a>              Phone: +41 22 7679248<br>
WWW:    <a href="http://fons.rademakers.org" target="_blank">http://fons.rademakers.org</a>           Fax:   +41 22 7669640<br>
<br>
</div></div><br>_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
<br></blockquote></div><br></div>