[all-commits] [llvm/llvm-project] cdbe28: [LLDB] Set and verify paths of properties from tab...

Nerixyz via All-commits all-commits at lists.llvm.org
Tue Feb 10 10:43:50 PST 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: cdbe28887bc9b4740f990dd5b3d8a86e9b14c131
      https://github.com/llvm/llvm-project/commit/cdbe28887bc9b4740f990dd5b3d8a86e9b14c131
  Author: Nerixyz <nerixdev at outlook.de>
  Date:   2026-02-10 (Tue, 10 Feb 2026)

  Changed paths:
    M lldb/include/lldb/Core/PropertiesBase.td
    M lldb/include/lldb/Interpreter/OptionValueProperties.h
    M lldb/include/lldb/Interpreter/Property.h
    M lldb/source/Core/CoreProperties.td
    M lldb/source/Core/Debugger.cpp
    M lldb/source/Core/ModuleList.cpp
    M lldb/source/Core/PluginManager.cpp
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/source/Interpreter/InterpreterProperties.td
    M lldb/source/Interpreter/OptionValueProperties.cpp
    M lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp
    M lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernelProperties.td
    M lldb/source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp
    M lldb/source/Plugins/JITLoader/GDB/JITLoaderGDBProperties.td
    M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LanguageCPlusPlusProperties.td
    M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
    M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFFProperties.td
    M lldb/source/Plugins/Platform/Android/PlatformAndroid.cpp
    M lldb/source/Plugins/Platform/Android/PlatformAndroidProperties.td
    M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
    M lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp
    M lldb/source/Plugins/Platform/MacOSX/PlatformMacOSXProperties.td
    M lldb/source/Plugins/Platform/QemuUser/PlatformQemuUser.cpp
    M lldb/source/Plugins/Platform/QemuUser/PlatformQemuUserProperties.td
    M lldb/source/Plugins/Platform/WebAssembly/PlatformWasm.cpp
    M lldb/source/Plugins/Platform/WebAssembly/PlatformWasmProperties.td
    M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
    M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDPProperties.td
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemoteProperties.td
    M lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.cpp
    M lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLogProperties.td
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFProperties.td
    M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
    M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDBProperties.td
    M lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfod.cpp
    M lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfodProperties.td
    M lldb/source/Plugins/Trace/intel-pt/TraceIntelPT.cpp
    M lldb/source/Plugins/Trace/intel-pt/TraceIntelPTProperties.td
    M lldb/source/Target/Language.cpp
    M lldb/source/Target/Platform.cpp
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/Target.cpp
    M lldb/source/Target/TargetProperties.td
    M lldb/source/Target/Thread.cpp
    M lldb/utils/TableGen/LLDBPropertyDefEmitter.cpp

  Log Message:
  -----------
  [LLDB] Set and verify paths of properties from tablegen (#179524)

In #168245, I attempted to dump the available settings to Markdown. That
required a full build of LLDB. However, to build the docs, only the swig
wrappers should need to be compiled. The comment was that we should be
able to use the definitions from the TableGen files.

Currently, the property definitions in don't have information about the
path where they will be available. They only contain a `Definition`
which groups properties, so they can be added to
`OptionValueProperties`.

With this PR, I'm adding the path for each property definition. For
example, `symbols.enable-external-lookup` would have `Name =
enable-external-lookup, Path = symbols`. In LLDB itself, we don't need
this path, we only need it for the documentation. To avoid mismatches
between the actual path and the declared one, I added a debug-only check
when a property group is added to a parent
(`OptionValueProperties::AppendProperty`).

The TableGen emitter for the properties now additionally emits
`g_{definition}_properties_def`, which includes both the array of
properties and the expected path. This constant has to be used to
initialize a `OptionValueProperties`.

I couldn't test this for everything (e.g. IntelPT or ProcessKDP), but
the necessary changes are simple: (1) set the `Path` in the TableGen
file, (2) update `initialize` to use `_def`.



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