road blocks in support shared library of llvm

I am using llvm for a jit engine in a large project, in which multiple shared library modules link against llvm. Since llvm is recommended as a static library, this leads to shared library symbol conflicts, leading to llvm assertions in some global table look up or insertion during the shared library loading time. That forced me to hide all llvm symbols during the link time.