[PATCH] D102090: [CMake][ELF] Add -fno-semantic-interposition and -Bsymbolic-functions
Petr Hosek via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri May 7 14:08:21 PDT 2021
phosek requested changes to this revision.
phosek added inline comments.
This revision now requires changes to proceed.
================
Comment at: llvm/cmake/modules/HandleLLVMOptions.cmake:243
+if(${CMAKE_SYSTEM_NAME} MATCHES "DragonFly|FreeBSD|Fuchsia|Linux|NetBSD|OpenBSD")
+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-Bsymbolic-functions")
+endif()
----------------
MaskRay wrote:
> phosek wrote:
> > I'd really like to avoid modifying `CMAKE_SHARED_LINKER_FLAGS`, modifying these global variables is an antipattern in modern CMake. We should always set these directly on the targets that need them. What's the problem with the approach you used in the first patch?
> With this, we can make libLLVM*.so libclang*.so (-DBUILD_SHARED_LIBS=on) and other lib*.so faster as well.
I'd prefer to setting that flag inside `add_llvm_library` and `add_clang_library` when `SHARED` is set. `HandleLLVMOptions` is also used from runtimes where setting this flag is really undesirable (that's why using global variables is really problematic).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D102090/new/
https://reviews.llvm.org/D102090
More information about the cfe-commits
mailing list