[Lldb-commits] [lldb] [llvm] DEBUGINFOD based DWP acquisition for LLDB (PR #70996)

2023-11-01 Thread Alex Langford via lldb-commits
@@ -4892,6 +4894,21 @@ void TargetProperties::SetDebugUtilityExpression(bool debug) { SetPropertyAtIndex(idx, debug); } +Args TargetProperties::GetDebugInfoDURLs() const { + Args urls; + m_collection_sp->GetPropertyAtIndexAsArgs(ePropertyDebugInfoDURLs, urls); + return u

[Lldb-commits] [lldb] [llvm] DEBUGINFOD based DWP acquisition for LLDB (PR #70996)

2023-11-01 Thread Alex Langford via lldb-commits
@@ -396,8 +398,22 @@ Symbols::LocateExecutableSymbolFile(const ModuleSpec &module_spec, } } } - - return LocateExecutableSymbolFileDsym(module_spec); + FileSpec dsym_bundle = LocateExecutableSymbolFileDsym(module_spec); + if (dsym_bundle) +return dsym_bundle

[Lldb-commits] [lldb] [llvm] DEBUGINFOD based DWP acquisition for LLDB (PR #70996)

2023-11-01 Thread Alex Langford via lldb-commits
@@ -396,8 +398,22 @@ Symbols::LocateExecutableSymbolFile(const ModuleSpec &module_spec, } } } - - return LocateExecutableSymbolFileDsym(module_spec); + FileSpec dsym_bundle = LocateExecutableSymbolFileDsym(module_spec); + if (dsym_bundle) +return dsym_bundle

