[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