|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, 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, 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, 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, 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 |
|
| #
ac666d17 |
| 24-Jan-2022 |
Michał Górny <[email protected]> |
[lldb] [gdb-remote] Support getting siginfo via API
Add Thread::GetSiginfo() and SBThread::GetSiginfo() methods to retrieve the siginfo value from server.
Differential Revision: https://reviews.llv
[lldb] [gdb-remote] Support getting siginfo via API
Add Thread::GetSiginfo() and SBThread::GetSiginfo() methods to retrieve the siginfo value from server.
Differential Revision: https://reviews.llvm.org/D118055
show more ...
|
| #
59a3f65f |
| 28-Jan-2022 |
Michał Górny <[email protected]> |
Revert "[lldb] [gdb-remote] Support getting siginfo via API"
This reverts commit 1a8f60f5f5b8638a3e8e7fb31ba7ae9e17a7ff2d. The API requires further work.
|
| #
1a8f60f5 |
| 24-Jan-2022 |
Michał Górny <[email protected]> |
[lldb] [gdb-remote] Support getting siginfo via API
Add Thread::GetSiginfo() and SBThread::GetSiginfo() methods to retrieve the siginfo value from server.
Differential Revision: https://reviews.llv
[lldb] [gdb-remote] Support getting siginfo via API
Add Thread::GetSiginfo() and SBThread::GetSiginfo() methods to retrieve the siginfo value from server.
Differential Revision: https://reviews.llvm.org/D118055
show more ...
|
|
Revision tags: llvmorg-13.0.1, llvmorg-13.0.1-rc3 |
|
| #
1755f5b1 |
| 19-Jan-2022 |
Jonas Devlieghere <[email protected]> |
[lldb] Decouple instrumentation from the reproducers
Remove the last remaining references to the reproducers from the instrumentation. This patch renames the relevant files and macros.
Differential
[lldb] Decouple instrumentation from the reproducers
Remove the last remaining references to the reproducers from the instrumentation. This patch renames the relevant files and macros.
Differential revision: https://reviews.llvm.org/D117712
show more ...
|
|
Revision tags: llvmorg-13.0.1-rc2 |
|
| #
69c55d63 |
| 10-Jan-2022 |
Jonas Devlieghere <[email protected]> |
[lldb] Remove LLDB_RECORD_CHAR_PTR_* macros
|
| #
d232abc3 |
| 10-Jan-2022 |
Jonas Devlieghere <[email protected]> |
[lldb] Remove LLDB_RECORD_RESULT macro
|
| #
d51402ac |
| 08-Jan-2022 |
Jonas Devlieghere <[email protected]> |
[lldb] Remove reproducer instrumentation
This patch removes most of the reproducer instrumentation. It keeps around the LLDB_RECORD_* macros for logging. See [1] for more details.
[1] https://lists
[lldb] Remove reproducer instrumentation
This patch removes most of the reproducer instrumentation. It keeps around the LLDB_RECORD_* macros for logging. See [1] for more details.
[1] https://lists.llvm.org/pipermail/lldb-dev/2021-September/017045.html
Differential revision: https://reviews.llvm.org/D116847
show more ...
|
| #
a3436f73 |
| 03-Jan-2022 |
Kazu Hirata <[email protected]> |
[API] Remove redundant member initialization (NFC)
Identified with readability-redundant-member-init.
|
|
Revision tags: llvmorg-13.0.1-rc1 |
|
| #
04cbfa95 |
| 02-Nov-2021 |
Quinn Pham <[email protected]> |
[lldb][NFC] Inclusive Language: rename master plan to controlling plan
[NFC] As part of using inclusive language within the llvm project, this patch renames master plan to controlling plan in lldb.
[lldb][NFC] Inclusive Language: rename master plan to controlling plan
[NFC] As part of using inclusive language within the llvm project, this patch renames master plan to controlling plan in lldb.
Reviewed By: jingham
Differential Revision: https://reviews.llvm.org/D113019
show more ...
|
|
Revision tags: 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 |
|
| #
3e2ed744 |
| 04-May-2021 |
Med Ismail Bennani <[email protected]> |
[lldb] Refactor argument group by SourceLocationSpec (NFCI)
This patch refactors a good part of the code base turning the usual FileSpec, Line, Column, CheckInlines, ExactMatch arguments into a Sour
[lldb] Refactor argument group by SourceLocationSpec (NFCI)
This patch refactors a good part of the code base turning the usual FileSpec, Line, Column, CheckInlines, ExactMatch arguments into a SourceLocationSpec object.
This change is required for a following patch that will add handling of the column line information when doing symbol resolution.
Differential Revision: https://reviews.llvm.org/D100965
Signed-off-by: Med Ismail Bennani <[email protected]>
show more ...
|
|
Revision tags: llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4 |
|
| #
6c37984e |
| 29-Mar-2021 |
Michał Górny <[email protected]> |
[lldb] [gdb-remote server] Introduce new stop reasons for fork and vfork
Introduce three new stop reasons for fork, vfork and vforkdone events. This includes server support for serializing fork/vfor
[lldb] [gdb-remote server] Introduce new stop reasons for fork and vfork
Introduce three new stop reasons for fork, vfork and vforkdone events. This includes server support for serializing fork/vfork events into gdb-remote protocol. The stop infos for the two base events take a pair of PID and TID for the newly forked process.
Differential Revision: https://reviews.llvm.org/D100196
show more ...
|
|
Revision tags: llvmorg-12.0.0-rc3, llvmorg-12.0.0-rc2, 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, llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1 |
|
| #
0b697561 |
| 09-Nov-2020 |
Walter Erquinigo <[email protected]> |
[trace][intel-pt] Implement trace start and trace stop
This implements the interactive trace start and stop methods.
This diff ended up being much larger than I anticipated because, by doing it, I
[trace][intel-pt] Implement trace start and trace stop
This implements the interactive trace start and stop methods.
This diff ended up being much larger than I anticipated because, by doing it, I found that I had implemented in the beginning many things in a non optimal way. In any case, the code is much better now.
There's a lot of boilerplate code due to the gdb-remote protocol, but the main changes are:
- New tracing packets: jLLDBTraceStop, jLLDBTraceStart, jLLDBTraceGetBinaryData. The gdb-remote packet definitions are quite comprehensive. - Implementation of the "process trace start|stop" and "thread trace start|stop" commands. - Implementaiton of an API in Trace.h to interact with live traces. - Created an IntelPTDecoder for live threads, that use the debugger's stop id as checkpoint for its internal cache. - Added a functionality to stop the process in case "process tracing" is enabled and a new thread can't traced. - Added tests
I have some ideas to unify the code paths for post mortem and live threads, but I'll do that in another diff.
Differential Revision: https://reviews.llvm.org/D91679
show more ...
|
|
Revision tags: 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 |
|
| #
e687aa82 |
| 20-Apr-2020 |
Jonas Devlieghere <[email protected]> |
[lldb/Reproducers] Fix passive replay for (char*, size_t) functions.
Several SB API functions return strings using (char*, size_t) output arguments. During capture, we serialize an empty string for
[lldb/Reproducers] Fix passive replay for (char*, size_t) functions.
Several SB API functions return strings using (char*, size_t) output arguments. During capture, we serialize an empty string for the char* because the memory can be uninitialized.
During active replay, we have custom replay redirects that ensure that we don't override the buffer from which we're reading, but rather write to a buffer on the heap with the given length. This is sufficient for the active reproducer use case, where we only care about the side effects of the API calls, not the values actually returned.
This approach does not not work for passive replay because here we ignore all the incoming arguments, and re-execute the current function with the arguments deserialized from the reproducer. This means that these function will update the deserialized copy of the arguments, rather than whatever was passed in by the SWIG wrapper.
To solve this problem, this patch extends the reproducer instrumentation to handle this special case for passive replay. We nog ignore the replayer in the registry and the incoming char pointer, and instead reinvoke the current method on the deserialized class, and populate the output argument.
Differential revision: https://reviews.llvm.org/D77759
show more ...
|
|
Revision tags: llvmorg-10.0.0, llvmorg-10.0.0-rc6, llvmorg-10.0.0-rc5, llvmorg-10.0.0-rc4, llvmorg-10.0.0-rc3, llvmorg-10.0.0-rc2 |
|
| #
20ce8aff |
| 06-Feb-2020 |
Fred Riss <[email protected]> |
[lldb/API] NFC: Reformat and simplify SBThread::GetStopDescription()
Summary: This gets rid of some nesting and of the raw char* variable that caused the memory management bug we hit recently.
This
[lldb/API] NFC: Reformat and simplify SBThread::GetStopDescription()
Summary: This gets rid of some nesting and of the raw char* variable that caused the memory management bug we hit recently.
This commit also removes the fallback code which should trigger when the StopInfo provides no stop description. All currently implemented StopInfos have a `GetDescription()` method that shouldn't return an empty description.
Reviewers: JDevlieghere, labath, mib
Subscribers: lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D74157
show more ...
|
| #
866b7a65 |
| 18-Feb-2020 |
Jonas Devlieghere <[email protected]> |
[lldb] Replace empty ctor en dtor bodies with =default (NFC)
Use = default instead of empty constructor and destructor bodies in the API layer.
|
| #
5e3fe22c |
| 06-Feb-2020 |
Jonas Devlieghere <[email protected]> |
[lldb/Reproducers] Refactor GetStopReasonExtendedBacktraces (NFC)
Refactore GetStopReasonExtendedBacktraces so that the reproducer macro is passed an instrumented copy constructor rather than the co
[lldb/Reproducers] Refactor GetStopReasonExtendedBacktraces (NFC)
Refactore GetStopReasonExtendedBacktraces so that the reproducer macro is passed an instrumented copy constructor rather than the constructor taking a ThreadCollectionSP, which is not instrumented.
show more ...
|
| #
7ebe9cc4 |
| 04-Feb-2020 |
Med Ismail Bennani <[email protected]> |
[lldb/Target] Add Assert StackFrame Recognizer
When a thread stops, this checks depending on the platform if the top frame is an abort stack frame. If so, it looks for an assert stack frame in the u
[lldb/Target] Add Assert StackFrame Recognizer
When a thread stops, this checks depending on the platform if the top frame is an abort stack frame. If so, it looks for an assert stack frame in the upper frames and set it as the most relavant frame when found.
To do so, the StackFrameRecognizer class holds a "Most Relevant Frame" and a "cooked" stop reason description. When the thread is about to stop, it checks if the current frame is recognized, and if so, it fetches the recognized frame's attributes and applies them.
rdar://58528686
Differential Revision: https://reviews.llvm.org/D73303
Signed-off-by: Med Ismail Bennani <[email protected]>
show more ...
|
| #
3da7dcf3 |
| 06-Feb-2020 |
Jonas Devlieghere <[email protected]> |
[lldb/Reproducers] Serialize empty string for char* methods.
For the methods taking a char* and a length that have a custom replayer, ignore the incoming string in the instrumentation macro. This pr
[lldb/Reproducers] Serialize empty string for char* methods.
For the methods taking a char* and a length that have a custom replayer, ignore the incoming string in the instrumentation macro. This prevents potentially reading garbage and blowing up the SB API log.
show more ...
|
| #
2f025bb8 |
| 06-Feb-2020 |
Jonas Devlieghere <[email protected]> |
[lldb/Reproducers] Implement custom replayers for (char *, size_t)
Some SB API methods returns strings through a char* and a length. This is a problem for the deserializer, which considers a single
[lldb/Reproducers] Implement custom replayers for (char *, size_t)
Some SB API methods returns strings through a char* and a length. This is a problem for the deserializer, which considers a single type at a time, and therefore cannot know how many bytes to allocate for the character buffer.
We can solve this problem by implementing a custom replayer, which ignores the passed-in char* and allocates a buffer of the correct size itself, before invoking the original API method or function.
This patch adds three new macros to register a custom replayer for methods that take a char* and a size_t. It supports arbitrary return values (some functions return a bool while others return a size_t).
show more ...
|
| #
98b273c8 |
| 05-Feb-2020 |
Pavel Labath <[email protected]> |
Revert "[lldb/Target] Add Assert StackFrame Recognizer"
This reverts commit 2b7f32892b76cdfbe075300a5bf4a52e1b674bc7 because of test failures due to dangling pointers.
|
| #
42c906bc |
| 05-Feb-2020 |
Med Ismail Bennani <[email protected]> |
[lldb/API] Fix non null-terminated stop-reason in SBThread::GetStopDescription
When trying to get the stop reason description using the SB API, the buffer fetched was not null-terminated causing fai
[lldb/API] Fix non null-terminated stop-reason in SBThread::GetStopDescription
When trying to get the stop reason description using the SB API, the buffer fetched was not null-terminated causing failures on the sanitized bot.
This patch should address those failures.
Signed-off-by: Med Ismail Bennani <[email protected]>
show more ...
|
| #
2b7f3289 |
| 04-Feb-2020 |
Med Ismail Bennani <[email protected]> |
[lldb/Target] Add Assert StackFrame Recognizer
When a thread stops, this checks depending on the platform if the top frame is an abort stack frame. If so, it looks for an assert stack frame in the u
[lldb/Target] Add Assert StackFrame Recognizer
When a thread stops, this checks depending on the platform if the top frame is an abort stack frame. If so, it looks for an assert stack frame in the upper frames and set it as the most relavant frame when found.
To do so, the StackFrameRecognizer class holds a "Most Relevant Frame" and a "cooked" stop reason description. When the thread is about to stop, it checks if the current frame is recognized, and if so, it fetches the recognized frame's attributes and applies them.
rdar://58528686
Differential Revision: https://reviews.llvm.org/D73303
Signed-off-by: Med Ismail Bennani <[email protected]>
show more ...
|
| #
58c4fa2c |
| 30-Jan-2020 |
Jonas Devlieghere <[email protected]> |
[lldb/Reproducers] Use LLDB_RECORD_DUMMY for GetStopDescription
GetStopDescription writes to a const char* with a given length. However, the reproducer instrumentation serialized the char pointer an
[lldb/Reproducers] Use LLDB_RECORD_DUMMY for GetStopDescription
GetStopDescription writes to a const char* with a given length. However, the reproducer instrumentation serialized the char pointer and length separately.
To serialize the string, we naively look for the first null byte to determine its length. This can lead to the method overwriting the input buffer when the assumed string length is smaller than the actual number of bytes written by GetStopDescription.
The real solution is to have a custom serializer that takes both arguments into account. However, given that these are output parameters, they don't affect replay. If the string is passed as input later, it's is recorded as such. Therefore I've replaced the instrumentation macro with LLDB_RECORD_DUMMY which skips the serialization.
show more ...
|
|
Revision tags: llvmorg-10.0.0-rc1 |
|
| #
954d0429 |
| 28-Jan-2020 |
Med Ismail Bennani <[email protected]> |
Revert "[lldb/Target] Add Assert StackFrame Recognizer"
This reverts commit 03a6b858fde5c644ec16b1fddd8e10aa9ef3f0ad.
The test doesn't pass on Debian.
|
| #
03a6b858 |
| 23-Jan-2020 |
Med Ismail Bennani <[email protected]> |
[lldb/Target] Add Assert StackFrame Recognizer
When a thread stops, this checks depending on the platform if the top frame is an abort stack frame. If so, it looks for an assert stack frame in the u
[lldb/Target] Add Assert StackFrame Recognizer
When a thread stops, this checks depending on the platform if the top frame is an abort stack frame. If so, it looks for an assert stack frame in the upper frames and set it as the most relavant frame when found.
To do so, the StackFrameRecognizer class holds a "Most Relevant Frame" and a "cooked" stop reason description. When the thread is about to stop, it checks if the current frame is recognized, and if so, it fetches the recognized frame's attributes and applies them.
rdar://58528686
Differential Revision: https://reviews.llvm.org/D73303
Signed-off-by: Med Ismail Bennani <[email protected]>
show more ...
|