[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