| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[lldb] Ensure FILE* access mode is correctly specified when creating a NativeFile. (#167764) If we open a NativeFile with a FILE*, the OpenOptions default to eOpenOptionReadOnly. This is an issue in python scripts if you try to write to one of the files like print("Hi", file=lldb.debugger.GetOutputFileHandle()). To address this, we need to specify the access mode whenever we create a NativeFile from a FILE*. I also added an assert on the NativeFile that validates the file is opened with the correct access mode and updated NativeFile::Read and NativeFile::Write to check the access mode. Before these changes: $ lldb -b -O 'script lldb.debugger.GetOutputFileHandle().write("abc")' (lldb) script lldb.debugger.GetOutputFileHandle().write("abc") Traceback (most recent call last): File "<input>", line 1, in <module> io.UnsupportedOperation: not writable After: $ lldb -b -O 'script lldb.debugger.GetOutputFileHandle().write("abc")' (lldb) script lldb.debugger.GetOutputFileHandle().write("abc") abc3 Fixes #122387 | 8 个月前 | |
[lldb] Eliminate SupportFileSP nullptr derefs (#168624) This patch fixes and eliminates the possibility of SupportFileSP ever being nullptr. The support file was originally treated like a value type, but became a polymorphic type and therefore has to be stored and passed around as a pointer. To avoid having all the callers check the validity of the pointer, I introduced the invariant that SupportFileSP is never null and always default constructed. However, without enforcement at the type level, that's fragile and indeed, we already identified two crashes where someone accidentally broke that invariant. This PR introduces a NonNullSharedPtr to prevent that. NonNullSharedPtr is a smart pointer wrapper around std::shared_ptr that guarantees the pointer is never null. If default-constructed, it creates a default-constructed instance of the contained type. Note that I'm using private inheritance because you shouldn't inherit from standard library classes due to the lack of virtual destructor. So while the new abstraction looks like a std::shared_ptr, it is in fact **not** a shared pointer. Given that our destructor is trivial, we could use public inheritance, but currently there's no need for it. rdar://164989579 | 8 个月前 | |
Revert " [clang] Refactor to remove clangDriver dependency from clangFrontend and flangFrontend (#165277)" (#169397) This reverts commit 3773bbe and relands the last revert attempt 40334b8. 3773bbe broke the build for the build configuration described in here: https://github.com/llvm/llvm-project/pull/165277#issuecomment-3572432250 | 8 个月前 | |
[lldb] [disassembler] chore: update VariableAnnotator::Annotate to except only Instruction as param and drop module and target (#168276) | 8 个月前 | |
[lldb] Print ValueObject when GetObjectDescription fails (#152417) This fixes a few bugs, effectively through a fallback to p when po fails. The motivating bug this fixes is when an error within the compiler causes po to fail. Previously when that happened, only its value (typically an object's address) was printed – and problematically, no compiler diagnostics were shown. With this change, compiler diagnostics are shown, _and_ the object is fully printed (ie p). Another bug this fixes is when po is used on a type that doesn't provide an object description (such as a struct). Again, the normal ValueObject printing is used. Additionally, this also improves how lldb handles an object description method that fails in some way. Now an error will be shown (it wasn't before), and the value will be printed normally. | 11 个月前 | |
[lldb] Eliminate SupportFileSP nullptr derefs (#168624) This patch fixes and eliminates the possibility of SupportFileSP ever being nullptr. The support file was originally treated like a value type, but became a polymorphic type and therefore has to be stored and passed around as a pointer. To avoid having all the callers check the validity of the pointer, I introduced the invariant that SupportFileSP is never null and always default constructed. However, without enforcement at the type level, that's fragile and indeed, we already identified two crashes where someone accidentally broke that invariant. This PR introduces a NonNullSharedPtr to prevent that. NonNullSharedPtr is a smart pointer wrapper around std::shared_ptr that guarantees the pointer is never null. If default-constructed, it creates a default-constructed instance of the contained type. Note that I'm using private inheritance because you shouldn't inherit from standard library classes due to the lack of virtual destructor. So while the new abstraction looks like a std::shared_ptr, it is in fact **not** a shared pointer. Given that our destructor is trivial, we could use public inheritance, but currently there's no need for it. rdar://164989579 | 8 个月前 | |
[NFC][lldb] move DiagnosticsRendering to Host (#168696) NFC patch which moves DiagnosticsRendering from Utility to Host. This refactoring is needed for https://github.com/llvm/llvm-project/pull/168603. It adds a method to check whether the current terminal supports Unicode or not. This will be OS dependent and a better fit for Host. Since Utility cannot depend on Host, DiagnosticsRendering must live in Host instead. | 8 个月前 | |
[lldb/cmake] Use ADDITIONAL_HEADER(_DIR)?S (#142587) Replace (questionable) header globs with an explicit argument supported by llvm_add_library. | 1 年前 | |
[NFC][lldb] move DiagnosticsRendering to Host (#168696) NFC patch which moves DiagnosticsRendering from Utility to Host. This refactoring is needed for https://github.com/llvm/llvm-project/pull/168603. It adds a method to check whether the current terminal supports Unicode or not. This will be OS dependent and a better fit for Host. Since Utility cannot depend on Host, DiagnosticsRendering must live in Host instead. | 8 个月前 | |
Revert " [clang] Refactor to remove clangDriver dependency from clangFrontend and flangFrontend (#165277)" (#169397) This reverts commit 3773bbe and relands the last revert attempt 40334b8. 3773bbe broke the build for the build configuration described in here: https://github.com/llvm/llvm-project/pull/165277#issuecomment-3572432250 | 8 个月前 | |
[lldb] Adding A new Binding helper for JSONTransport. (#159160) This adds a new Binding helper class to allow mapping of incoming and outgoing requests / events to specific handlers. This should make it easier to create new protocol implementations and allow us to create a relay in the lldb-mcp binary. | 9 个月前 | |
[LLDB] Add unary plus and minus to DIL (#155617) This patch adds unary nodes plus and minus, introduces unary type conversions, and adds integral promotion to the type system. | 8 个月前 | |
[lldb] Show signal number description (#164176) show information about the signal when the user presses process handle <unix-signal> i.e sh (lldb) process handle SIGWINCH NAME PASS STOP NOTIFY DESCRIPTION =========== ===== ===== ====== =================== SIGWINCH true false false window size changes Wanted to use the existing GetSignalDescription but it is expected behaviour to return the signal name if no signal code is passed. It is used in stop info. https://github.com/llvm/llvm-project/blob/65c895dfe084860847e9e220ff9f1b283ebcb289/lldb/source/Target/StopInfo.cpp#L1192-L1195 | 8 个月前 | |
[lldb] Remove redundant declarations (NFC) (#169003) In C++17, static constexpr members are implicitly inline, so they no longer require an out-of-line definition. Identified with readability-redundant-declaration. | 8 个月前 | |
[LLDB] Add unary plus and minus to DIL (#155617) This patch adds unary nodes plus and minus, introduces unary type conversions, and adds integral promotion to the type system. | 8 个月前 | |
Re-land [lldb][NFC] Mark ValueObject library with NO_PLUGIN_DEPENDENCIES (#167933) This is a fixed version of #167886. The build previously failed with BUILD_SHARED_LIBS=ON. After trying that locally, I uncovered a few other instances of lldb non-plugin libraries depending on clang transitively through lldbValueObject, so I added the correct clang libraries to their dependencies. | 8 个月前 | |
[lldb] Move MCP protocol into its own library (NFC) (#152059) This PR moves the MCP protocol code into its own library ( lldbProtocolMCP) so the code can be shared between the ProtocolServerMCP plugin in LLDB as well as lldb-mcp. The goal is to do the same thing for DAP (which, for now, would be used exclusively from lldb-dap). To make it clear that it's neither part of the lldb nor the lldb_private namespace, I created a new lldb_protocol namespace. Depending on how much code would be reused by lldb-dap, we may move more code into the protocol library. | 11 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 8 个月前 | ||
| 8 个月前 | ||
| 8 个月前 | ||
| 8 个月前 | ||
| 11 个月前 | ||
| 8 个月前 | ||
| 8 个月前 | ||
| 1 年前 | ||
| 8 个月前 | ||
| 8 个月前 | ||
| 9 个月前 | ||
| 8 个月前 | ||
| 8 个月前 | ||
| 8 个月前 | ||
| 8 个月前 | ||
| 8 个月前 | ||
| 11 个月前 |