[lldb-dev] Everyone: please download, build and test the new iohandler branch

Abid, Hafiz Hafiz_Abid at mentor.com
Tue Jan 7 08:21:33 PST 2014

Hi Greg,

> -----Original Message-----
> From: lldb-dev-bounces at cs.uiuc.edu [mailto:lldb-dev-bounces at cs.uiuc.edu]
> On Behalf Of Greg Clayton
> Sent: 02 January 2014 22:57
> To: lldb-dev at cs.uiuc.edu
> Subject: [lldb-dev] Everyone: please download, build and test the new
> iohandler branch
> svn co https://$USER@llvm.org/svn/llvm-project/lldb/branches/iohandler
> The first step is to get it building for your platform as I am sure the Makefiles
> are out of date.
> This branch will soon be merged back into top of tree, but I wanted to give
> all the major platforms time to submit patches against this to get things
> working on all systems before any buildbots get broken.
> The major benefits include:
> - editline is not built into the lldb shared library so all IOHandler objects can
> use the editline functionality.
> - autocomplete now working in the embedded python interpreter
> - history now working in the embedded python interpreter
> - autocomplete now working for multi-line command entering (like in
> "breakpoint command add")
> - when editing multiple lines you can use the UP and DOWN arrow keys to
> edit previous lines. This makes multi-line expressions and commands much
> easier to write and edit. Use ^B and ^N for next/prev history when in multi-
> line mode.
> - curses is now supported with the new IOHandler infrastructure. To try this
> out, run and hit a breakpoint, and type "gui" on the command line to drop
> into the curses GUI mode! Lots of stuff isn't hooked up yet, but I am sure the
> open source community can help fill in some new views and improve existing
> ones.
> So please get this building and test this on your system and let us know
> what issues you run into.

I tried to build this branch using cmake on Ubuntu 12.04 with gcc 4.8. 
There were some build issues that I fixed as follows.

Include limits.h in Editline.cpp for PATH_MAX and libncurses in the cmake files.
I also noted that libedit version on my system was missing 
some defines like EL_PROMPT_ESC. I have to get hold of a recent version for libedit.
After that lldb builds fine on my system. Still have to test it though.

I am pasting the changes needed for the build below.

Index: source/Host/common/Editline.cpp
--- source/Host/common/Editline.cpp	(revision 198682)
+++ source/Host/common/Editline.cpp	(working copy)
@@ -15,6 +14,8 @@
 #include "lldb/Core/StringList.h"
 #include "lldb/Host/Host.h"
+#include <limits.h> 
 using namespace lldb;
 using namespace lldb_private;
Index: source/Symbol/ClangASTType.cpp
--- source/Symbol/ClangASTType.cpp	(revision 198682)
+++ source/Symbol/ClangASTType.cpp	(working copy)
@@ -1135,7 +1135,7 @@
         if (typedef_type)
             const TypedefNameDecl *typedef_decl = typedef_type->getDecl();
-            type_name = typedef_decl->getQualifiedNameAsString(printing_policy);
+            type_name = typedef_decl->getQualifiedNameAsString();
Index: CMakeLists.txt
--- CMakeLists.txt	(revision 198682)
+++ CMakeLists.txt	(working copy)
@@ -265,6 +265,10 @@
   list(APPEND system_libs execinfo)
+  list(APPEND system_libs ncurses)


> Greg Clayton
> _______________________________________________
> lldb-dev mailing list
> lldb-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev

More information about the lldb-dev mailing list