[Lldb-commits] [lldb] [lldb][windows] Export dwarf plugin symbols in LLDB_EXPORT_ALL_SYMBOLS (PR #71087)
River Riddle via lldb-commits
lldb-commits at lists.llvm.org
Thu Nov 2 11:20:13 PDT 2023
https://github.com/River707 created https://github.com/llvm/llvm-project/pull/71087
These are already exported in non-windows builds, they aren't in the msvc path because we explicitly limit the symbols exported to prevent hitting the symbol export limit.
These symbols are useful for downstream projects that want to utilize code within the dwarf plugin. The Mojo language uses these to implement dwarf handling within its debugger plugin.
>From 105284ac2924a83655fafb6c8c7896bd247aee24 Mon Sep 17 00:00:00 2001
From: River Riddle <riddleriver at gmail.com>
Date: Thu, 2 Nov 2023 11:12:18 -0700
Subject: [PATCH] [lldb][windows] Export dwarf plugin symbols in
LLDB_EXPORT_ALL_SYMBOLS
These are already exported in non-windows builds, they aren't
in the msvc path because we explicitly limit the symbols exported
to prevent hitting the symbol export limit.
These symbols are useful for downstream projects that want to
utilize code within the dwarf plugin. The Mojo language uses these
to implement dwarf handling within its debugger plugin.
---
lldb/source/API/CMakeLists.txt | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/lldb/source/API/CMakeLists.txt b/lldb/source/API/CMakeLists.txt
index 895c6221a8073cf..76e6caceb392303 100644
--- a/lldb/source/API/CMakeLists.txt
+++ b/lldb/source/API/CMakeLists.txt
@@ -196,13 +196,15 @@ elseif (LLDB_EXPORT_ALL_SYMBOLS)
MESSAGE("-- Symbols (liblldb): exporting all symbols from the lldb and lldb_private namespaces")
# Pull out the various lldb libraries linked into liblldb, these will be used
- # when looking for symbols to extract. We ignore plugin libraries here,
- # because these symbols aren't publicly exposed.
+ # when looking for symbols to extract. We ignore most plugin libraries here,
+ # because we may expose more symbols than the DLL limit and these symbols
+ # aren't useful to expose.
get_target_property(all_liblldb_libs liblldb LINK_LIBRARIES)
set(lldb_libs "")
foreach(lib ${all_liblldb_libs})
if(TARGET ${lib} AND ${lib} MATCHES "^lldb" AND
- NOT ${lib} MATCHES "^lldbPlugin")
+ (${lib} MATCHES "^lldbPluginSymbolFileDWARF" OR
+ NOT ${lib} MATCHES "^lldbPlugin"))
get_target_property(lib_type ${lib} TYPE)
if("${lib_type}" STREQUAL "STATIC_LIBRARY")
list(APPEND lldb_libs ${lib})
More information about the lldb-commits
mailing list