tfiala added a comment.

In https://reviews.llvm.org/D26093#582395, @labath wrote:

> I am a bit surprised that this fixes the problem. I would have expected that 
> the problem would occur in case when we *do* restrict exports,


This matches my expectations.  When I was using the flag the exported all 
symbols indiscriminately from liblldb.so, it meant that the llvm symbols for 
the copy inside liblldb.so were public and known.  That public element allows 
the dynamic linker to coalesce the data storage locations with the ones for the 
llvm in lldb-mi.  Hiding them (as per the normal case, when we only export the 
'lldb' public namespace) prevents the dynamic linker from doing the coalesce.

as in that case, it is much easier to pull in copies of stuff twice. I wonder 
if in this case we could actually avoid having two copies of llvm.

> What would happen if you just remove the call to llvm_config in lldb-mi's 
> CMakeLists.txt. Will you get some unresolved symbols?
> 
> Adding @beanz, in case he has some ideas.


https://reviews.llvm.org/D26093



_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to