|
Revision tags: llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3 |
|
| #
b0312676 |
| 10-Sep-2021 |
Pavel Labath <[email protected]> |
[lldb] Remove PluginInterface::GetPluginVersion
In all these years, we haven't found a use for this function (it has zero callers). Lets just remove the boilerplate.
Differential Revision: https://
[lldb] Remove PluginInterface::GetPluginVersion
In all these years, we haven't found a use for this function (it has zero callers). Lets just remove the boilerplate.
Differential Revision: https://reviews.llvm.org/D109600
show more ...
|
|
Revision tags: llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init |
|
| #
f9517353 |
| 09-Jul-2021 |
Jonas Devlieghere <[email protected]> |
[lldb] Add the ability to silently import scripted commands
Add the ability to silence command script import. The motivation for this change is being able to add command script import -s lldb.macosx
[lldb] Add the ability to silently import scripted commands
Add the ability to silence command script import. The motivation for this change is being able to add command script import -s lldb.macosx.crashlog to your ~/.lldbinit without it printing the following message at the beginning of every debug session.
"malloc_info", "ptr_refs", "cstr_refs", "find_variable", and "objc_refs" commands have been installed, use the "--help" options on these commands for detailed help.
In addition to forwarding the silent option to LoadScriptingModule, this also changes ScriptInterpreterPythonImpl::ExecuteOneLineWithReturn and ScriptInterpreterPythonImpl::ExecuteMultipleLines to honor the enable IO option in ExecuteScriptOptions, which until now was ignored.
Note that IO is only enabled (or disabled) at the start of a session, and for this particular use case, that's done when taking the Python lock in LoadScriptingModule, which means that the changes to these two functions are not strictly necessary, but (IMO) desirable nonetheless.
Differential revision: https://reviews.llvm.org/D105327
show more ...
|
| #
fd2433e1 |
| 02-Jul-2021 |
Jonas Devlieghere <[email protected]> |
[lldb] Replace default bodies of special member functions with = default;
Replace default bodies of special member functions with = default;
$ run-clang-tidy.py -header-filter='lldb' -checks='-*,mo
[lldb] Replace default bodies of special member functions with = default;
Replace default bodies of special member functions with = default;
$ run-clang-tidy.py -header-filter='lldb' -checks='-*,modernize-use-equals-default' -fix ,
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-equals-default.html
Differential revision: https://reviews.llvm.org/D104041
show more ...
|
|
Revision tags: llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2 |
|
| #
cfb96d84 |
| 12-Jun-2021 |
Jim Ingham <[email protected]> |
Convert functions that were returning BreakpointOption * to BreakpointOption &.
This is an NFC cleanup.
Many of the API's that returned BreakpointOptions always returned valid ones. Internally the
Convert functions that were returning BreakpointOption * to BreakpointOption &.
This is an NFC cleanup.
Many of the API's that returned BreakpointOptions always returned valid ones. Internally the BreakpointLocations usually have null BreakpointOptions, since they use their owner's options until an option is set specifically on the location. So the original code used pointers & unique_ptr everywhere for consistency. But that made the code hard to reason about from the outside.
This patch changes the code so that everywhere an API is guaranteed to return a non-null BreakpointOption, it returns it as a reference to make that clear.
It also changes the Breakpoint to hold a BreakpointOption member where it previously had a UP. Since we were always filling the UP in the Breakpoint constructor, having the UP wasn't helping anything.
Differential Revision: https://reviews.llvm.org/D104162
show more ...
|
| #
9494c510 |
| 09-Jun-2021 |
Jonas Devlieghere <[email protected]> |
[lldb] Use C++11 default member initializers
This converts a default constructor's member initializers into C++11 default member initializers. This patch was automatically generated with clang-tidy
[lldb] Use C++11 default member initializers
This converts a default constructor's member initializers into C++11 default member initializers. This patch was automatically generated with clang-tidy and the modernize-use-default-member-init check.
$ run-clang-tidy.py -header-filter='lldb' -checks='-*,modernize-use-default-member-init' -fix
This is a mass-refactoring patch and this commit will be added to .git-blame-ignore-revs.
Differential revision: https://reviews.llvm.org/D103483
show more ...
|
| #
76e47d48 |
| 26-May-2021 |
Raphael Isemann <[email protected]> |
[lldb][NFC] Use C++ versions of the deprecated C standard library headers
The C headers are deprecated so as requested in D102845, this is replacing them all with their (not deprecated) C++ equivale
[lldb][NFC] Use C++ versions of the deprecated C standard library headers
The C headers are deprecated so as requested in D102845, this is replacing them all with their (not deprecated) C++ equivalent.
Reviewed By: shafik
Differential Revision: https://reviews.llvm.org/D103084
show more ...
|
|
Revision tags: llvmorg-12.0.1-rc1, llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4 |
|
| #
1f6a57c1 |
| 23-Mar-2021 |
Med Ismail Bennani <[email protected]> |
[lldb/Interpreter] Add ScriptInterpreter Wrapper for ScriptedProcess
This patch adds a ScriptedProcess interface to the ScriptInterpreter and more specifically, to the ScriptInterpreterPython.
This
[lldb/Interpreter] Add ScriptInterpreter Wrapper for ScriptedProcess
This patch adds a ScriptedProcess interface to the ScriptInterpreter and more specifically, to the ScriptInterpreterPython.
This interface will be used in the C++ `ScriptProcess` Process Plugin to call the script methods.
At the moment, not all methods are implemented, they will upstreamed in upcoming patches.
This patch also adds helper methods to the ScriptInterpreter to convert `SBAPI` Types (SBData & SBError) to `lldb_private` types (DataExtractor & Status).
rdar://65508855
Differential Revision: https://reviews.llvm.org/D95711
Signed-off-by: Med Ismail Bennani <[email protected]>
show more ...
|
| #
2e826088 |
| 09-Mar-2021 |
Pavel Labath <[email protected]> |
[lldb] Fix a bug in D96779 (shared lib directory logic)
This function would fail in debug builds, as the two usages of the LLDB_PYTHON_RELATIVE_LIBDIR macro would expand to two distinct strings. The
[lldb] Fix a bug in D96779 (shared lib directory logic)
This function would fail in debug builds, as the two usages of the LLDB_PYTHON_RELATIVE_LIBDIR macro would expand to two distinct strings. The path iterator macros don't support that.
Use a temporary variable to ensure everything points to a single string.
show more ...
|
|
Revision tags: llvmorg-12.0.0-rc3 |
|
| #
36254f1a |
| 01-Mar-2021 |
Med Ismail Bennani <[email protected]> |
[lldb] Revert ScriptedProcess patches
This patch reverts the following commits: - 5a9c34918bb1526b7e8c29aa5e4fb8d8e27e27b4 - 46796762afe76496ec4dd900f64d0cf4cdc30e99 - 2cff3dec1171188ce04ab1a4373cc1
[lldb] Revert ScriptedProcess patches
This patch reverts the following commits: - 5a9c34918bb1526b7e8c29aa5e4fb8d8e27e27b4 - 46796762afe76496ec4dd900f64d0cf4cdc30e99 - 2cff3dec1171188ce04ab1a4373cc1885ab97be1 - 182f0d1a34419445bb19d67581d6ac1afc98b7fa - d62a53aaf1d38a55d1affbd3a30d564a4e9d3171
Signed-off-by: Med Ismail Bennani <[email protected]>
show more ...
|
|
Revision tags: llvmorg-12.0.0-rc2 |
|
| #
182f0d1a |
| 18-Feb-2021 |
Med Ismail Bennani <[email protected]> |
[lldb/Interpreter] Add ScriptInterpreter Wrapper for ScriptedProcess
This patch adds a ScriptedProcess interface to the ScriptInterpreter and more specifically, to the ScriptInterpreterPython.
This
[lldb/Interpreter] Add ScriptInterpreter Wrapper for ScriptedProcess
This patch adds a ScriptedProcess interface to the ScriptInterpreter and more specifically, to the ScriptInterpreterPython.
This interface will be used in the C++ `ScriptProcess` Process Plugin to call the script methods.
At the moment, not all methods are implemented, they will upstreamed in upcoming patches.
This patch also adds helper methods to the ScriptInterpreter to convert `SBAPI` Types (SBData & SBError) to `lldb_private` types (DataExtractor & Status).
rdar://65508855
Differential Revision: https://reviews.llvm.org/D95711
Signed-off-by: Med Ismail Bennani <[email protected]>
show more ...
|
| #
612384f6 |
| 18-Feb-2021 |
Jonas Devlieghere <[email protected]> |
[lldb] Remove unused code in ScriptInterpreterPython
Remove the unused code I noticed when working on d6e80578fc5e and do some other minor cleanups in the vicinity.
|
| #
004a264f |
| 15-Feb-2021 |
Pavel Labath <[email protected]> |
[lldb] Fix shared library directory computation on windows
Our code for locating the shared library directory works via dladdr (or the windows equivalent) to locate the path of an address known to r
[lldb] Fix shared library directory computation on windows
Our code for locating the shared library directory works via dladdr (or the windows equivalent) to locate the path of an address known to reside in liblldb. This works great for C++ programs, but there's a catch.
When (lib)lldb is used from python (like in our test suite), this dladdr call will return a path to the _lldb.so (or such) file in the python directory. To compensate for this, we have code which attempts to resolve this symlink, to ensure we get the canonical location. However, here's the second catch.
On windows, this file is not a symlink (but a copy), so this logic fails. Since most of our other paths are derived from the liblldb location, all of these paths will be wrong, when running the test suite. One effect of this was the failure to find lldb-server in D96202.
To fix this issue, I add some windows-specific code to locate the liblldb directory. Since it cannot rely on symlinks, it works by manually walking the directory tree -- essentially doing the opposite of what we do when computing the python directory.
To avoid python leaking back into the host code, I implement this with the help of a callback which can be passed to HostInfo::Initialize in order to assist with the directory location. The callback lives inside the python plugin.
I also strenghten the existing path test to ensure the returned path is the right one.
Differential Revision: https://reviews.llvm.org/D96779
show more ...
|
| #
d6e80578 |
| 17-Feb-2021 |
Jonas Devlieghere <[email protected]> |
[lldb] Improve error message for modules with dots or dashes
LLDB does not like to import Python files with dashes or dots in their name. While the former are technically allowed, it is discouraged.
[lldb] Improve error message for modules with dots or dashes
LLDB does not like to import Python files with dashes or dots in their name. While the former are technically allowed, it is discouraged. Dots are allowed for subpackages but not in module names. This patch improves the user experience by printing a useful error.
Before this patch:
error: module importing failed: SyntaxError('invalid syntax', ('<string>', 1, 11, 'import foo-bar\n'))
After this patch:
error: module importing failed: Python discourages dashes in module names: foo-bar
rdar://74263511
[1] https://www.python.org/dev/peps/pep-0008/#package-and-module-names
Differential revision: https://reviews.llvm.org/D96833
show more ...
|
|
Revision tags: llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2, llvmorg-11.1.0-rc1 |
|
| #
5c1c8443 |
| 21-Dec-2020 |
Jonas Devlieghere <[email protected]> |
[lldb] Abstract scoped timer logic behind LLDB_SCOPED_TIMER (NFC)
This patch introduces a LLDB_SCOPED_TIMER macro to hide the needlessly repetitive creation of scoped timers in LLDB. It's similar to
[lldb] Abstract scoped timer logic behind LLDB_SCOPED_TIMER (NFC)
This patch introduces a LLDB_SCOPED_TIMER macro to hide the needlessly repetitive creation of scoped timers in LLDB. It's similar to the LLDB_LOG(F) macro.
Differential revision: https://reviews.llvm.org/D93663
show more ...
|
|
Revision tags: llvmorg-11.0.1, llvmorg-11.0.1-rc2 |
|
| #
5861234e |
| 08-Dec-2020 |
Jonas Devlieghere <[email protected]> |
[lldb] Track the API boundary using a thread_local variable.
The reproducers currently use a static variable to track the API boundary. This is obviously incorrect when the SB API is used concurrent
[lldb] Track the API boundary using a thread_local variable.
The reproducers currently use a static variable to track the API boundary. This is obviously incorrect when the SB API is used concurrently. While I do not plan to support that use-case (right now), I do want to avoid us crashing. As a first step, correctly track API boundaries across multiple threads.
Before this patch SB API calls made by the embedded script interpreter would be considered "behind the API boundary" and correctly ignored. After this patch, we need to tell the reproducers to ignore the scripting thread as a "private thread".
Differential revision: https://reviews.llvm.org/D92811
show more ...
|
| #
d055e3a0 |
| 27-Nov-2020 |
Pedro Tammela <[email protected]> |
[LLDB/Python] Fix segfault on Python scripted entrypoints
The code that gets the ScriptInterpreter was not considering the case that it receives a Lua interpreter.
Differential Revision: https://re
[LLDB/Python] Fix segfault on Python scripted entrypoints
The code that gets the ScriptInterpreter was not considering the case that it receives a Lua interpreter.
Differential Revision: https://reviews.llvm.org/D92249
show more ...
|
|
Revision tags: llvmorg-11.0.1-rc1 |
|
| #
00bb397b |
| 27-Oct-2020 |
Jonas Devlieghere <[email protected]> |
[lldb] Support Python imports relative the to the current file being sourced
Make it possible to use a relative path in command script import to the location of the file being sourced. This allows t
[lldb] Support Python imports relative the to the current file being sourced
Make it possible to use a relative path in command script import to the location of the file being sourced. This allows the user to put Python scripts next to LLDB command files and importing them without having to specify an absolute path.
To enable this behavior pass `-c` to `command script import`. The argument can only be used when sourcing the command from a file.
rdar://68310384
Differential revision: https://reviews.llvm.org/D89334
show more ...
|
| #
3b33b416 |
| 14-Oct-2020 |
Jonas Devlieghere <[email protected]> |
[lldb] Remove lexical block and fix formatting LoadScriptingModule (NFC)
|
| #
1197ee35 |
| 14-Oct-2020 |
Jonas Devlieghere <[email protected]> |
[lldb] Unconditionally strip the `.py(c)` extension when loading a module
Currently we only strip the Python extension when the file exists on disk because we assumed that if it didn't exist it was
[lldb] Unconditionally strip the `.py(c)` extension when loading a module
Currently we only strip the Python extension when the file exists on disk because we assumed that if it didn't exist it was a module. However, with the change from D89334 this is no longer the case as we want to be able to import a relative path to a .py as a module. Since we always import a scripting module as a "python module" we should always strip the extension if present.
Differential revision: https://reviews.llvm.org/D89352
show more ...
|
|
Revision tags: llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5 |
|
| #
1b1d9815 |
| 28-Sep-2020 |
Jim Ingham <[email protected]> |
Revert "Revert "Add the ability to write target stop-hooks using the ScriptInterpreter.""
This reverts commit f775fe59640a2e837ad059a8f40e26989d4f9831.
I fixed a return type error in the original p
Revert "Revert "Add the ability to write target stop-hooks using the ScriptInterpreter.""
This reverts commit f775fe59640a2e837ad059a8f40e26989d4f9831.
I fixed a return type error in the original patch that was causing a test failure. Also added a REQUIRES: python to the shell test so we'll skip this for people who build lldb w/o Python. Also added another test for the error printing.
show more ...
|
| #
f775fe59 |
| 28-Sep-2020 |
Jonas Devlieghere <[email protected]> |
Revert "Add the ability to write target stop-hooks using the ScriptInterpreter."
This temporarily reverts commit b65966cff65bfb66de59621347ffd97238d3f645 while Jim figures out why the test is failin
Revert "Add the ability to write target stop-hooks using the ScriptInterpreter."
This temporarily reverts commit b65966cff65bfb66de59621347ffd97238d3f645 while Jim figures out why the test is failing on the bots.
show more ...
|
|
Revision tags: llvmorg-11.0.0-rc4 |
|
| #
b65966cf |
| 22-Sep-2020 |
Jim Ingham <[email protected]> |
Add the ability to write target stop-hooks using the ScriptInterpreter.
Differential Revision: https://reviews.llvm.org/D88123
|
|
Revision tags: llvmorg-11.0.0-rc3, llvmorg-11.0.0-rc2, llvmorg-11.0.0-rc1, llvmorg-12-init, llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3, llvmorg-10.0.1-rc2 |
|
| #
11f2ef4d |
| 25-Jun-2020 |
Jonas Devlieghere <[email protected]> |
[lldb/ScriptInterpreter] Fix missing include on Windows
|
| #
84228365 |
| 25-Jun-2020 |
Jonas Devlieghere <[email protected]> |
[lldb/ScriptInterpreter] Let the IORedirect factory handle IO being disabled.
Have one factory method that decides how to initialize the ScriptInterpreterIORedirect object based on whether IO is ena
[lldb/ScriptInterpreter] Let the IORedirect factory handle IO being disabled.
Have one factory method that decides how to initialize the ScriptInterpreterIORedirect object based on whether IO is enabled or disabled.
show more ...
|
| #
d79273c9 |
| 25-Jun-2020 |
Jonas Devlieghere <[email protected]> |
[lldb/ScriptInterpreter] Extract IO redirection logic
This patch takes the IO redirection logic from ScriptInterpreterPython and moves it into the interpreter library so that it can be used by other
[lldb/ScriptInterpreter] Extract IO redirection logic
This patch takes the IO redirection logic from ScriptInterpreterPython and moves it into the interpreter library so that it can be used by other script interpreters. I've turned it into a RAII object so that we don't have to worry about cleaning up in the calling code.
Differential revision: https://reviews.llvm.org/D82396
show more ...
|