[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