[clang] [lldb] [llvm] [cmake] Build executables with -no_exported_symbols when building Apple toolchain (PR #87684)

Dave Lee via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 5 14:54:09 PDT 2024


================
@@ -1029,6 +1038,16 @@ macro(add_llvm_executable name)
     add_llvm_symbol_exports( ${name} ${LLVM_EXPORTED_SYMBOL_FILE} )
   endif(LLVM_EXPORTED_SYMBOL_FILE)
 
+  if (NOT LLVM_ENABLE_EXPORTED_SYMBOLS_IN_EXECUTABLES) 
+    if(LLVM_LINKER_SUPPORTS_NO_EXPORTED_SYMBOLS)
+      set_property(TARGET ${name} APPEND_STRING PROPERTY
+        LINK_FLAGS " -Wl,-no_exported_symbols")
+    else()
+      message(FATAL_ERROR 
+        "LLVM_ENABLE_EXPORTED_SYMBOLS_IN_EXECUTABLES cannot be disabled when linker does not support \"-no_exported_symbols\"")
----------------
kastiglione wrote:

Prior to the addition of `-no_exported_symbols`, I used to use `-Wl,-exported_symbols_list,/dev/null` to achieve the same thing. That could be a fallback, if anyone is motivated.

https://github.com/llvm/llvm-project/pull/87684


More information about the llvm-commits mailing list