[Lldb-commits] [llvm] [lldb] DEBUGINFOD based DWP acquisition for LLDB (PR #70996)

2023-11-01 Thread Alex Langford via lldb-commits
@@ -48,6 +48,7 @@ add_lldb_library(lldbSymbol NO_PLUGIN_DEPENDENCIES lldbHost lldbTarget lldbUtility +LLVMDebuginfod bulbazord wrote: Should this be in `LINK_COMPONENTS`? https://github.com/llvm/llvm-project/pull/70996

[Lldb-commits] [lldb] Add the ability to define a Python based command that uses CommandObjectParsed (PR #70734)

2023-11-01 Thread Alex Langford via lldb-commits
https://github.com/bulbazord edited https://github.com/llvm/llvm-project/pull/70734 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] Add the ability to define a Python based command that uses CommandObjectParsed (PR #70734)

2023-11-01 Thread Alex Langford via lldb-commits
@@ -831,6 +831,37 @@ bool lldb_private::python::SWIGBridge::LLDBSwigPythonCallCommandObject( return true; } +bool lldb_private::python::SWIGBridge::LLDBSwigPythonCallParsedCommandObject( +PyObject *implementor, lldb::DebuggerSP debugger, lldb_private::StructuredDataImp

[Lldb-commits] [lldb] Add the ability to define a Python based command that uses CommandObjectParsed (PR #70734)

2023-11-01 Thread Alex Langford via lldb-commits
@@ -0,0 +1,315 @@ +""" +This module implements a couple of utility classes to make writing +lldb parsed commands more Pythonic. +The way to use it is to make a class for you command that inherits from ParsedCommandBase. +That will make an LLDBOVParser which you will use for your

[Lldb-commits] [lldb] Add the ability to define a Python based command that uses CommandObjectParsed (PR #70734)

2023-11-01 Thread Alex Langford via lldb-commits
@@ -0,0 +1,315 @@ +""" +This module implements a couple of utility classes to make writing +lldb parsed commands more Pythonic. +The way to use it is to make a class for you command that inherits from ParsedCommandBase. +That will make an LLDBOVParser which you will use for your

[Lldb-commits] [lldb] Add the ability to define a Python based command that uses CommandObjectParsed (PR #70734)

2023-11-01 Thread Alex Langford via lldb-commits
@@ -0,0 +1,315 @@ +""" +This module implements a couple of utility classes to make writing +lldb parsed commands more Pythonic. +The way to use it is to make a class for you command that inherits from ParsedCommandBase. +That will make an LLDBOVParser which you will use for your

[Lldb-commits] [lldb] Add the ability to define a Python based command that uses CommandObjectParsed (PR #70734)

2023-11-01 Thread Alex Langford via lldb-commits
https://github.com/bulbazord commented: I did an initial pass over your patch but I didn't read the python tests yet https://github.com/llvm/llvm-project/pull/70734 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bi

[Lldb-commits] [lldb] Add the ability to define a Python based command that uses CommandObjectParsed (PR #70734)

2023-11-01 Thread Alex Langford via lldb-commits
@@ -831,6 +831,37 @@ bool lldb_private::python::SWIGBridge::LLDBSwigPythonCallCommandObject( return true; } +bool lldb_private::python::SWIGBridge::LLDBSwigPythonCallParsedCommandObject( +PyObject *implementor, lldb::DebuggerSP debugger, lldb_private::StructuredDataImp

[Lldb-commits] [lldb] Add the ability to define a Python based command that uses CommandObjectParsed (PR #70734)

2023-11-01 Thread Alex Langford via lldb-commits
@@ -831,6 +831,37 @@ bool lldb_private::python::SWIGBridge::LLDBSwigPythonCallCommandObject( return true; } +bool lldb_private::python::SWIGBridge::LLDBSwigPythonCallParsedCommandObject( +PyObject *implementor, lldb::DebuggerSP debugger, lldb_private::StructuredDataImp

[Lldb-commits] [lldb] Add the ability to define a Python based command that uses CommandObjectParsed (PR #70734)

2023-11-01 Thread Alex Langford via lldb-commits
@@ -0,0 +1,315 @@ +""" +This module implements a couple of utility classes to make writing +lldb parsed commands more Pythonic. +The way to use it is to make a class for you command that inherits from ParsedCommandBase. +That will make an LLDBOVParser which you will use for your

[Lldb-commits] [lldb] Add the ability to define a Python based command that uses CommandObjectParsed (PR #70734)

2023-11-01 Thread Alex Langford via lldb-commits
@@ -831,6 +831,37 @@ bool lldb_private::python::SWIGBridge::LLDBSwigPythonCallCommandObject( return true; } +bool lldb_private::python::SWIGBridge::LLDBSwigPythonCallParsedCommandObject( +PyObject *implementor, lldb::DebuggerSP debugger, lldb_private::StructuredDataImp

[Lldb-commits] [lldb] Add the ability to define a Python based command that uses CommandObjectParsed (PR #70734)

2023-11-01 Thread Alex Langford via lldb-commits
@@ -0,0 +1,315 @@ +""" +This module implements a couple of utility classes to make writing +lldb parsed commands more Pythonic. +The way to use it is to make a class for you command that inherits from ParsedCommandBase. bulbazord wrote: ```suggestion The way to

[Lldb-commits] [lldb] Add the ability to define a Python based command that uses CommandObjectParsed (PR #70734)

2023-11-01 Thread Alex Langford via lldb-commits
@@ -0,0 +1,315 @@ +""" +This module implements a couple of utility classes to make writing +lldb parsed commands more Pythonic. +The way to use it is to make a class for you command that inherits from ParsedCommandBase. +That will make an LLDBOVParser which you will use for your

[Lldb-commits] [lldb] Add the ability to define a Python based command that uses CommandObjectParsed (PR #70734)

2023-11-01 Thread Alex Langford via lldb-commits
@@ -831,6 +831,37 @@ bool lldb_private::python::SWIGBridge::LLDBSwigPythonCallCommandObject( return true; } +bool lldb_private::python::SWIGBridge::LLDBSwigPythonCallParsedCommandObject( +PyObject *implementor, lldb::DebuggerSP debugger, lldb_private::StructuredDataImp

[Lldb-commits] [lldb] Add the ability to define a Python based command that uses CommandObjectParsed (PR #70734)

2023-11-01 Thread Alex Langford via lldb-commits
@@ -0,0 +1,315 @@ +""" +This module implements a couple of utility classes to make writing +lldb parsed commands more Pythonic. +The way to use it is to make a class for you command that inherits from ParsedCommandBase. +That will make an LLDBOVParser which you will use for your

[Lldb-commits] [lldb] Add the ability to define a Python based command that uses CommandObjectParsed (PR #70734)

2023-11-01 Thread Alex Langford via lldb-commits
@@ -0,0 +1,315 @@ +""" +This module implements a couple of utility classes to make writing +lldb parsed commands more Pythonic. +The way to use it is to make a class for you command that inherits from ParsedCommandBase. +That will make an LLDBOVParser which you will use for your

[Lldb-commits] [lldb] Add the ability to define a Python based command that uses CommandObjectParsed (PR #70734)

2023-11-01 Thread Alex Langford via lldb-commits
@@ -96,7 +96,8 @@ function(finish_swig_python swig_target lldb_python_bindings_dir lldb_python_tar ${lldb_python_target_dir} "utils" FILES "${LLDB_SOURCE_DIR}/examples/python/in_call_stack.py" - "${LLDB_SOURCE_DIR}/examples/python/symbolication.py") +

[Lldb-commits] [lldb] Add the ability to define a Python based command that uses CommandObjectParsed (PR #70734)

2023-11-01 Thread Alex Langford via lldb-commits
@@ -0,0 +1,315 @@ +""" +This module implements a couple of utility classes to make writing +lldb parsed commands more Pythonic. +The way to use it is to make a class for you command that inherits from ParsedCommandBase. +That will make an LLDBOVParser which you will use for your

[Lldb-commits] [lldb] Add the ability to define a Python based command that uses CommandObjectParsed (PR #70734)

2023-11-01 Thread Alex Langford via lldb-commits
@@ -0,0 +1,315 @@ +""" +This module implements a couple of utility classes to make writing +lldb parsed commands more Pythonic. +The way to use it is to make a class for you command that inherits from ParsedCommandBase. +That will make an LLDBOVParser which you will use for your

[Lldb-commits] [lldb] Add the ability to define a Python based command that uses CommandObjectParsed (PR #70734)

2023-11-01 Thread Alex Langford via lldb-commits
@@ -0,0 +1,315 @@ +""" +This module implements a couple of utility classes to make writing +lldb parsed commands more Pythonic. +The way to use it is to make a class for you command that inherits from ParsedCommandBase. +That will make an LLDBOVParser which you will use for your

[Lldb-commits] [lldb] [lldb][split-dwarf] Add --errors-only argument separate-debug-info list (PR #71000)

2023-11-02 Thread Alex Langford via lldb-commits
@@ -445,7 +445,11 @@ class SymbolFile : public PluginInterface { /// contains the keys "type", "symfile", and "separate-debug-info-files". /// "type" can be used to assume the structure of each object in /// "separate-debug-info-files". - virtual bool GetSepa

[Lldb-commits] [lldb] [lldb][split-dwarf] Add --errors-only argument separate-debug-info list (PR #71000)

2023-11-02 Thread Alex Langford via lldb-commits
@@ -445,7 +445,11 @@ class SymbolFile : public PluginInterface { /// contains the keys "type", "symfile", and "separate-debug-info-files". /// "type" can be used to assume the structure of each object in /// "separate-debug-info-files". - virtual bool GetSepa

[Lldb-commits] [lldb] [lldb][windows] Export dwarf plugin symbols in LLDB_EXPORT_ALL_SYMBOLS (PR #71087)

2023-11-02 Thread Alex Langford via lldb-commits
https://github.com/bulbazord requested changes to this pull request. https://github.com/llvm/llvm-project/pull/71087 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb][windows] Export dwarf plugin symbols in LLDB_EXPORT_ALL_SYMBOLS (PR #71087)

2023-11-02 Thread Alex Langford via lldb-commits
https://github.com/bulbazord edited https://github.com/llvm/llvm-project/pull/71087 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb][windows] Export dwarf plugin symbols in LLDB_EXPORT_ALL_SYMBOLS (PR #71087)

2023-11-02 Thread Alex Langford via lldb-commits
@@ -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.

[Lldb-commits] [lldb] [lldb][windows] Export dwarf plugin symbols in LLDB_EXPORT_ALL_SYMBOLS (PR #71087)

2023-11-02 Thread Alex Langford via lldb-commits
https://github.com/bulbazord approved this pull request. Thanks! https://github.com/llvm/llvm-project/pull/71087 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb] Convert LocateSymbolFile into a plugin (PR #71151)

2023-11-03 Thread Alex Langford via lldb-commits
https://github.com/bulbazord edited https://github.com/llvm/llvm-project/pull/71151 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb] Convert LocateSymbolFile into a plugin (PR #71151)

2023-11-03 Thread Alex Langford via lldb-commits
https://github.com/bulbazord approved this pull request. LGTM, all my comments were minor things I noticed. Thanks for doing this! https://github.com/llvm/llvm-project/pull/71151 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.l

[Lldb-commits] [lldb] [lldb] Convert LocateSymbolFile into a plugin (PR #71151)

2023-11-03 Thread Alex Langford via lldb-commits
@@ -0,0 +1,45 @@ +//===-- SymbolLocatorDebugSymbols.h --*- C++ +//-*-===// bulbazord wrote: Formatting https://github.com/llvm/llvm-project/pull/71151 ___ lldb-commits mailing list lldb-

[Lldb-commits] [lldb] [lldb] Convert LocateSymbolFile into a plugin (PR #71151)

2023-11-03 Thread Alex Langford via lldb-commits
@@ -0,0 +1,91 @@ +//===-- SymbolLocatorDefault.cpp +//--===// bulbazord wrote: Formatting https://github.com/llvm/llvm-project/pull/71151 ___ lldb-commits mailing list lldb-c

[Lldb-commits] [lldb] [lldb] Convert LocateSymbolFile into a plugin (PR #71151)

2023-11-03 Thread Alex Langford via lldb-commits
@@ -0,0 +1,328 @@ +//===-- SymbolLocatorDebugSymbols.cpp +//--===// bulbazord wrote: Formatting https://github.com/llvm/llvm-project/pull/71151 ___ lldb-commits mailing list

[Lldb-commits] [lldb] [lldb] Convert LocateSymbolFile into a plugin (PR #71151)

2023-11-03 Thread Alex Langford via lldb-commits
@@ -0,0 +1,23 @@ +//===-- SymbolLocator.h -*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apa

[Lldb-commits] [lldb] Strip authentication bits from vtable load address (PR #71128)

2023-11-03 Thread Alex Langford via lldb-commits
https://github.com/bulbazord approved this pull request. https://github.com/llvm/llvm-project/pull/71128 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb] Deprecate SBBreakpoint::AddName in favor of AddNameWithErrorHandling (PR #71228)

2023-11-03 Thread Alex Langford via lldb-commits
https://github.com/bulbazord created https://github.com/llvm/llvm-project/pull/71228 AddName gives no feedback other than if it succeeded whereas AddNameWithErrorHandling gives you back an SBError object. I would like to mark AddName as deprecated and direct folks to use AddNameWithErorrHandli

[Lldb-commits] [lldb] [lldb] Deprecate SBBreakpoint::AddName in favor of AddNameWithErrorHandling (PR #71228)

2023-11-03 Thread Alex Langford via lldb-commits
https://github.com/bulbazord updated https://github.com/llvm/llvm-project/pull/71228 >From e1e99bdf51d559aa9c96cfd733f12b35e8db7728 Mon Sep 17 00:00:00 2001 From: Alex Langford Date: Fri, 3 Nov 2023 13:24:27 -0700 Subject: [PATCH 1/2] [lldb] Deprecate SBBreakpoint::AddName in favor of AddNameW

[Lldb-commits] [lldb] [lldb] Deprecate SBBreakpoint::AddName in favor of AddNameWithErrorHandling (PR #71228)

2023-11-03 Thread Alex Langford via lldb-commits
https://github.com/bulbazord updated https://github.com/llvm/llvm-project/pull/71228 >From e1e99bdf51d559aa9c96cfd733f12b35e8db7728 Mon Sep 17 00:00:00 2001 From: Alex Langford Date: Fri, 3 Nov 2023 13:24:27 -0700 Subject: [PATCH 1/3] [lldb] Deprecate SBBreakpoint::AddName in favor of AddNameW

[Lldb-commits] [lldb] [lldb] Change Breakpoint::AddName return value (PR #71236)

2023-11-03 Thread Alex Langford via lldb-commits
https://github.com/bulbazord created https://github.com/llvm/llvm-project/pull/71236 The return value is completely unused. Let's just return nothing. >From 1077476df553c21a88b1cbb80f7fc8635c88ff7f Mon Sep 17 00:00:00 2001 From: Alex Langford Date: Fri, 3 Nov 2023 14:37:07 -0700 Subject: [PATC

[Lldb-commits] [lldb] [lldb] Change Breakpoint::AddName return value (PR #71236)

2023-11-03 Thread Alex Langford via lldb-commits
bulbazord wrote: I'll just remove the comment. If we want to make this do error checking, we'll have to shuffle around even more code than this change does right now. I wanted to mostly get rid of this piece of cognitive overhead (why does this return something and why do we drop it on the flo

[Lldb-commits] [lldb] [lldb][NFCI] Change parameter type in Target::AddNameToBreakpoint (PR #71241)

2023-11-03 Thread Alex Langford via lldb-commits
https://github.com/bulbazord created https://github.com/llvm/llvm-project/pull/71241 By itself this change does very little, but I plan on refactoring something from StructuredData and it gets much easier with this change. >From 70ca8af7794b1de998ec3b0145d3e94daac3358e Mon Sep 17 00:00:00 2001

[Lldb-commits] [lldb] [lldb] Change Breakpoint::AddName return value (PR #71236)

2023-11-03 Thread Alex Langford via lldb-commits
https://github.com/bulbazord updated https://github.com/llvm/llvm-project/pull/71236 >From 1077476df553c21a88b1cbb80f7fc8635c88ff7f Mon Sep 17 00:00:00 2001 From: Alex Langford Date: Fri, 3 Nov 2023 14:37:07 -0700 Subject: [PATCH 1/2] [lldb] Change Breakpoint::AddName return value The return v

[Lldb-commits] [lldb] [lldb] Move FindSymbolFileInBundle to SymbolLocator plugin (PR #71247)

2023-11-03 Thread Alex Langford via lldb-commits
https://github.com/bulbazord approved this pull request. Awesome! https://github.com/llvm/llvm-project/pull/71247 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [TraceIntelPT]Migrate to new function template for TraceIntelPT (PR #71258)

2023-11-03 Thread Alex Langford via lldb-commits
https://github.com/bulbazord approved this pull request. LGTM https://github.com/llvm/llvm-project/pull/71258 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb][split-dwarf] implement GetSeparateDebugInfo for SymbolFileOnDemand (PR #71230)

2023-11-03 Thread Alex Langford via lldb-commits
@@ -2691,6 +2691,7 @@ class CommandObjectTargetModulesDumpSeparateDebugInfoFiles "Found unsupported debug info type '%s'.\n", type.str().c_str()); } + strm.EOL(); bulbazord wrote: This change l

[Lldb-commits] [lldb] [lldb][split-dwarf] implement GetSeparateDebugInfo for SymbolFileOnDemand (PR #71230)

2023-11-03 Thread Alex Langford via lldb-commits
@@ -130,3 +130,29 @@ def test_dwos_not_loaded_table_output(self): "0x[a-zA-Z0-9]{16}\s+E\s+.*foo\.dwo", ], ) + +@skipIfRemote +@skipIfDarwin +@skipIfWindows bulbazord wrote: This test doesn't actually debug a pro

[Lldb-commits] [lldb] [lldb] Check for abstract methods implementation in Scripted Plugin Objects (PR #71260)

2023-11-03 Thread Alex Langford via lldb-commits
@@ -28,6 +28,10 @@ class ScriptedProcessInterface : virtual public ScriptedInterface { return {llvm::make_error()}; } + llvm::SmallVector GetAbstractMethods() const override { +return {}; + } bulbazord wrote: Same here https://github.com/llvm/ll

[Lldb-commits] [lldb] [lldb] Check for abstract methods implementation in Scripted Plugin Objects (PR #71260)

2023-11-03 Thread Alex Langford via lldb-commits
@@ -26,6 +26,10 @@ class ScriptedPlatformInterface : virtual public ScriptedInterface { return {llvm::make_error()}; } + llvm::SmallVector GetAbstractMethods() const override { +return {}; + } bulbazord wrote: I don't think we should implement th

[Lldb-commits] [lldb] [lldb] Check for abstract methods implementation in Scripted Plugin Objects (PR #71260)

2023-11-03 Thread Alex Langford via lldb-commits
@@ -103,24 +139,79 @@ class ScriptedPythonInterface : virtual public ScriptedInterface { "Resulting object is not initialized."); std::apply( - [&method, &expected_return_object](auto &&...args) { + [&init, &expected_r

[Lldb-commits] [lldb] [lldb] Check for abstract methods implementation in Scripted Plugin Objects (PR #71260)

2023-11-03 Thread Alex Langford via lldb-commits
@@ -103,24 +139,79 @@ class ScriptedPythonInterface : virtual public ScriptedInterface { "Resulting object is not initialized."); std::apply( - [&method, &expected_return_object](auto &&...args) { + [&init, &expected_r

[Lldb-commits] [lldb] [lldb] Check for abstract methods implementation in Scripted Plugin Objects (PR #71260)

2023-11-03 Thread Alex Langford via lldb-commits
@@ -32,6 +32,42 @@ class ScriptedPythonInterface : virtual public ScriptedInterface { ScriptedPythonInterface(ScriptInterpreterPythonImpl &interpreter); ~ScriptedPythonInterface() override = default; + enum class AbstractMethodCheckerCases { +eNotImplemented, +eN

[Lldb-commits] [lldb] [lldb] Check for abstract methods implementation in Scripted Plugin Objects (PR #71260)

2023-11-03 Thread Alex Langford via lldb-commits
@@ -103,24 +139,79 @@ class ScriptedPythonInterface : virtual public ScriptedInterface { "Resulting object is not initialized."); std::apply( - [&method, &expected_return_object](auto &&...args) { + [&init, &expected_r

[Lldb-commits] [lldb] [lldb] Check for abstract methods implementation in Scripted Plugin Objects (PR #71260)

2023-11-03 Thread Alex Langford via lldb-commits
@@ -663,6 +663,18 @@ bool PythonDictionary::Check(PyObject *py_obj) { return PyDict_Check(py_obj); } +bool PythonDictionary::HasKey(const llvm::Twine &key) const { bulbazord wrote: Why a `Twine` and not a `StringRef`? https://github.com/llvm/llvm-project/p

[Lldb-commits] [lldb] [lldb] Check for abstract methods implementation in Scripted Plugin Objects (PR #71260)

2023-11-03 Thread Alex Langford via lldb-commits
@@ -32,6 +32,42 @@ class ScriptedPythonInterface : virtual public ScriptedInterface { ScriptedPythonInterface(ScriptInterpreterPythonImpl &interpreter); ~ScriptedPythonInterface() override = default; + enum class AbstractMethodCheckerCases { +eNotImplemented, +eN

[Lldb-commits] [lldb] [lldb] Check for abstract methods implementation in Scripted Plugin Objects (PR #71260)

2023-11-03 Thread Alex Langford via lldb-commits
@@ -663,6 +663,18 @@ bool PythonDictionary::Check(PyObject *py_obj) { return PyDict_Check(py_obj); } +bool PythonDictionary::HasKey(const llvm::Twine &key) const { + if (!IsValid()) +return false; + PythonString key_object(key.str().data()); bulbazord

[Lldb-commits] [lldb] [lldb] Check for abstract methods implementation in Scripted Plugin Objects (PR #71260)

2023-11-03 Thread Alex Langford via lldb-commits
@@ -103,24 +139,79 @@ class ScriptedPythonInterface : virtual public ScriptedInterface { "Resulting object is not initialized."); std::apply( - [&method, &expected_return_object](auto &&...args) { + [&init, &expected_r

[Lldb-commits] [lldb] [lldb] Check for abstract methods implementation in Scripted Plugin Objects (PR #71260)

2023-11-03 Thread Alex Langford via lldb-commits
@@ -0,0 +1,19 @@ +import os + + +class MissingMethodsScriptedProcess: +def __init__(self, exe_ctx, args): +pass + + +def __lldb_init_module(debugger, dict): +if not "SKIP_SCRIPTED_PROCESS_LAUNCH" in os.environ: bulbazord wrote: Instead of doing th

[Lldb-commits] [lldb] [lldb] Check for abstract methods implementation in Scripted Plugin Objects (PR #71260)

2023-11-03 Thread Alex Langford via lldb-commits
@@ -60,6 +60,52 @@ def move_blueprint_to_dsym(self, blueprint_name): ) shutil.copy(blueprint_origin_path, blueprint_destination_path) +def test_missing_methods_scripted_register_context(self): +"""Test that we only instanciate scripted processes if

[Lldb-commits] [lldb] [lldb] Check for abstract methods implementation in Scripted Plugin Objects (PR #71260)

2023-11-03 Thread Alex Langford via lldb-commits
@@ -27,6 +27,10 @@ class ScriptedThreadInterface : virtual public ScriptedInterface { return {llvm::make_error()}; } + llvm::SmallVector GetAbstractMethods() const override { +return {}; + } bulbazord wrote: Same here https://github.com/llvm/llv

[Lldb-commits] [lldb] [lldb][split-dwarf] implement GetSeparateDebugInfo for SymbolFileOnDemand (PR #71230)

2023-11-03 Thread Alex Langford via lldb-commits
@@ -130,3 +130,29 @@ def test_dwos_not_loaded_table_output(self): "0x[a-zA-Z0-9]{16}\s+E\s+.*foo\.dwo", ], ) + +@skipIfRemote +@skipIfDarwin +@skipIfWindows bulbazord wrote: In that case, we should figure out if

[Lldb-commits] [lldb] [lldb] Move LocateExecutableSymbolFile to SymbolLocator plugin (PR #71266)

2023-11-03 Thread Alex Langford via lldb-commits
https://github.com/bulbazord approved this pull request. 🚢 https://github.com/llvm/llvm-project/pull/71266 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb] Move DownloadObjectAndSymbolFile to SymbolLocator plugin (PR #71267)

2023-11-04 Thread Alex Langford via lldb-commits
https://github.com/bulbazord edited https://github.com/llvm/llvm-project/pull/71267 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb] Move DownloadObjectAndSymbolFile to SymbolLocator plugin (PR #71267)

2023-11-04 Thread Alex Langford via lldb-commits
https://github.com/bulbazord approved this pull request. https://github.com/llvm/llvm-project/pull/71267 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb] Move DownloadObjectAndSymbolFile to SymbolLocator plugin (PR #71267)

2023-11-04 Thread Alex Langford via lldb-commits
@@ -96,6 +96,10 @@ typedef std::optional (*SymbolLocatorFindSymbolFileInBundle)( const FileSpec &dsym_bundle_fspec, const UUID *uuid, const ArchSpec *arch); typedef std::optional (*SymbolLocatorLocateExecutableSymbolFile)( const ModuleSpec &module_spec, const FileSpecL

[Lldb-commits] [lldb] [lldb] Remove LocateSymbolFile (PR #71301)

2023-11-04 Thread Alex Langford via lldb-commits
https://github.com/bulbazord approved this pull request. 🚀 https://github.com/llvm/llvm-project/pull/71301 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb][test] TestVTableValue.py: skip test for older versions of clang (PR #71372)

2023-11-06 Thread Alex Langford via lldb-commits
https://github.com/bulbazord approved this pull request. https://github.com/llvm/llvm-project/pull/71372 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb][split-dwarf] implement GetSeparateDebugInfo for SymbolFileOnDemand (PR #71230)

2023-11-06 Thread Alex Langford via lldb-commits
@@ -130,3 +130,29 @@ def test_dwos_not_loaded_table_output(self): "0x[a-zA-Z0-9]{16}\s+E\s+.*foo\.dwo", ], ) + +@skipIfRemote +@skipIfDarwin +@skipIfWindows bulbazord wrote: The TestDumpOso is good, but I was mor

[Lldb-commits] [lldb] [lldb] Check for abstract methods implementation in Scripted Plugin Objects (PR #71260)

2023-11-06 Thread Alex Langford via lldb-commits
@@ -26,6 +26,10 @@ class ScriptedPlatformInterface : virtual public ScriptedInterface { return {llvm::make_error()}; } + llvm::SmallVector GetAbstractMethods() const override { +return {}; + } bulbazord wrote: This is probably a gap in my underst

[Lldb-commits] [lldb] [lldb] Check for abstract methods implementation in Scripted Plugin Objects (PR #71260)

2023-11-06 Thread Alex Langford via lldb-commits
@@ -60,6 +60,52 @@ def move_blueprint_to_dsym(self, blueprint_name): ) shutil.copy(blueprint_origin_path, blueprint_destination_path) +def test_missing_methods_scripted_register_context(self): +"""Test that we only instanciate scripted processes if

[Lldb-commits] [lldb] [lldb] Check for abstract methods implementation in Scripted Plugin Objects (PR #71260)

2023-11-06 Thread Alex Langford via lldb-commits
@@ -663,6 +663,18 @@ bool PythonDictionary::Check(PyObject *py_obj) { return PyDict_Check(py_obj); } +bool PythonDictionary::HasKey(const llvm::Twine &key) const { bulbazord wrote: You could avoid a potential allocation with the creation of the `PythonStrin

[Lldb-commits] [lldb] [lldb][AArch64][Linux] Add field information for the CPSR register (PR #70300)

2023-11-06 Thread Alex Langford via lldb-commits
@@ -0,0 +1,102 @@ +//===-- RegisterFlagsLinux_arm64.cpp --===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[Lldb-commits] [lldb] [lldb][AArch64][Linux] Add field information for the CPSR register (PR #70300)

2023-11-06 Thread Alex Langford via lldb-commits
@@ -67,6 +70,21 @@ RegisterContextCorePOSIX_arm64::RegisterContextCorePOSIX_arm64( : RegisterContextPOSIX_arm64(thread, std::move(register_info)) { ::memset(&m_sme_pseudo_regs, 0, sizeof(m_sme_pseudo_regs)); + ProcessElfCore *process = + static_cast(thread.GetProc

[Lldb-commits] [lldb] [lldb][AArch64][Linux] Add field information for the CPSR register (PR #70300)

2023-11-06 Thread Alex Langford via lldb-commits
@@ -0,0 +1,77 @@ +//===-- RegisterFlagsLinux_arm64.h --*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apa

[Lldb-commits] [lldb] [lldb] Add template method for getting const or mutable regs from DynamicRegisterInfo (PR #71402)

2023-11-06 Thread Alex Langford via lldb-commits
https://github.com/bulbazord approved this pull request. Works for me. https://github.com/llvm/llvm-project/pull/71402 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb] Add template method for getting const or mutable regs from DynamicRegisterInfo (PR #71402)

2023-11-06 Thread Alex Langford via lldb-commits
https://github.com/bulbazord edited https://github.com/llvm/llvm-project/pull/71402 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb] Add template method for getting const or mutable regs from DynamicRegisterInfo (PR #71402)

2023-11-06 Thread Alex Langford via lldb-commits
@@ -89,12 +89,18 @@ class DynamicRegisterInfo { GetRegisterInfo(llvm::StringRef reg_name) const; typedef std::vector reg_collection; - llvm::iterator_range registers() const { -return llvm::iterator_range(m_regs); + + template T registers(); bulbazo

[Lldb-commits] [lldb] [lldb][NFCI] Change parameter type in Target::AddNameToBreakpoint (PR #71241)

2023-11-06 Thread Alex Langford via lldb-commits
https://github.com/bulbazord closed https://github.com/llvm/llvm-project/pull/71241 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb] Change Breakpoint::AddName return value (PR #71236)

2023-11-06 Thread Alex Langford via lldb-commits
bulbazord wrote: @jimingham Does this work for you? https://github.com/llvm/llvm-project/pull/71236 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb] Check for abstract methods implementation in Scripted Plugin Objects (PR #71260)

2023-11-06 Thread Alex Langford via lldb-commits
https://github.com/bulbazord approved this pull request. I'm on board https://github.com/llvm/llvm-project/pull/71260 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb/Interpreter] Make Scripted*Interface base class abstract (PR #71465)

2023-11-06 Thread Alex Langford via lldb-commits
https://github.com/bulbazord approved this pull request. This more closely matches my intuition for how I would expect this inheritance hierarchy to be set up. If I wanted to add `ScriptedLuaProcessInterface` (as an example), what would I need to do? https://github.com/llvm/llvm-project/pull/

[Lldb-commits] [lldb] [LLDB] Don't forcefully initialize the process trace plugin (PR #71455)

2023-11-06 Thread Alex Langford via lldb-commits
https://github.com/bulbazord approved this pull request. https://github.com/llvm/llvm-project/pull/71455 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb] Add Checksum class to lldbUtility (PR #71456)

2023-11-06 Thread Alex Langford via lldb-commits
https://github.com/bulbazord edited https://github.com/llvm/llvm-project/pull/71456 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb] Add Checksum class to lldbUtility (PR #71456)

2023-11-06 Thread Alex Langford via lldb-commits
https://github.com/bulbazord approved this pull request. https://github.com/llvm/llvm-project/pull/71456 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb] Add Checksum class to lldbUtility (PR #71456)

2023-11-06 Thread Alex Langford via lldb-commits
@@ -0,0 +1,36 @@ +//===-- Checksum.h --*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apa

[Lldb-commits] [lldb] [lldb] Add Checksum class to lldbUtility (PR #71456)

2023-11-06 Thread Alex Langford via lldb-commits
@@ -0,0 +1,46 @@ +//===-- Checksum.cpp --===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apa

[Lldb-commits] [lldb] [lldb] Add Checksum class to lldbUtility (PR #71456)

2023-11-06 Thread Alex Langford via lldb-commits
@@ -0,0 +1,46 @@ +//===-- Checksum.cpp --===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apa

[Lldb-commits] [lldb] [lldb] Add Checksum class to lldbUtility (PR #71456)

2023-11-06 Thread Alex Langford via lldb-commits
@@ -0,0 +1,46 @@ +//===-- Checksum.cpp --===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apa

[Lldb-commits] [lldb] [lldb] Add Checksum to FileSpec (PR #71457)

2023-11-06 Thread Alex Langford via lldb-commits
@@ -72,7 +75,8 @@ class FileSpec { /// The style of the path /// /// \see FileSpec::SetFile (const char *path) - explicit FileSpec(llvm::StringRef path, Style style = Style::native); + explicit FileSpec(llvm::StringRef path, Style style = Style::native, +

[Lldb-commits] [lldb] [lldb] Add Checksum to FileSpec (PR #71457)

2023-11-06 Thread Alex Langford via lldb-commits
https://github.com/bulbazord edited https://github.com/llvm/llvm-project/pull/71457 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb] Add Checksum to FileSpec (PR #71457)

2023-11-06 Thread Alex Langford via lldb-commits
https://github.com/bulbazord commented: You pushed a commit from a different PR btw https://github.com/llvm/llvm-project/pull/71457 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb] Read Checksum from DWARF line tables (PR #71458)

2023-11-06 Thread Alex Langford via lldb-commits
https://github.com/bulbazord approved this pull request. the dwarf line tables patch LGTM https://github.com/llvm/llvm-project/pull/71458 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-com

[Lldb-commits] [lldb] [lldb] BreakpointResolver{*}::CreateFromStructuredData should return shared pointers (PR #71477)

2023-11-06 Thread Alex Langford via lldb-commits
https://github.com/bulbazord created https://github.com/llvm/llvm-project/pull/71477 BreakpointResolver::CreateFromStructuredData returns a BreakpointResolverSP, but all of the subclasses return raw pointers. Instead of creating a raw pointer and shoving it into a shared pointer, it seems reas

[Lldb-commits] [lldb] Simplify ValueObject::GetQualifiedRepresentationIfAvailable(). (PR #71559)

2023-11-07 Thread Alex Langford via lldb-commits
https://github.com/bulbazord edited https://github.com/llvm/llvm-project/pull/71559 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] Simplify ValueObject::GetQualifiedRepresentationIfAvailable(). (PR #71559)

2023-11-07 Thread Alex Langford via lldb-commits
@@ -2594,34 +2594,30 @@ ValueObjectSP ValueObject::CreateConstantValue(ConstString name) { ValueObjectSP ValueObject::GetQualifiedRepresentationIfAvailable( lldb::DynamicValueType dynValue, bool synthValue) { - ValueObjectSP result_sp(GetSP()); - + ValueObjectSP result_

[Lldb-commits] [lldb] Simplify ValueObject::GetQualifiedRepresentationIfAvailable(). (PR #71559)

2023-11-07 Thread Alex Langford via lldb-commits
https://github.com/bulbazord approved this pull request. LGTM https://github.com/llvm/llvm-project/pull/71559 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [llvm] [lldb] [lldb][AArch64][Linux] Add SME2 release notes and usage docs (PR #70935)

2023-11-07 Thread Alex Langford via lldb-commits
https://github.com/bulbazord approved this pull request. LGTM https://github.com/llvm/llvm-project/pull/70935 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb][AArch64][Linux] Add field information for the CPSR register (PR #70300)

2023-11-07 Thread Alex Langford via lldb-commits
https://github.com/bulbazord approved this pull request. https://github.com/llvm/llvm-project/pull/70300 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb] BreakpointResolver{*}::CreateFromStructuredData should return shared pointers (PR #71477)

2023-11-07 Thread Alex Langford via lldb-commits
https://github.com/bulbazord closed https://github.com/llvm/llvm-project/pull/71477 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb] Change interface of StructuredData::Array::GetItemAtIndexAsString (PR #71613)

2023-11-07 Thread Alex Langford via lldb-commits
https://github.com/bulbazord created https://github.com/llvm/llvm-project/pull/71613 This patch changes the interface of StructuredData::Array::GetItemAtIndexAsString to return a `std::optional` instead of taking an out parameter. More generally, this commit serves as proposal that we change a

<    7   8   9   10   11   12   13   14   15   16   >