[www] r323565 - Update GSOC project list for LLDB.

Adrian Prantl via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 26 13:43:14 PST 2018


Author: adrian
Date: Fri Jan 26 13:43:14 2018
New Revision: 323565

URL: http://llvm.org/viewvc/llvm-project?rev=323565&view=rev
Log:
Update GSOC project list for LLDB.

Differential Revision: https://reviews.llvm.org/D41832

Modified:
    www/trunk/OpenProjects.html

Modified: www/trunk/OpenProjects.html
URL: http://llvm.org/viewvc/llvm-project/www/trunk/OpenProjects.html?rev=323565&r1=323564&r2=323565&view=diff
==============================================================================
--- www/trunk/OpenProjects.html (original)
+++ www/trunk/OpenProjects.html Fri Jan 26 13:43:14 2018
@@ -6,6 +6,20 @@
   <li><a href="#gsoc18">Google Summer of Code 2018</a>
     <ul>
     <li>
+    <a href="http://lldb.llvm.org/"><b>LLDB</b></a><ul>
+      <li><a href="#lldb-reimplement-lldb-mi">Reimplement lldb-mi on top of the
+          LLDB public API</a>
+      </li>
+
+      <li><a href="#lldb-reimplement-lldb-cmdline">Reimplement LLDB's
+          command-line commands using the public SB API.</a>
+      </li>
+      <li><a href="#lldb-batch-testing">Add support for batch-testing to the LLDB
+          testsuite.</a>
+        </li>
+    </ul>
+    </li>
+    <li>
         <b>Others</b>
         <ul>
             <li><a href="#apt">Integrate libc++ and OpenMP in apt.llvm.org</a>
@@ -59,12 +73,6 @@
       </li>
     </ul>
     </li><li>
-    <a href="http://lldb.llvm.org/"><b>LLDB</b></a><ul>
-      <li><a href="#lldb-reimplement-lldb-mi">Reimplement lldb-mi on top of the
-          LLDB public API</a>
-      </li>
-    </ul>
-    </li><li>
     <a href="http://lld.llvm.org/"><b>LLD</b></a><ul>
       <li><a href="#lld_layout">Improve Code Layout</a>
       </li>
@@ -150,6 +158,102 @@ main <a href="https://developers.google.
 
 
 <!-- *********************************************************************** -->
+<div class="www_subsection">
+  <a>LLDB</a>
+</div>
+<!-- *********************************************************************** -->
+
+<!-- *********************************************************************** -->
+<div class="www_subsubsection">
+  <a name="lldb-reimplement-lldb-cmdline">Reimplement LLDB's command-line commands
+  using the public SB API.</a>
+</div>
+<!-- *********************************************************************** -->
+
+<div class="www_text">
+  <p><b>Description of the project: </b> Just as LLVM is a library to
+    build compilers, LLDB is a library to build debuggers. LLDB vends
+    a stable, public SB API. Due to historic reasons the LLDB command
+    line interface is currently implemented on top of LLDB's private
+    API and it duplicates a lot of functionality that is already
+    implemented in the public API. Rewriting LLDB's command line
+    interface on top of the public API would simplify the
+    implementation, eliminate duplicate code, and most importantly
+    reduce the testing surface.
+  </p>
+  <p>
+    This work will also provide an opportunity to clean up the SB API
+    of commands that have accrued too many overloads over time and
+    convert them to make use of option classes to both gather up all
+    the variants and also future-proof the APIs.
+  </p>
+  <p><b>Confirmed Mentor:</b>Adrian Prantl and Jim Ingham</p>
+
+  <p><b>Desirable skills:</b>
+    Intermediate knowledge of C++.
+  </p>
+</div>
+
+<!-- *********************************************************************** -->
+<div class="www_subsubsection">
+  <a name="lldb-reimplement-lldb-mi">Reimplement lldb-mi on top of the LLDB
+    public SB API.</a>
+</div>
+<!-- *********************************************************************** -->
+
+<div class="www_text">
+  <p><b>Description of the project: </b> <em>lldb-mi</em> implements a
+    machine-readable interface that is supported by many IDEs and text
+    editors. The current support is incomplete and does not implement
+    enough commands to work with most text editors. More importantly,
+    it isn't using the right abstraction layer: Instead of executing
+    textual commands via <em>handleCommand()</em> and scraping LLDB's
+    textual output, it should be using the methods and data structures
+    provided by the public SB API.
+  </p>
+  <p><b>Confirmed Mentor:</b> Adrian Prantl</p>
+
+  <p><b>Desirable skills:</b>
+    Intermediate knowledge of C++.
+  </p>
+</div>
+
+<!-- *********************************************************************** -->
+<div class="www_subsubsection">
+  <a name="lldb-batch-testing">Add support for batch-testing to the LLDB
+    testsuite.</a>
+</div>
+<!-- *********************************************************************** -->
+
+<div class="www_text">
+  <p><b>Description of the project: </b>One of the tensions in the
+    testsuite is that spinning up a process and getting it to some
+    point is not a cheap operation, so you'd like to do a bunch of
+    tests when you get there.  But the current testsuite bails at the
+    first failure, so you don't want to do many tests since the
+    failure of one fails all the others. On the other hand, there are
+    some individual test assertions where the failure of the assertion
+    <em>should</em> cause the whole test to fail.  For example, if you
+    fail to stop at a breakpoint where you want to check some variable
+    values, then the whole test should fail.  But if your test then
+    wants to check the value of five independent locals, it should be
+    able to do all five, and then report how many of the five variable
+    assertions failed. We could do this by adding <em>Start</em>
+    and <em>End</em> markers for a batch of tests, do all the tests in
+    the batch without failing the whole test, and then report the
+    error and fail the whole test if appropriate. There might also be
+    a nice way to do this in Python using scoped objects for the test
+    sections.
+  </p>
+  <p><b>Confirmed Mentor:</b> Jim Ingham</p>
+
+  <p><b>Desirable skills:</b>
+    Intermediate knowledge of Python.
+  </p>
+</div>
+
+
+<!-- *********************************************************************** -->
 <div class="www_sectiontitle">
   <a name="gsoc17">Google Summer of Code 2017</a>
 </div>
@@ -567,33 +671,6 @@ accepted and completed projects, please
 
 <!-- *********************************************************************** -->
 <div class="www_subsection">
-  <a>LLDB</a>
-</div>
-<!-- *********************************************************************** -->
-
-<!-- *********************************************************************** -->
-<div class="www_subsubsection">
-  <a name="lldb-reimplement-lldb-mi">Reimplement lldb-mi on top of the LLDB
-    public API.</a>
-</div>
-<!-- *********************************************************************** -->
-
-<div class="www_text">
-  <p><b>Description of the project: </b>
-    lldb-mi implements a machine-readable interface that is supported by many
-    IDEs. The current support is very incomplete and isn't using the right
-    abstraction layer. Instead of scraping LLDB's textual output, it should be
-    using the data structures provided by the public API.
-  </p>
-  <p><b>Confirmed Mentor:</b> Adrian Prantl, Greg Clayton</p>
-
-  <p><b>Desirable skills:</b>
-    Intermediate knowledge of C++.
-  </p>
-</div>
-
-<!-- *********************************************************************** -->
-<div class="www_subsection">
   <a>LLD</a>
 </div>
 <!-- *********************************************************************** -->




More information about the llvm-commits mailing list