[PATCH] D30107: Refactor DynamicLibrary so searching for a symbol will have a defined order and libraries are properly unloaded when llvm_shutdown is called.

Frederich Munch via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 24 11:27:53 PDT 2017


marsupial added a comment.

In https://reviews.llvm.org/D30107#762698, @v.g.vassilev wrote:

> We are doing an upgrade on our internal vendor drop of LLVM and clang.
>
> This patch causes many failures, preventing us from running llvm without custom patches on top. For instance, the symbol resolution seems to be very different (it cannot find symbols which exist in a shared library). The patch is rather big and I am not sure whether it requires couple of changes or it requires a design change.
>
> I think `cling` and ROOT are one of the major users of this code. @lhames would it make sense to revert this patch? I can confirm this is the only blocker for us to move on and reverting it restores our system into green state.
>
> The author has access to `cling` and ROOT and maybe it would be easier for him to debug it in that context.


Symbol resolution is purposely different, as prior library search order was totally undefined which lead to serious problems (for **cling** in particular), see the //**Summary**//.
Do you have more information or a test demonstrating the failure?

I'd really like to make sure that these issues aren't easily fixed or relying on prior behavior which was poorly defined before reversion.


Repository:
  rL LLVM

https://reviews.llvm.org/D30107





More information about the llvm-commits mailing list