[PATCH] D30997: CMake: Add LLVM_DYLIB_SYMBOL_VERSIONING option

Joerg Sonnenberger via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 16 03:46:02 PDT 2017


On Wed, Mar 15, 2017 at 08:19:14PM +0000, Tom Stellard via Phabricator via llvm-commits wrote:
> When apps or other libraries link against a library with symbol
> versions, the version string is recorded in the import table, and used
> at runtime to resolve the symbol back to a library that provides that
> version (vaguely like how two-level namespaces work in Mach-O).  ld's
> --default-symver flag tags every exported symbol with a symbol version
> string equal to the library's soname.  Using --default-symver means
> multiple versions of libLLVM can coexist within the same process, at
> least to the extent that they don't try to pass data between each
> other's llvms.

This only works if all copies are linked with it.

Joerg


More information about the llvm-commits mailing list