[all-commits] [llvm/llvm-project] 1370a1: [lldb] Add support for negative integer to {SB, }St...

Med Ismail Bennani via All-commits all-commits at lists.llvm.org
Mon May 22 16:14:43 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 1370a1cb5b97ecfc4fd2cb550159db9c9ebd3a68
      https://github.com/llvm/llvm-project/commit/1370a1cb5b97ecfc4fd2cb550159db9c9ebd3a68
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2023-05-22 (Mon, 22 May 2023)

  Changed paths:
    M lldb/include/lldb/API/SBStructuredData.h
    M lldb/include/lldb/Core/StructuredDataImpl.h
    M lldb/include/lldb/Utility/StructuredData.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/source/API/SBStructuredData.cpp
    M lldb/source/API/SBThread.cpp
    M lldb/source/Breakpoint/BreakpointOptions.cpp
    M lldb/source/Breakpoint/BreakpointResolver.cpp
    M lldb/source/Breakpoint/BreakpointResolverAddress.cpp
    M lldb/source/Breakpoint/BreakpointResolverName.cpp
    M lldb/source/Core/FormatEntity.cpp
    M lldb/source/Host/common/XML.cpp
    M lldb/source/Interpreter/OptionGroupPythonClassWithDict.cpp
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.cpp
    M lldb/source/Plugins/InstrumentationRuntime/MainThreadChecker/InstrumentationRuntimeMainThreadChecker.cpp
    M lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
    M lldb/source/Plugins/InstrumentationRuntime/UBSan/InstrumentationRuntimeUBSan.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
    M lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
    M lldb/source/Plugins/Process/scripted/ScriptedThread.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptedThreadPythonInterface.cpp
    M lldb/source/Target/DynamicRegisterInfo.cpp
    M lldb/source/Target/Thread.cpp
    M lldb/source/Utility/StructuredData.cpp
    M lldb/test/API/commands/target/stop-hooks/stop_hook.py
    M lldb/test/API/functionalities/step_scripted/Steps.py
    M lldb/test/API/python_api/sbstructureddata/TestStructuredDataAPI.py
    M lldb/tools/lldb-vscode/JSONUtils.cpp
    M lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp
    M lldb/unittests/ScriptInterpreter/Python/PythonDataObjectsTests.cpp

  Log Message:
  -----------
  [lldb] Add support for negative integer to {SB,}StructuredData

This patch refactors the `StructuredData::Integer` class to make it
templated, makes it private and adds 2 public specialization for both
`int64_t` & `uint64_t` with a public type aliases, respectively
`SignedInteger` & `UnsignedInteger`.

It adds new getter for signed and unsigned interger values to the
`StructuredData::Object` base class and changes the implementation of
`StructuredData::Array::GetItemAtIndexAsInteger` and
`StructuredData::Dictionary::GetValueForKeyAsInteger` to support signed
and unsigned integers.

This patch also adds 2 new `Get{Signed,Unsigned}IntegerValue` to the
`SBStructuredData` class and marks `GetIntegerValue` as deprecated.

Finally, this patch audits all the caller of `StructuredData::Integer`
or `StructuredData::GetIntegerValue` to use the proper type as well the
various tests that uses `SBStructuredData.GetIntegerValue`.

rdar://105575764

Differential Revision: https://reviews.llvm.org/D150485

Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>


  Commit: ac09a0e192e357a37d183f26f1063d18d6babf72
      https://github.com/llvm/llvm-project/commit/ac09a0e192e357a37d183f26f1063d18d6babf72
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2023-05-22 (Mon, 22 May 2023)

  Changed paths:
    M lldb/source/Target/Process.cpp

  Log Message:
  -----------
  [lldb] Fix process LLDB_LOG typo (nfci)

This patch fixes the log commands by replacing the LLDB_LOG macro by the
LLDB_LOGF macro. This is necessary in order to format argument with printf.

Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>


  Commit: 8f407b8e632956816e49d1ac0ffd6ff5245252a6
      https://github.com/llvm/llvm-project/commit/8f407b8e632956816e49d1ac0ffd6ff5245252a6
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2023-05-22 (Mon, 22 May 2023)

  Changed paths:
    M lldb/source/Plugins/Process/scripted/ScriptedThread.cpp
    M lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py
    M lldb/test/API/functionalities/scripted_process/dummy_scripted_process.py

  Log Message:
  -----------
  [lldb] Add "Trace" stop reason in Scripted Thread

This patch adds support to eStopReasonTrace to Scripted Threads.

This is necessary when using a Scrited Process with a Scripted Thread
Plan to report a special thread stop reason to the thread plan.

rdar://109425542

Differential Revision: https://reviews.llvm.org/D151043

Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>


  Commit: 273a2d337f675f3ee050f281b1fecc3e806b9a3c
      https://github.com/llvm/llvm-project/commit/273a2d337f675f3ee050f281b1fecc3e806b9a3c
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2023-05-22 (Mon, 22 May 2023)

  Changed paths:
    M lldb/examples/python/scripted_process/scripted_process.py
    M lldb/test/API/functionalities/interactive_scripted_process/interactive_scripted_process.py

  Log Message:
  -----------
  [lldb] Move PassthroughScriptedProcess to `lldb.scripted_process` module

This patch moves the `PassthroughScriptedProcess` & `PassthroughScriptedThread`
classes from the `interactive_scripted_process.py` test implementation
to the `lldb.scripted_process` python module.

This class is very versatile so it makes more sense to ship it with the
python module to make it easier for our adopters to derive their class
from it instead of copying it.

During the "migration", I've also noticed some bugs in the
`PassthroughScriptedThread` creation and update, so I also fixed that as
part of this patch.

Differential Revision: https://reviews.llvm.org/D151044

Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>


  Commit: abba5de724665362db707d4cfab598cfbf5a475e
      https://github.com/llvm/llvm-project/commit/abba5de724665362db707d4cfab598cfbf5a475e
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2023-05-22 (Mon, 22 May 2023)

  Changed paths:
    M lldb/examples/python/crashlog.py
    M lldb/examples/python/scripted_process/crashlog_scripted_process.py
    M lldb/examples/python/symbolication.py

  Log Message:
  -----------
  [lldb/crashlog] Remove tempfile prefix from inlined symbol object file

This patch changes the way we generate the ObjectFileJSON files
containing the inlined symbols from the crash report to remove the
tempfile prefix from the object file name.

To do so, instead of creating a new tempfile for each module, we create a
temporary directory that contains each module object file with the same
name as the module.

This makes the backtraces only contain the module name without the
temfile prefix which makes it look like a regular stackframe.

Differential Revision: https://reviews.llvm.org/D151045

Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>


Compare: https://github.com/llvm/llvm-project/compare/01c5ec3d6209...abba5de72466


More information about the All-commits mailing list