<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in GDBRemoteClientBase.h</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>156cb4cc - [lldb] Remove non-stop mode code</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h#156cb4cc</link>
        <description>[lldb] Remove non-stop mode codeWe added some support for this mode back in 2015, but the feature wasnever productionized. It is completely untested, and there are knownmajor structural lldb issues that need to be resolved before thisfeature can really be supported.It also complicates making further changes to stop reply packethandling, which is what I am about to do.Differential Revision: https://reviews.llvm.org/D110553

            List of files:
            /llvm-project-15.0.7/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h</description>
        <pubDate>Mon, 27 Sep 2021 14:54:00 +0000</pubDate>
        <dc:creator>Pavel Labath &lt;pavel@labath.sk&gt;</dc:creator>
    </item>
<item>
        <title>379f24ff - Revert &quot;Revert &quot;Reset the wakeup timeout when we re-enter the continue wait.&quot;&quot;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h#379f24ff</link>
        <description>Revert &quot;Revert &quot;Reset the wakeup timeout when we re-enter the continue wait.&quot;&quot;This reverts commit 82a38837150099288a1262391ef43e1fd69ffde4.The original version had a copy-paste error: using the Interrupt timeoutfor the ResumeSynchronous wait, which is clearly wrong.  This error wouldhave been evident with real use, but the interrupt is long enough that itonly caused one testsuite failure (in the Swift fork).Anyway, I found that mistake and fixed it and checked all the other placeswhere I had to plumb through a timeout, and added a test with a shortinterrupt timeout stepping over a function that takes 3x the interrupt timeoutto complete, so that should detect a similar mistake in the future.

            List of files:
            /llvm-project-15.0.7/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h</description>
        <pubDate>Fri, 09 Jul 2021 01:08:11 +0000</pubDate>
        <dc:creator>Jim Ingham &lt;jingham@apple.com&gt;</dc:creator>
    </item>
<item>
        <title>82a38837 - Revert &quot;Reset the wakeup timeout when we re-enter the continue wait.&quot;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h#82a38837</link>
        <description>Revert &quot;Reset the wakeup timeout when we re-enter the continue wait.&quot;This reverts commit bd5751f3d249ec0798060bd98c07272174c52af0.This patch series is causing us to every so often miss switchingthe state from eStateRunning to eStateStopped when we get the stoppacket from the debug server.Reverting till I can figure out how that could be happening.

            List of files:
            /llvm-project-15.0.7/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h</description>
        <pubDate>Mon, 17 May 2021 22:31:54 +0000</pubDate>
        <dc:creator>Jim Ingham &lt;jingham@apple.com&gt;</dc:creator>
    </item>
<item>
        <title>9558b602 - Add an &quot;interrupt timeout&quot; to Process, and pipe that through the</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h#9558b602</link>
        <description>Add an &quot;interrupt timeout&quot; to Process, and pipe that through theProcessGDBRemote plugin layers.Also fix a bug where if we tried to interrupt, but the ReadPacketwakeup timer woke us up just after the timeout, we would break outthe switch, but then since we immediately check if the response isempty &amp; fail if it is, we could end up actually only giving asmall interval to the interrupt.Differential Revision: https://reviews.llvm.org/D102085

            List of files:
            /llvm-project-15.0.7/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h</description>
        <pubDate>Thu, 06 May 2021 21:14:35 +0000</pubDate>
        <dc:creator>Jim Ingham &lt;jingham@apple.com&gt;</dc:creator>
    </item>
<item>
        <title>cdc514e4 - [lldb] Update header guards to be consistent and compliant with LLVM (NFC)</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h#cdc514e4</link>
        <description>[lldb] Update header guards to be consistent and compliant with LLVM (NFC)LLDB has a few different styles of header guards and they&apos;re not veryconsistent because things get moved around or copy/pasted. This patchunifies the header guards across LLDB and converts everything to matchLLVM&apos;s style.Differential revision: https://reviews.llvm.org/D74743

            List of files:
            /llvm-project-15.0.7/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h</description>
        <pubDate>Mon, 17 Feb 2020 23:57:45 +0000</pubDate>
        <dc:creator>Jonas Devlieghere &lt;jonas@devlieghere.com&gt;</dc:creator>
    </item>
