[all-commits] [llvm/llvm-project] a514c3: [lldb] Add windows support for LLDB_EXPORT_ALL_SYM...

River Riddle via All-commits all-commits at lists.llvm.org
Fri Sep 29 10:33:24 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a514c30a7cf6ea99e5398b695601235b41a43939
      https://github.com/llvm/llvm-project/commit/a514c30a7cf6ea99e5398b695601235b41a43939
  Author: River Riddle <riddleriver at gmail.com>
  Date:   2023-09-29 (Fri, 29 Sep 2023)

  Changed paths:
    M lldb/cmake/modules/LLDBConfig.cmake
    A lldb/scripts/msvc_extract_private_symbols.py
    M lldb/source/API/CMakeLists.txt

  Log Message:
  -----------
  [lldb] Add windows support for LLDB_EXPORT_ALL_SYMBOLS (#67628)

LLDB_EXPORT_ALL_SYMBOLS is useful when building out-of-tree plugins and
extensions that rely on LLDB's internal symbols. For example, this is
how the Mojo language provides its REPL and debugger support.

Supporting this on windows is kind of tricky because this is normally
expected to be done using dllexport/dllimport, but lldb uses these with
the public api. This PR takes an approach similar to what LLVM does with
LLVM_EXPORT_SYMBOLS_FOR_PLUGINS, and what chromium does for
[abseil](https://github.com/chromium/chromium/blob/253d14e20fdc0cab05e5516770dceca18f9bddaf/third_party/abseil-cpp/generate_def_files.py),
and uses a python script to extract the necessary symbols by looking at
the symbol table for the various lldb libraries.




More information about the All-commits mailing list