Revision tags: llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, working, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2, llvmorg-13.0.1-rc1, llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1, llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3, llvmorg-12.0.0-rc2 |
|
#
004a264f |
| 15-Feb-2021 |
Pavel Labath <pavel@labath.sk> |
[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 ...
|
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 <jonas@devlieghere.com> |
[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, llvmorg-11.0.1-rc1, llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, 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, llvmorg-10.0.1-rc1, llvmorg-10.0.0, llvmorg-10.0.0-rc6, llvmorg-10.0.0-rc5, llvmorg-10.0.0-rc4, llvmorg-10.0.0-rc3 |
|
#
80c3ea4e |
| 19-Feb-2020 |
Jonas Devlieghere <jonas@devlieghere.com> |
Re-land "[lldb/CMake] Auto-generate the Initialize and Terminate calls for plugin"
This patch changes the way we initialize and terminate the plugins in the system initializer. It uses an approach s
Re-land "[lldb/CMake] Auto-generate the Initialize and Terminate calls for plugin"
This patch changes the way we initialize and terminate the plugins in the system initializer. It uses an approach similar to LLVM's TARGETS_TO_BUILD with a def file that enumerates the plugins.
Previous attempts to land this failed on the Windows bot because there's a dependency between the different process plugins. Apparently ProcessWindowsCommon needs to be initialized after all other process plugins but before ProcessGDBRemote.
Differential revision: https://reviews.llvm.org/D73067
show more ...
|
#
ebf9a99b |
| 18-Feb-2020 |
Jonas Devlieghere <jonas@devlieghere.com> |
[lldb/Plugin] Reject WASM and Hexagon in DynamicLoaderStatic
The WASM and Hexagon plugin check the ArchType rather than the OSType, so explicitly reject those in the DynamicLoaderStatic.
Differenti
[lldb/Plugin] Reject WASM and Hexagon in DynamicLoaderStatic
The WASM and Hexagon plugin check the ArchType rather than the OSType, so explicitly reject those in the DynamicLoaderStatic.
Differential revision: https://reviews.llvm.org/D74780
show more ...
|
#
2d146aa2 |
| 18-Feb-2020 |
Jonas Devlieghere <jonas@devlieghere.com> |
[lldb/Plugin] Generate LLDB_PLUGIN_DECLARE with CMake
Generate the LLDB_PLUGIN_DECLARE macros with CMake and a def file. I'm landing D73067 in pieces so I can bisect what exactly is breaking the Win
[lldb/Plugin] Generate LLDB_PLUGIN_DECLARE with CMake
Generate the LLDB_PLUGIN_DECLARE macros with CMake and a def file. I'm landing D73067 in pieces so I can bisect what exactly is breaking the Windows bot.
show more ...
|
#
884a5894 |
| 18-Feb-2020 |
Jonas Devlieghere <jonas@devlieghere.com> |
[lldb/Plugin] Unconditionally initialize DynamicLoaderDarwinKernel
Other plugins depend on DynamicLoaderDarwinKernel and which means we cannot conditionally enable/build this plugin based on the tar
[lldb/Plugin] Unconditionally initialize DynamicLoaderDarwinKernel
Other plugins depend on DynamicLoaderDarwinKernel and which means we cannot conditionally enable/build this plugin based on the target platform. This means that it will be past of the list of plugins initialized once that's autogenerated.
show more ...
|
#
aa2ae6af |
| 18-Feb-2020 |
Jonas Devlieghere <jonas@devlieghere.com> |
[lldb/Plugins] Add missing initialize/terminate calls
Add missing initialize and terminate calls for DynamicLoaderHexagonDYLD and ObjectFileJIT.
|
#
ccad1948 |
| 18-Feb-2020 |
Jonas Devlieghere <jonas@devlieghere.com> |
[lldb/Plugins] Rename initializers to match their plugin name.
Use LLDB_PLUGIN_DEFINE_ADV to make the name of the generated initializer match the name of the plugin. This is a step towards generatin
[lldb/Plugins] Rename initializers to match their plugin name.
Use LLDB_PLUGIN_DEFINE_ADV to make the name of the generated initializer match the name of the plugin. This is a step towards generating the initializers with a def file. I'm landing this change in pieces so I can narrow down what exactly breaks the Windows bot.
show more ...
|
#
bcde387f |
| 18-Feb-2020 |
Jonas Devlieghere <jonas@devlieghere.com> |
[lldb/Plugins] Initialize all ABI plugins by their plugin name
|
#
50c9cd95 |
| 18-Feb-2020 |
Jonas Devlieghere <jonas@devlieghere.com> |
Revert "[lldb/CMake] Auto-generate the Initialize and Terminate calls for plugin"
This is still failing spectacularly on the Windows bot and I still have no clue what's going on.
|
#
9b12dc98 |
| 17-Feb-2020 |
Jonas Devlieghere <jonas@devlieghere.com> |
Re-land "[lldb/CMake] Auto-generate the Initialize and Terminate calls for plugin"
This patch changes the way we initialize and terminate the plugins in the system initializer. It uses an approach s
Re-land "[lldb/CMake] Auto-generate the Initialize and Terminate calls for plugin"
This patch changes the way we initialize and terminate the plugins in the system initializer. It uses an approach similar to LLVM's TARGETS_TO_BUILD with a def file that enumerates the plugins.
The previously landed patch got reverted because it was lacking:
(1) A plugin definition for the Objective-C language runtime, (2) The dependency between the Static and WASM dynamic loader, (3) Explicit initialization of ScriptInterpreterNone for lldb-test.
All issues have been addressed in this patch.
Differential revision: https://reviews.llvm.org/D73067
show more ...
|
#
058cb1b4 |
| 17-Feb-2020 |
Jonas Devlieghere <jonas@devlieghere.com> |
Revert "[lldb/CMake] Auto-generate the Initialize and Terminate calls for plugin"
This temporarily reverts commit 7d6da329dee1eda1761430d9097d1323f32c4c0c because it's causing test failures on the b
Revert "[lldb/CMake] Auto-generate the Initialize and Terminate calls for plugin"
This temporarily reverts commit 7d6da329dee1eda1761430d9097d1323f32c4c0c because it's causing test failures on the bots.
show more ...
|
#
7d6da329 |
| 17-Feb-2020 |
Jonas Devlieghere <jonas@devlieghere.com> |
[lldb/CMake] Auto-generate the Initialize and Terminate calls for plugin
This patch changes the way we initialize and terminate the plugins in the system initializer. It uses an approach similar to
[lldb/CMake] Auto-generate the Initialize and Terminate calls for plugin
This patch changes the way we initialize and terminate the plugins in the system initializer. It uses an approach similar to LLVM's TARGETS_TO_BUILD with a def file that enumerates the plugins.
Differential revision: https://reviews.llvm.org/D73067
show more ...
|
#
c1121908 |
| 17-Feb-2020 |
Paolo Severini <paolosev@microsoft.com> |
[LLDB] Add DynamicLoaderWasmDYLD plugin for WebAssembly debugging
Add a dynamic loader plug-in class for WebAssembly modules.
Differential Revision: https://reviews.llvm.org/D72751
|
#
f10e2df7 |
| 14-Feb-2020 |
Jonas Devlieghere <jonas@devlieghere.com> |
[lldb/Plugins] Have one initializer per ABI plugin
After the recent change that grouped some of the ABI plugins together, those plugins ended up with multiple initializers per plugin. This is incomp
[lldb/Plugins] Have one initializer per ABI plugin
After the recent change that grouped some of the ABI plugins together, those plugins ended up with multiple initializers per plugin. This is incompatible with my proposed approach of generating the initializers dynamically, which is why I've grouped them together in a new entry point.
Differential revision: https://reviews.llvm.org/D74451
show more ...
|
Revision tags: llvmorg-10.0.0-rc2 |
|
#
6e30fd05 |
| 12-Feb-2020 |
Jonas Devlieghere <jonas@devlieghere.com> |
[lldb/Plugins] Move DynamicLoaderMacOS into DynamicLoaderMacOSXDYLD (NFCI)
Move the logic for initialization and termination for DynamicLoaderMacOS into DynamicLoaderMacOSXDYLD so that there's one i
[lldb/Plugins] Move DynamicLoaderMacOS into DynamicLoaderMacOSXDYLD (NFCI)
Move the logic for initialization and termination for DynamicLoaderMacOS into DynamicLoaderMacOSXDYLD so that there's one initializer for the DynamicLoaderMacOSXDYLD plugin.
show more ...
|
#
654086cb |
| 12-Feb-2020 |
Jonas Devlieghere <jonas@devlieghere.com> |
[lldb/Plugins] Move SymbolFileDWARFDebugMap into SymbolFileDWARF (NFCI)
Move the logic for initialization and termination for SymbolFileDWARFDebugMap into SymbolFileDWARF so that there's one initial
[lldb/Plugins] Move SymbolFileDWARFDebugMap into SymbolFileDWARF (NFCI)
Move the logic for initialization and termination for SymbolFileDWARFDebugMap into SymbolFileDWARF so that there's one initializer for the SymbolFileDWARF plugin.
show more ...
|
#
7002128c |
| 12-Feb-2020 |
Martin Storsjö <martin@martin.st> |
[LLDB] Fix GCC warnings about extra semicolons. NFC.
|
#
2d3ecade |
| 11-Feb-2020 |
Jonas Devlieghere <jonas@devlieghere.com> |
[lldb/Plugins] Move PlatformRemoteiOS into PlatformMacOSX (NFCI)
Move the logic for initialization and termination for PlatformRemoteiOS into PlatformMacOSX, like we did for the other Darwin platfor
[lldb/Plugins] Move PlatformRemoteiOS into PlatformMacOSX (NFCI)
Move the logic for initialization and termination for PlatformRemoteiOS into PlatformMacOSX, like we did for the other Darwin platforms in a731c6ba94d0464c6a122de1af70ab88ffb5c1a6.
show more ...
|
#
3e70a919 |
| 08-Feb-2020 |
Jonas Devlieghere <jonas@devlieghere.com> |
[lldb/Plugin] Use LLDB_PLUGIN_DECLARE to forward declare plugin initializers
Apparently Linux and Windows have the exact opposite behavior when it comes to inline declarations of external functions.
[lldb/Plugin] Use LLDB_PLUGIN_DECLARE to forward declare plugin initializers
Apparently Linux and Windows have the exact opposite behavior when it comes to inline declarations of external functions. On Linux they're considered to be part of the lldb_private namespace, while on Windows they're considered to be part of the top level namespace. Somehow on macOS, it doesn't really matter and both are fine...
At this point I don't know what to do, so I'm just adding the LLDB_PLUGIN_DECLARE macros again as originally proposed in D74245.
show more ...
|
#
fbb4d1e4 |
| 07-Feb-2020 |
Jonas Devlieghere <jonas@devlieghere.com> |
[lldb/Plugins] Use external functions to (de)initialize plugins
This is a step towards making the initialize and terminate calls be generated by CMake, which in turn is towards making it possible to
[lldb/Plugins] Use external functions to (de)initialize plugins
This is a step towards making the initialize and terminate calls be generated by CMake, which in turn is towards making it possible to disable plugins at configuration time.
Differential revision: https://reviews.llvm.org/D74245
show more ...
|
#
e21b39a8 |
| 02-Feb-2020 |
Pavel Labath <labath@google.com> |
[lldb] Group ABI plugins
Summary: There's a fair amount of code duplication between the different ABI plugins for the same architecture (e.g. ABIMacOSX_arm & ABISysV_arm). Deduplicating this code is
[lldb] Group ABI plugins
Summary: There's a fair amount of code duplication between the different ABI plugins for the same architecture (e.g. ABIMacOSX_arm & ABISysV_arm). Deduplicating this code is not very easy at the moment because there is no good place where to put the common code.
Instead of creating more plugins, this patch reduces their number by grouping similar plugins into a single folder/plugin. This makes it easy to extract common code to a (e.g.) base class, which can then live in the same folder.
The grouping is done based on the underlying llvm target for that architecture, because the plugins already require this for their operation.
Reviewers: JDevlieghere, jasonmolenda, jfb
Subscribers: sdardis, nemanjai, mgorny, kristof.beyls, fedor.sergeev, kbarton, jrtc27, atanasyan, jsji, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D74138
show more ...
|
#
40efa65d |
| 06-Feb-2020 |
Pavel Labath <labath@google.com> |
Revert "[LLDB] Add DynamicLoaderWasmDYLD plugin for WebAssembly debugging"
This patch has a couple of outstanding issues. The test is not python3 compatible, and it also seems to fail with python2 (
Revert "[LLDB] Add DynamicLoaderWasmDYLD plugin for WebAssembly debugging"
This patch has a couple of outstanding issues. The test is not python3 compatible, and it also seems to fail with python2 (at least under some circumstances) due to an overambitious assertion.
This reverts the patch as well as subsequent fixup attempts: 014ea9337624fe20aca8892e73b6b3f741d8da9e, f5f70d1c8fbf12249b4b9598f10a10f12d4db029. 4697e701b8cb40429818609814c7422e49b2ee07. 5c15e8e682e365b3a7fcf35200df79f3fb93b924. 3ec28da6d6430a00b46780555a87acd43fcab790.
show more ...
|
#
f5f70d1c |
| 05-Feb-2020 |
Derek Schuff <dschuff@chromium.org> |
Add missing directory from 3ec28da6
Also revert 4697e701b8, restoring the original patch from https://reviews.llvm.org/D72751
|
#
4697e701 |
| 05-Feb-2020 |
Jonas Devlieghere <jonas@devlieghere.com> |
Partially revert "[LLDB] Add DynamicLoaderWasmDYLD plugin for WebAssembly debugging"
This temporarily and partially reverts 3ec28da6d643 because it's missing a directory.
|