<item>
        <title>970a5790 - [GDBRemote] Reflow comments and improve docs.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h#970a5790</link>
        <description>[GDBRemote] Reflow comments and improve docs.Improved the GDB client base documentation while I was reading throughit. Looks like it got messed up during the automatic comment reflow awhile ago.llvm-svn: 367481

            List of files:
            /llvm-project-15.0.7/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h</description>
        <pubDate>Wed, 31 Jul 2019 20:47:44 +0000</pubDate>
        <dc:creator>Jonas Devlieghere &lt;jonas@devlieghere.com&gt;</dc:creator>
    </item>
<item>
        <title>f05b42e9 - Bring Doxygen comment syntax in sync with LLVM coding style.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h#f05b42e9</link>
        <description>Bring Doxygen comment syntax in sync with LLVM coding style.This changes &apos;@&apos; prefix to &apos;\&apos;.llvm-svn: 355841

            List of files:
            /llvm-project-15.0.7/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h</description>
        <pubDate>Mon, 11 Mar 2019 17:09:29 +0000</pubDate>
        <dc:creator>Adrian Prantl &lt;aprantl@apple.com&gt;</dc:creator>
    </item>
<item>
        <title>2946cd70 - Update the file headers across all of the LLVM projects in the monorepo</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h#2946cd70</link>
        <description>Update the file headers across all of the LLVM projects in the monorepoto reflect the new license.We understand that people may be surprised that we&apos;re moving the headerentirely to discuss the new license. We checked this carefully with theFoundation&apos;s lawyer and we believe this is the correct approach.Essentially, all code in the project is now made available by the LLVMproject under our new license, so you will see that the license headersinclude that license only. Some of our contributors have contributedcode under our old license, and accordingly, we have retained a copy ofour old license notice in the top-level files in each project andrepository.llvm-svn: 351636

            List of files:
            /llvm-project-15.0.7/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h</description>
        <pubDate>Sat, 19 Jan 2019 08:50:56 +0000</pubDate>
        <dc:creator>Chandler Carruth &lt;chandlerc@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>7da84753 - Handle O reply packets during qRcmd</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h#7da84753</link>
        <description>Handle O reply packets during qRcmdSummary:Gdb servers like openocd may send many $O reply packets for the client to output during a qRcmd command sequence.  Currently, lldb interprets the first O packet as an unexpected response.  Besides generating no output, this causes lldb to get out of sync with future commands because it continues reading O packets from the first command as response to subsequent commands.This patch handles any O packets during an qRcmd, treating the first non-O packet as the true response.Preliminary discussion at http://lists.llvm.org/pipermail/lldb-dev/2018-January/013078.htmlReviewers: clayborgReviewed By: clayborgSubscribers: labath, lldb-commitsDifferential Revision: https://reviews.llvm.org/D41745Patch by Owen Shaw &lt;llvm@owenpshaw.net&gt;llvm-svn: 322190

            List of files:
            /llvm-project-15.0.7/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h</description>
        <pubDate>Wed, 10 Jan 2018 14:39:08 +0000</pubDate>
        <dc:creator>Pavel Labath &lt;labath@google.com&gt;</dc:creator>
    </item>
<item>
        <title>0f8f0d36 - [gdb-remote] Remove the const char * version of SendPacketAndWaitForResponse</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h#0f8f0d36</link>
        <description>[gdb-remote] Remove the const char * version of SendPacketAndWaitForResponseSwitch all callers to use the StringRef version.llvm-svn: 282236

            List of files:
            /llvm-project-15.0.7/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h</description>
        <pubDate>Fri, 23 Sep 2016 09:11:49 +0000</pubDate>
        <dc:creator>Pavel Labath &lt;labath@google.com&gt;</dc:creator>
    </item>
