[all-commits] [llvm/llvm-project] 119e57: [lldb] Build liblldb exports from script-interpret...

Jonas Devlieghere via All-commits all-commits at lists.llvm.org
Thu Jun 4 09:59:41 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 119e57630281e246d858717f8e331772b01f2908
      https://github.com/llvm/llvm-project/commit/119e57630281e246d858717f8e331772b01f2908
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-06-04 (Thu, 04 Jun 2026)

  Changed paths:
    M lldb/cmake/modules/AddLLDB.cmake
    A lldb/cmake/modules/LLDBConcatFiles.cmake
    A lldb/scripts/extract-dynamic-script-interpreter-exports.py
    M lldb/source/API/CMakeLists.txt
    M lldb/source/Plugins/ScriptInterpreter/Lua/CMakeLists.txt
    M lldb/source/Plugins/ScriptInterpreter/Python/CMakeLists.txt
    M llvm/cmake/modules/AddLLVM.cmake

  Log Message:
  -----------
  [lldb] Build liblldb exports from script-interpreter imports (#201392)

With LLDB_ENABLE_DYNAMIC_SCRIPTINTERPRETERS, the script interpreter
plugins are built as standalone shared libraries that resolve their
lldb_private/llvm references through liblldb's re-exports. liblldb was
falling back to liblldb-private.exports, which allowlists the
lldb_private/llvm namespaces wholesale.

Generate the export list per build instead. For each plugin, run llvm-nm
on its compiled objects, keep undefined references in namespaces liblldb
owns, subtract the plugin's own definitions, and concatenate the
per-plugin lists with liblldb.exports.

The plugin's SHARED target LINK_LIBS liblldb, which makes the plugin's
compile order depend on liblldb. Wiring the exports file in via
add_llvm_symbol_exports' built-in target dependency would form a cycle
through that order-only edge. Add NO_TARGET_DEPENDENCY to
add_llvm_symbol_exports so we can apply the file via LINK_DEPENDS alone;
that still triggers a relink when the symbol set changes, without
participating in compile-order tracking.

Windows is unchanged: msvc_extract_private_symbols.py was already doing
per-symbol extraction at namespace granularity.

Assisted-by: Claude



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list