[PATCH] D102090: [CMake][ELF] Add -fno-semantic-interposition and -Bsymbolic-functions
Fangrui Song via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri May 7 14:10:05 PDT 2021
MaskRay marked an inline comment as done.
MaskRay added inline comments.
================
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()
----------------
phosek wrote:
> 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).
`add_llvm_library` and `add_clang_library` may be used by downstream projects which don't want -Bsymbolic-functions.
Switched back. I'll just not touch -DBUILD_SHARED_LIBS=on for now.
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