<item>
        <title>fcdb1af6 - async structured data packet handling improvements</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h#fcdb1af6</link>
        <description>async structured data packet handling improvementsThis change does the following:* Changes the signature for the continuation delegate method that handles  async structured data from accepting an already-parsed structured data  element to taking just the packet contents.* Moves the conversion of the JSON-async: packet contents from  GDBRemoteClientBase to the continuation delegate method.* Adds a new unit test for verifying that the $JSON-asyc: packets get  decoded and that the decoded packets get forwarded on to the delegate  for further processing. Thanks to Pavel for making that whole section of  code easily unit testable!* Tightens up the packet verification on reception of a $JSON-async:  packet contents. The code prior to this change is susceptible to a  segfault if a packet is carefully crafted that starts with $J but  has a total length shorter than the length of &quot;$JSON-async:&quot;.Reviewers: labath, clayborg, zturnerDifferential Revision: https://reviews.llvm.org/D23884llvm-svn: 281121

            List of files:
            /llvm-project-15.0.7/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h</description>
        <pubDate>Sat, 10 Sep 2016 00:06:29 +0000</pubDate>
        <dc:creator>Todd Fiala &lt;todd.fiala@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>b9c1b51e - *** This commit represents a complete reformatting of the LLDB source code</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h#b9c1b51e</link>
        <description>*** This commit represents a complete reformatting of the LLDB source code*** to conform to clang-format&#8217;s LLVM style.  This kind of mass change has*** two obvious implications:Firstly, merging this particular commit into a downstream fork may be a hugeeffort.  Alternatively, it may be worth merging all changes up to this commit,performing the same reformatting operation locally, and then discarding themerge for this particular commit.  The commands used to accomplish thisreformatting were as follows (with current working directory as the root ofthe repository):    find . \( -iname &quot;*.c&quot; -or -iname &quot;*.cpp&quot; -or -iname &quot;*.h&quot; -or -iname &quot;*.mm&quot; \) -exec clang-format -i {} +    find . -iname &quot;*.py&quot; -exec autopep8 --in-place --aggressive --aggressive {} + ;The version of clang-format used was 3.9.0, and autopep8 was 1.2.4.Secondly, &#8220;blame&#8221; style tools will generally point to this commit instead ofa meaningful prior commit.  There are alternatives available that will attemptto look through this change and find the appropriate prior commit.  YMMV.llvm-svn: 280751

            List of files:
            /llvm-project-15.0.7/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h</description>
        <pubDate>Tue, 06 Sep 2016 20:57:50 +0000</pubDate>
        <dc:creator>Kate Stone &lt;katherine.stone@apple.com&gt;</dc:creator>
    </item>
<item>
        <title>5c95ee4d - Revert &quot;gdb-remote: Make the sequence mutex non-recursive&quot;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h#5c95ee4d</link>
        <description>Revert &quot;gdb-remote: Make the sequence mutex non-recursive&quot;This reverts commit r279725 as it breaks &quot;dynamic register size&quot; feature of mips.llvm-svn: 280088

            List of files:
            /llvm-project-15.0.7/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h</description>
        <pubDate>Tue, 30 Aug 2016 13:56:11 +0000</pubDate>
        <dc:creator>Pavel Labath &lt;labath@google.com&gt;</dc:creator>
    </item>
<item>
        <title>0faf3733 - gdb-remote: Make the sequence mutex non-recursive</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h#0faf3733</link>
        <description>gdb-remote: Make the sequence mutex non-recursiveSummary:This is a preparatory commit for D22914, where I&apos;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: clayborgSubscribers: lldb-commitsDifferential Revision: https://reviews.llvm.org/D23802llvm-svn: 279725

            List of files:
            /llvm-project-15.0.7/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h</description>
        <pubDate>Thu, 25 Aug 2016 08:34:57 +0000</pubDate>
        <dc:creator>Pavel Labath &lt;labath@google.com&gt;</dc:creator>
    </item>
