#
9f9422b6 |
| 06-Jun-2017 |
Pavel Labath <labath@google.com> |
Remove unused variables. NFC
llvm-svn: 304794
|
Revision tags: llvmorg-4.0.1-rc2 |
|
#
d2746dda |
| 29-May-2017 |
Abhishek Aggarwal <abhishek.a.aggarwal@intel.com> |
Replaced StructuredData::Type with eStructuredDataType
...missing from r304138 "Added new API to SBStructuredData class"
llvm-svn: 304147
|
#
e714c4f5 |
| 26-May-2017 |
Ravitheja Addepally <ravitheja.addepally@intel.com> |
Implementation of remote packets for Trace data.
Summary: The changes consist of new packets for trace manipulation and trace collection. The new packets are also documented. The packets are capable
Implementation of remote packets for Trace data.
Summary: The changes consist of new packets for trace manipulation and trace collection. The new packets are also documented. The packets are capable of providing custom trace specific parameters to start tracing and also retrieve such configuration from the server.
Reviewers: clayborg, lldb-commits, tberghammer, labath, zturner
Reviewed By: clayborg, labath
Subscribers: krytarowski, lldb-commits
Differential Revision: https://reviews.llvm.org/D32585
llvm-svn: 303972
show more ...
|
#
97206d57 |
| 12-May-2017 |
Zachary Turner <zturner@google.com> |
Rename Error -> Status.
This renames the LLDB error class to Status, as discussed on the lldb-dev mailing list.
A change of this magnitude cannot easily be done without find and replace, but that h
Rename Error -> Status.
This renames the LLDB error class to Status, as discussed on the lldb-dev mailing list.
A change of this magnitude cannot easily be done without find and replace, but that has potential to catch unwanted occurrences of common strings such as "Error". Every effort was made to find all the obvious things such as the word "Error" appearing in a string, etc, but it's possible there are still some lingering occurences left around. Hopefully nothing too serious.
llvm-svn: 302872
show more ...
|
Revision tags: llvmorg-4.0.1-rc1 |
|
#
48d1427c |
| 31-Mar-2017 |
Stephane Sezer <sas@cd80.net> |
Verify memory address range validity in GDBRemoteCommunicationClient
Summary: This aims to verify the validity of the response from the debugging server in GDBRemoteCommunicationClient::GetMemoryReg
Verify memory address range validity in GDBRemoteCommunicationClient
Summary: This aims to verify the validity of the response from the debugging server in GDBRemoteCommunicationClient::GetMemoryRegionInfo. I was working with ds2 (https://github.com/facebook/ds2) and encountered a bug that caused the server's response to have a 'size' value of 0, which caused lldb to behave incorrectly.
Reviewers: k8stone, labath, clayborg
Reviewed By: labath, clayborg
Subscribers: clayborg, sas, lldb-commits
Differential Revision: https://reviews.llvm.org/D31485
Change by Alex Langford <apl@fb.com>
llvm-svn: 299239
show more ...
|
#
7993cc5e |
| 07-Mar-2017 |
Eugene Zemtsov <ezemtsov@google.com> |
Make LLDB skip server-client roundtrip for signals that don't require any actions
If QPassSignals packaet is supported by lldb-server, lldb-client will utilize it and ask the server to ignore signal
Make LLDB skip server-client roundtrip for signals that don't require any actions
If QPassSignals packaet is supported by lldb-server, lldb-client will utilize it and ask the server to ignore signals that don't require stops or notifications. Such signals will be immediately re-injected into inferior to continue normal execution.
Differential Revision: https://reviews.llvm.org/D30520
llvm-svn: 297231
show more ...
|
Revision tags: llvmorg-4.0.0, llvmorg-4.0.0-rc4 |
|
#
666cc0b2 |
| 04-Mar-2017 |
Zachary Turner <zturner@google.com> |
Move DataBuffer / DataExtractor and friends from Core -> Utility.
llvm-svn: 296943
|
#
1e021a16 |
| 03-Mar-2017 |
Zachary Turner <zturner@google.com> |
[Windows] Remove the #include <eh.h> hack.
Prior to MSVC 2015 we had to manually include this header any time we were going to include <thread> or <future> due to a bug in MSVC's STL implementation.
[Windows] Remove the #include <eh.h> hack.
Prior to MSVC 2015 we had to manually include this header any time we were going to include <thread> or <future> due to a bug in MSVC's STL implementation. This has been fixed in MSVC for some time now, and we require VS 2015 minimum, so we can remove this across all subprojects.
llvm-svn: 296906
show more ...
|
Revision tags: llvmorg-4.0.0-rc3 |
|
#
2f7cfaf4 |
| 10-Feb-2017 |
Pavel Labath <labath@google.com> |
Switch TestPacketSpeedJSON to use the llvm chrono formatter
llvm-svn: 294739
|
Revision tags: llvmorg-4.0.0-rc2, llvmorg-4.0.0-rc1 |
|
#
763f1c45 |
| 05-Jan-2017 |
Pavel Labath <labath@google.com> |
Fix jModulesInfo handling for cross-path syntax debugging
We were sending paths with the host path separator, which meant the remote target did not understand our packets correctly.
llvm-svn: 291103
|
Revision tags: llvmorg-3.9.1, llvmorg-3.9.1-rc3, llvmorg-3.9.1-rc2, llvmorg-3.9.1-rc1 |
|
#
2fd9a1e0 |
| 04-Nov-2016 |
Pavel Labath <labath@google.com> |
Fix GDBRemoteCommunicationClientTest.TestPacketSpeedJSON
The mock server was listening for only one packet (I forgot to put a loop around it), which caused the client to stall in debug builds, as th
Fix GDBRemoteCommunicationClientTest.TestPacketSpeedJSON
The mock server was listening for only one packet (I forgot to put a loop around it), which caused the client to stall in debug builds, as the timeout there is 1000 seconds. In case of a release builds the test would just silently succeed as the tested function does not check or report errors (which should be fixed).
This fixes the test by adding the server loop. Since the test was taking quite a long time now (8s), I have added a parameter to control the amount of data sent (default 4MB), and call it with a smaller value in the test, to make the test run faster.
llvm-svn: 285992
show more ...
|
#
3aa04910 |
| 31-Oct-2016 |
Pavel Labath <labath@google.com> |
Remove usages of TimeValue from gdb-remote process plugin
Summary: Most of the changes are very straight-forward, the only tricky part was the "packet speed-test" function, which is very time-heavy.
Remove usages of TimeValue from gdb-remote process plugin
Summary: Most of the changes are very straight-forward, the only tricky part was the "packet speed-test" function, which is very time-heavy. As the function was completely untested, I added a quick unit smoke test for it.
Reviewers: clayborg, zturner
Subscribers: lldb-commits
Differential Revision: https://reviews.llvm.org/D25391
llvm-svn: 285602
show more ...
|
#
6e5e49fb |
| 09-Sep-2016 |
Pavel Labath <labath@google.com> |
Fix new gdb-remote client unit test for windows
The behaviour of FileSpec differed between host OS versions. Hardcode the path syntax to posix, as we don't care about that in this test.
llvm-svn: 2
Fix new gdb-remote client unit test for windows
The behaviour of FileSpec differed between host OS versions. Hardcode the path syntax to posix, as we don't care about that in this test.
llvm-svn: 281025
show more ...
|
#
2f1fbaeb |
| 08-Sep-2016 |
Pavel Labath <labath@google.com> |
gdb-remote: Add jModulesInfo packet
Summary: This adds the jModulesInfo packet, which is the equivalent of qModulesInfo, but it enables us to query multiple modules at once. This makes a significant
gdb-remote: Add jModulesInfo packet
Summary: This adds the jModulesInfo packet, which is the equivalent of qModulesInfo, but it enables us to query multiple modules at once. This makes a significant speed improvement in case the application has many (over a hundred) modules, and the communication link has a non-negligible latency. This functionality is accessed by ProcessGdbRemote::PrefetchModuleSpecs(), which does the caching. GetModuleSpecs() is modified to first consult the cache before asking the remote stub. PrefetchModuleSpecs is currently only called from POSIX-DYLD dynamic loader plugin, after it reads the list of modules from the inferior memory, but other uses are possible.
This decreases the attach time to an android application by about 40%.
Reviewers: clayborg
Subscribers: tberghammer, lldb-commits, danalbert
Differential Revision: https://reviews.llvm.org/D24236
llvm-svn: 280919
show more ...
|
#
46031e6f |
| 07-Sep-2016 |
Pavel Labath <labath@google.com> |
Fix unittest compilation on windows
After the reformat, the unittests do not compile due to missing due to redefinition errors between PosixApi.h and ucrt/direct.h. This is a bit of a shot in the da
Fix unittest compilation on windows
After the reformat, the unittests do not compile due to missing due to redefinition errors between PosixApi.h and ucrt/direct.h. This is a bit of a shot in the dark, as I have not tested it on windows, but I am restoring the original include order, so it should hopefully fix it.
llvm-svn: 280793
show more ...
|
#
b9c1b51e |
| 06-Sep-2016 |
Kate Stone <katherine.stone@apple.com> |
*** This commit represents a complete reformatting of the LLDB source code *** to conform to clang-format’s LLVM style. This kind of mass change has *** two obvious implications:
Firstly, merging t
*** This commit represents a complete reformatting of the LLDB source code *** to conform to clang-format’s LLVM style. This kind of mass change has *** two obvious implications:
Firstly, merging this particular commit into a downstream fork may be a huge effort. Alternatively, it may be worth merging all changes up to this commit, performing the same reformatting operation locally, and then discarding the merge for this particular commit. The commands used to accomplish this reformatting were as follows (with current working directory as the root of the repository):
find . \( -iname "*.c" -or -iname "*.cpp" -or -iname "*.h" -or -iname "*.mm" \) -exec clang-format -i {} + find . -iname "*.py" -exec autopep8 --in-place --aggressive --aggressive {} + ;
The version of clang-format used was 3.9.0, and autopep8 was 1.2.4.
Secondly, “blame” style tools will generally point to this commit instead of a meaningful prior commit. There are alternatives available that will attempt to look through this change and find the appropriate prior commit. YMMV.
llvm-svn: 280751
show more ...
|
#
5c95ee4d |
| 30-Aug-2016 |
Pavel Labath <labath@google.com> |
Revert "gdb-remote: Make the sequence mutex non-recursive"
This reverts commit r279725 as it breaks "dynamic register size" feature of mips.
llvm-svn: 280088
|
#
0faf3733 |
| 25-Aug-2016 |
Pavel Labath <labath@google.com> |
gdb-remote: Make the sequence mutex non-recursive
Summary: This is a preparatory commit for D22914, where I'd like to replace this mutex by an R/W lock (which is also not recursive). This required a
gdb-remote: Make the sequence mutex non-recursive
Summary: This is a preparatory commit for D22914, where I'd like to replace this mutex by an R/W lock (which is also not recursive). This required a couple of changes: - The only caller of Read/WriteRegister, GDBRemoteRegisterContext class, was already acquiring the mutex, so these functions do not need to. All functions which now do not take a lock, take an lock argument instead, to remind the caller of this fact. - GetThreadSuffixSupported() was being called from locked and unlocked contexts (including contexts where the process was running, and the call would fail if it did not have the result cached). I have split this into two functions, one which computes the thread suffix support and caches it (this one always takes the lock), and another, which returns the cached value (and never needs to take the lock). This feels quite natural as ProcessGdbRemote was already pre-caching this value at the start.
Reviewers: clayborg
Subscribers: lldb-commits
Differential Revision: https://reviews.llvm.org/D23802
llvm-svn: 279725
show more ...
|
Revision tags: llvmorg-3.9.0, llvmorg-3.9.0-rc3 |
|
#
b42b48e0 |
| 19-Aug-2016 |
Pavel Labath <labath@google.com> |
Remove the last manually constructed packet from gdb-remote register context + small refactor
Summary: The tricky part here was that the exisiting implementation of WriteAllRegisters was expecting h
Remove the last manually constructed packet from gdb-remote register context + small refactor
Summary: The tricky part here was that the exisiting implementation of WriteAllRegisters was expecting hex-encoded data (as that was what the first implementation I replaced was using, but here we had binary data to begin with. I thought the read/write register functions would be more useful if they handled the hex-encoding themselves (all the other client functions provide the responses in a more-or-less digested form). The read functions return a DataBuffer, so they can allocate as much memory as they need to, while the write functions functions take an llvm::ArrayRef, as that can be constructed from pretty much anything.
Reviewers: clayborg
Subscribers: lldb-commits
Differential Revision: https://reviews.llvm.org/D23659
llvm-svn: 279232
show more ...
|
Revision tags: llvmorg-3.9.0-rc2 |
|
#
27402d2a |
| 18-Aug-2016 |
Pavel Labath <labath@google.com> |
Move QSyncThreadState packet generation to the gdb-remote client
llvm-svn: 279057
|
#
4b6f9591 |
| 18-Aug-2016 |
Pavel Labath <labath@google.com> |
gdb-remote: Centralize thread specific packet handling
Summary: Before this, each function had a copy of the code which handled appending of the thread suffix to the packet (or using $Hg instead). I
gdb-remote: Centralize thread specific packet handling
Summary: Before this, each function had a copy of the code which handled appending of the thread suffix to the packet (or using $Hg instead). I have moved that code into a single function and made everyone else use that. The function takes the partial packet as a StreamString rvalue reference, to avoid a copy and to remind the users that the packet will have undeterminate contents after the call.
This also fixes the incorrect formatting of the QRestoreRegisterState packet in case thread suffix is not supported.
Reviewers: clayborg
Subscribers: lldb-commits
Differential Revision: https://reviews.llvm.org/D23604
llvm-svn: 279040
show more ...
|
#
8e8e5061 |
| 17-Aug-2016 |
Pavel Labath <labath@google.com> |
Fix unittests on windows after r278915
Apparently clang will happily capture a const variable in a lambda without it being specified in the capture clause. MSVC does not like that.
llvm-svn: 278925
|
#
56d7262b |
| 17-Aug-2016 |
Pavel Labath <labath@google.com> |
Move packet construction from GDBRemoteRegisterContext go the communication class
Summary: When saving/restoring registers the GDBRemoteRegisterContext class was manually constructing the register s
Move packet construction from GDBRemoteRegisterContext go the communication class
Summary: When saving/restoring registers the GDBRemoteRegisterContext class was manually constructing the register save/restore packets. This creates appropriate helper functions in GDBRemoteCommunicationClient, and switches the class to use those. It also removes what a duplicate packet send in some of those functions, a thing that I can only attribute to a bad merge artefact.
I also add a test framework for testing gdb-remote client functionality and add tests for the new functions I introduced. I'd like to be able to test the register context changes in isolation as well, but currently there doesn't seem to be a way to reasonably construct a standalone register context object, so we'll have to rely on the end-to-end tests to verify that.
Reviewers: clayborg
Subscribers: lldb-commits
Differential Revision: https://reviews.llvm.org/D23553
llvm-svn: 278915
show more ...
|