Revision tags: llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1 |
|
#
1fae1314 |
| 18-Sep-2024 |
Adrian Prantl <aprantl@apple.com> |
[lldb] Change the implementation of Status to store an llvm::Error (NFC) (#106774)
(based on a conversation I had with @labath yesterday in https://github.com/llvm/llvm-project/pull/106442)
Most AP
[lldb] Change the implementation of Status to store an llvm::Error (NFC) (#106774)
(based on a conversation I had with @labath yesterday in https://github.com/llvm/llvm-project/pull/106442)
Most APIs that currently vend a Status would be better served by returning llvm::Expected<> instead. If possibles APIs should be refactored to avoid Status. The only legitimate long-term uses of Status are objects that need to store an error for a long time (which should be questioned as a design decision, too).
This patch makes the transition to llvm::Error easier by making the places that cannot switch to llvm::Error explicit: They are marked with a call to Status::clone(). Every other API can and should be refactored to use llvm::Expected. In the end Status should only be used in very few places.
Whenever an unchecked Error is dropped by Status it logs this to the verbose API channel.
Implementation notes:
This patch introduces two new kinds of error_category as well as new llvm::Error types. Here is the mapping of lldb::ErrorType to llvm::Errors: ``` (eErrorTypeInvalid) eErrorTypeGeneric llvm::StringError eErrorTypePOSIX llvm::ECError eErrorTypeMachKernel MachKernelError eErrorTypeExpression llvm::ErrorList<ExpressionError> eErrorTypeWin32 Win32Error ```
Relanding with built-in cloning support for llvm::ECError, and support for initializing a Windows error with a NO_ERROR error code, and modifying TestGDBRemotePlatformFile.py to support different renderings of ENOSYS.
show more ...
|
Revision tags: llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6 |
|
#
fc1df55b |
| 15-May-2024 |
Dmitry Vasilyev <dvassiliev@accesssoftek.com> |
[lldb][Windows] Fixed the test gdb_remote_client/TestGDBRemotePlatformFile (#92088)
The tests `test_file_permissions` and `test_file_permissions_fallback`
are disabled for Windows target. These tes
[lldb][Windows] Fixed the test gdb_remote_client/TestGDBRemotePlatformFile (#92088)
The tests `test_file_permissions` and `test_file_permissions_fallback`
are disabled for Windows target. These tests use MockGDBServerResponder
and do not depend on the real target. These tests failed in case of
Windows host and Linux target. Disable them for Windows host too.
show more ...
|
Revision tags: 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 |
|
#
2238dcc3 |
| 25-May-2023 |
Jonas Devlieghere <jonas@devlieghere.com> |
[NFC][Py Reformat] Reformat python files in lldb
This is an ongoing series of commits that are reformatting our Python code. Reformatting is done with `black` (23.1.0).
If you end up having problem
[NFC][Py Reformat] Reformat python files in lldb
This is an ongoing series of commits that are reformatting our Python code. Reformatting is done with `black` (23.1.0).
If you end up having problems merging this commit because you have made changes to a python file, the best way to handle that is to run `git checkout --ours <yourfile>` and then reformat it with black.
RFC: https://discourse.llvm.org/t/rfc-document-and-standardize-python-code-style
Differential revision: https://reviews.llvm.org/D151460
show more ...
|
Revision tags: 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 |
|
#
4cc8f2a0 |
| 17-Jun-2022 |
Dave Lee <davelee.com@gmail.com> |
[lldb][tests] Automatically call compute_mydir (NFC)
Eliminate boilerplate of having each test manually assign to `mydir` by calling `compute_mydir` in lldbtest.py.
Differential Revision: https://r
[lldb][tests] Automatically call compute_mydir (NFC)
Eliminate boilerplate of having each test manually assign to `mydir` by calling `compute_mydir` in lldbtest.py.
Differential Revision: https://reviews.llvm.org/D128077
show more ...
|
Revision tags: 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 |
|
#
8ccfcab3 |
| 03-Jan-2022 |
Pavel Labath <pavel@labath.sk> |
[lldb/platform-gdb] Clear cached protocol state upon disconnection
Previously we would persist the flags indicating whether the remote side supports a particular feature across reconnects, which is
[lldb/platform-gdb] Clear cached protocol state upon disconnection
Previously we would persist the flags indicating whether the remote side supports a particular feature across reconnects, which is obviously not a good idea.
I implement the clearing by nuking (its the only way to be sure :) the entire GDBRemoteCommunication object in the disconnect operation and creating a new one upon connection. This allows us to maintain a nice invariant that the GDBRemoteCommunication object (which is now a pointer) exists only if it is connected. The downside to that is that a lot of functions now needs to check the validity of the pointer instead of blindly accessing the object.
The process communication does not suffer from the same issue because we always destroy the entire Process object for a relaunch.
Differential Revision: https://reviews.llvm.org/D116539
show more ...
|
Revision tags: llvmorg-13.0.1-rc1 |
|
#
33c0f93f |
| 11-Nov-2021 |
Pavel Labath <pavel@labath.sk> |
[lldb/test] Move gdb client utils into the packages tree
This infrastructure has proven proven its worth, so give it a more prominent place.
My immediate motivation for this is the desire to reuse
[lldb/test] Move gdb client utils into the packages tree
This infrastructure has proven proven its worth, so give it a more prominent place.
My immediate motivation for this is the desire to reuse this infrastructure for qemu platform testing, but I believe this move makes sense independently of that. Moving this code to the packages tree will allow as to add more structure to the gdb client tests -- currently they are all crammed into the same test folder as that was the only way they could access this code.
I'm splitting the code into two parts while moving it. The first once contains just the generic gdb protocol wrappers, while the other one contains the unit test glue. The reason for that is that for qemu testing, I need to run the gdb code in a separate process, so I will only be using the first part there.
Differential Revision: https://reviews.llvm.org/D113893
show more ...
|
Revision tags: llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3 |
|
#
9a4379c3 |
| 10-Sep-2021 |
Michał Górny <mgorny@moritz.systems> |
[lldb] [test] Skip file permission tests on Windows
|
Revision tags: llvmorg-13.0.0-rc2 |
|
#
3d3017d3 |
| 16-Aug-2021 |
Michał Górny <mgorny@moritz.systems> |
[lldb] [gdb-remote] Use standardized GDB errno values
GDB uses normalized errno values for vFile errors. Implement the translation between them and system errno values in the gdb-remote plugin.
Di
[lldb] [gdb-remote] Use standardized GDB errno values
GDB uses normalized errno values for vFile errors. Implement the translation between them and system errno values in the gdb-remote plugin.
Differential Revision: https://reviews.llvm.org/D108148
show more ...
|
#
501eaf88 |
| 10-Aug-2021 |
Michał Górny <mgorny@moritz.systems> |
[lldb] [gdb-remote] Add fallbacks for vFile:mode and vFile:exists
Add a GDB-compatible fallback to vFile:fstat for vFile:mode, and to vFile:open for vFile:exists. Note that this is only partial fal
[lldb] [gdb-remote] Add fallbacks for vFile:mode and vFile:exists
Add a GDB-compatible fallback to vFile:fstat for vFile:mode, and to vFile:open for vFile:exists. Note that this is only partial fallback, as it fails if the file cannot be opened.
Differential Revision: https://reviews.llvm.org/D107811
show more ...
|
#
dbb0c14d |
| 10-Aug-2021 |
Michał Górny <mgorny@moritz.systems> |
[lldb] Add new commands and tests for getting file perms & exists
Add two new commands 'platform get-file-permissions' and 'platform file-exists' for the respective bits of LLDB protocol. Add tests
[lldb] Add new commands and tests for getting file perms & exists
Add two new commands 'platform get-file-permissions' and 'platform file-exists' for the respective bits of LLDB protocol. Add tests for them. Fix error handling in GetFilePermissions().
Differential Revision: https://reviews.llvm.org/D107809
show more ...
|
#
c240d2bb |
| 10-Sep-2021 |
Michał Górny <mgorny@moritz.systems> |
[lldb] [test] Move "platform connect" logic into a common class
Create a common GDBPlatformClientTestBase class and move the platform select/connect logic there to reduce duplication.
Differential
[lldb] [test] Move "platform connect" logic into a common class
Create a common GDBPlatformClientTestBase class and move the platform select/connect logic there to reduce duplication.
Differential Revision: https://reviews.llvm.org/D109585
show more ...
|
#
21e2d7ce |
| 09-Aug-2021 |
Michał Górny <mgorny@moritz.systems> |
[lldb] [gdb-remote] Implement fallback to vFile:stat for GetFileSize()
Implement a fallback to getting the file size via vFile:stat packet when the remote server does not implement vFile:size. This
[lldb] [gdb-remote] Implement fallback to vFile:stat for GetFileSize()
Implement a fallback to getting the file size via vFile:stat packet when the remote server does not implement vFile:size. This makes it possible to query file sizes from remote gdbserver.
Note that unlike vFile:size, the fallback will not work if the server is unable to open the file.
While at it, add a few tests for the 'platform get-size' command.
Differential Revision: https://reviews.llvm.org/D107780
show more ...
|
#
2c6d90d7 |
| 06-Aug-2021 |
Michał Górny <mgorny@moritz.systems> |
[lldb] [Commands] Remove 'append' from 'platform file open' mode
Remove File::eOpenOptionAppend from the mode used by 'platform file open' command. According to POSIX, O_APPEND causes all successiv
[lldb] [Commands] Remove 'append' from 'platform file open' mode
Remove File::eOpenOptionAppend from the mode used by 'platform file open' command. According to POSIX, O_APPEND causes all successive writes to be done at the end of the file. This effectively makes the offset argument to 'platform file write' meaningless.
Furthermore, apparently O_APPEND is not implemented reliably everywhere. The Linux manpage for pwrite(2) suggests that Linux does respect O_APPEND there while according to POSIX it should not, so the actual behavior would be dependent on how the vFile:pwrite packet is implemented on the server.
Ideally, the mode used for opening flags would be provided via options. However, changing the default mode seems to be a reasonable intermediate solution.
Differential Revision: https://reviews.llvm.org/D107664
show more ...
|
#
39a2449e |
| 06-Aug-2021 |
Michał Górny <mgorny@moritz.systems> |
[lldb] [Commands] Fix reporting errors in 'platform file read/write'
Fix 'platform file read' and 'platform file write' commands to correctly detect erraneous return and report it as such. Currentl
[lldb] [Commands] Fix reporting errors in 'platform file read/write'
Fix 'platform file read' and 'platform file write' commands to correctly detect erraneous return and report it as such. Currently, errors were implicitly printed as a return value of -1, and the commands were assumed to be successful.
Differential Revision: https://reviews.llvm.org/D107665
show more ...
|
#
9929cfbc |
| 04-Aug-2021 |
Michał Górny <mgorny@moritz.systems> |
[lldb] [gdb-remote] Use hexadecimal numbers in vFile packats for GDB compliance
Use hexadecimal numbers rather than decimal in various vFile packets in order to fix compatibility with gdbserver. Th
[lldb] [gdb-remote] Use hexadecimal numbers in vFile packats for GDB compliance
Use hexadecimal numbers rather than decimal in various vFile packets in order to fix compatibility with gdbserver. This also changes the few custom LLDB packets -- while technically they do not have to be changed, it is easier to use the same syntax consistently across LLDB.
Differential Revision: https://reviews.llvm.org/D107475
show more ...
|
Revision tags: llvmorg-13.0.0-rc1 |
|
#
8bbef4f9 |
| 28-Jul-2021 |
Michał Górny <mgorny@moritz.systems> |
[lldb] [gdb-remote] Sync vFile:open mode constants with GDB
Sync the mode constants used to drive vFile:open requests with these used by GDB and defined for the gdb remote protocol. This makes it p
[lldb] [gdb-remote] Sync vFile:open mode constants with GDB
Sync the mode constants used to drive vFile:open requests with these used by GDB and defined for the gdb remote protocol. This makes it possible to use 'platform file open' after connecting to gdbremote server (and to some degree to operate on the open file modulo other incompatibilities).
Differential Revision: https://reviews.llvm.org/D106985
show more ...
|