<item>
        <title>75930019 - Add StructuredData plugin type; showcase with new DarwinLog feature</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h#75930019</link>
        <description>Add StructuredData plugin type; showcase with new DarwinLog featureTake 2, with missing cmake line fixed.  Build tested onUbuntu 14.04 with clang-3.6.See docs/structured_data/StructuredDataPlugins.md for details.differential review: https://reviews.llvm.org/D22976reviewers: clayborg, jinghamllvm-svn: 279202

            List of files:
            /llvm-project-15.0.7/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h</description>
        <pubDate>Fri, 19 Aug 2016 04:21:48 +0000</pubDate>
        <dc:creator>Todd Fiala &lt;todd.fiala@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>a07e4a83 - Revert &quot;Add StructuredData plugin type; showcase with new DarwinLog feature&quot;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h#a07e4a83</link>
        <description>Revert &quot;Add StructuredData plugin type; showcase with new DarwinLog feature&quot;This reverts commit 1d885845d1451e7b232f53fba2e36be67aadabd8.llvm-svn: 279200

            List of files:
            /llvm-project-15.0.7/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h</description>
        <pubDate>Fri, 19 Aug 2016 03:03:58 +0000</pubDate>
        <dc:creator>Todd Fiala &lt;todd.fiala@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>aef7de84 - Add StructuredData plugin type; showcase with new DarwinLog feature</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h#aef7de84</link>
        <description>Add StructuredData plugin type; showcase with new DarwinLog featureSee docs/structured_data/StructuredDataPlugins.md for details.differential review: https://reviews.llvm.org/D22976reviewers: clayborg, jinghamllvm-svn: 279198

            List of files:
            /llvm-project-15.0.7/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h</description>
        <pubDate>Fri, 19 Aug 2016 02:52:07 +0000</pubDate>
        <dc:creator>Todd Fiala &lt;todd.fiala@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>8c1b6bd7 - Reapply &quot;Rewrite gdb-remote&apos;s SendContinuePacketAndWaitForResponse&quot;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h#8c1b6bd7</link>
        <description>Reapply &quot;Rewrite gdb-remote&apos;s SendContinuePacketAndWaitForResponse&quot;Resumbitting the commit after fixing the following problems:- broken unit tests on windows: incorrect gtest usage on my part (TEST vs. TEST_F)- the new code did not correctly handle the case where we went to interrupt the process, but it  stopped due to a different reason - the interrupt request would remain queued and would  interfere with the following &quot;continue&quot;. I also added a unit test for this case.This reapplies r277156 and r277139.llvm-svn: 278118

            List of files:
            /llvm-project-15.0.7/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h</description>
        <pubDate>Tue, 09 Aug 2016 12:04:46 +0000</pubDate>
        <dc:creator>Pavel Labath &lt;labath@google.com&gt;</dc:creator>
    </item>
<item>
        <title>e768c4b8 - Rewrite gdb-remote&apos;s SendContinuePacketAndWaitForResponse</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h#e768c4b8</link>
        <description>Rewrite gdb-remote&apos;s SendContinuePacketAndWaitForResponseSendContinuePacketAndWaitForResponse was huge function with very complex interactions withseveral other functions (SendAsyncSignal, SendInterrupt, SendPacket). This meant that making anychanges to how packet sending functions and threads interact was very difficult and error-prone.This change does not add any functionality yet, it merely paves the way for future changes. In afollow-up, I plan to add the ability to have multiple query packets in flight (i.e.,request,request,response,response instead of the usual request,response sequences) and use thatto speed up qModuleInfo packet processing.Here, I introduce two special kinds of locks: ContinueLock, which is used by the continue thread,and Lock, which is used by everyone else. ContinueLock (atomically) sends a continue packet, andblocks any other async threads from accessing the connection. Other threads create an instance ofthe Lock object when they want to access the connection. This object, while in scope prevents thecontinue from being send. Optionally, it can also interrupt the process to gain access to theconnection for async processing.Most of the syncrhonization logic is encapsulated within these two classes. Some of it stillhad to bleed over into the SendContinuePacketAndWaitForResponse, but the function is still muchmore manageable than before -- partly because of most of the work is done in the ContinueLockclass, and partly because I have factored out a lot of the packet processing code separatefunctions (this also makes the functionality more easily testable). Most importantly, there isnone of syncrhonization code in the async thread users -- as far as they are concerned, they justneed to declare a Lock object, and they are good to go (SendPacketAndWaitForResponse is now avery thin wrapper around the NoLock version of the function, whereas previously it had over 100lines of synchronization code).  This will make my follow up changes there easy.I have written a number of unit tests for the new code and I have ran the test suite on linux andosx with no regressions.Subscribers: tberghammerDifferential Revision: https://reviews.llvm.org/D22629llvm-svn: 277139

            List of files:
            /llvm-project-15.0.7/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h</description>
        <pubDate>Fri, 29 Jul 2016 13:10:02 +0000</pubDate>
        <dc:creator>Pavel Labath &lt;labath@google.com&gt;</dc:creator>
    </item>
</channel>
</rss>
