[lldb-dev] New linux process plugin

William Lynch wlynch at wlynch.cx
Fri Jul 23 21:17:23 PDT 2010


You missed part of the patch. :)

Index: lib/Makefile
===================================================================
--- lib/Makefile (revision 109327)
+++ lib/Makefile (working copy)
@@ -65,7 +65,7 @@
               lldbPluginObjectFileMachO.a \
               lldbPluginProcessGDBRemote.a \
               lldbPluginUtility.a \
-              lldbPluginSymbolVendorMaxOSX.a
+              lldbPluginSymbolVendorMacOSX.a
 endif

 ifeq ($(HOST_OS),Linux)


On Fri, Jul 23, 2010 at 11:12 PM, Stephen Wilson <wilsons at start.ca> wrote:

> Hi William,
>
> Thanks so much for testing!  Very much appreciated!
>
> Applied both patches as r109327.
>
> Take care,
> Steve
>
> William Lynch <wlynch at wlynch.cx> writes:
>
> > The previous patch will allow lldb to finish building. However, on 10.5,
> I get
> > a linker error at startup time. It's missing
> source/Plugins/Process/MacOSX-User
> > in lldb.dylib. However, at least on my machine, that subdirectory needs
> some
> > work to properly compile.
> >
> > Index: source/Plugins/Makefile
> > ===================================================================
> > --- source/Plugins/Makefile (revision 109318)
> > +++ source/Plugins/Makefile (working copy)
> > @@ -18,7 +18,8 @@
> >
> >  ifeq ($(HOST_OS),Darwin)
> >  DIRS += DynamicLoader/MacOSX-DYLD ObjectContainer/Universal-Mach-O \
> > - ObjectFile/Mach-O Process/gdb-remote Process/Utility
> SymbolVendor/MacOSX
> > + ObjectFile/Mach-O Process/gdb-remote Process/Utility
> SymbolVendor/MacOSX \
> > + Process/MacOSX-User
> >  endif
> >
> >  ifeq ($(HOST_OS),Linux)
> >
> >
> > On Fri, Jul 23, 2010 at 10:37 PM, William Lynch <wlynch at wlynch.cx>
> wrote:
> >
> >     A very small patch which should help building on Darwin:
> >
> >     Index: lib/Makefile
> >     ===================================================================
> >     --- lib/Makefile (revision 109318)
> >     +++ lib/Makefile (working copy)
> >     @@ -65,7 +65,7 @@
> >                    lldbPluginObjectFileMachO.a \
> >                    lldbPluginProcessGDBRemote.a \
> >                    lldbPluginUtility.a \
> >     -              lldbSymbolVendorMaxOSX.a
> >     +              lldbPluginSymbolVendorMacOSX.a
> >      endif
> >
> >      ifeq ($(HOST_OS),Linux)
> >
> >
> >     On Fri, Jul 23, 2010 at 9:19 PM, Stephen Wilson <wilsons at start.ca>
> wrote:
> >
> >         Hi all,
> >
> >         I just pushed the new linux process plugin.  A few notes:
> >
> >         I updated the makefiles to build only under linux.  I do not know
> if
> >         this will build on a mac.  Perhaps someone can try and let me
> know the
> >         result.
> >
> >         Only very basic breakpoint/step-over functionality is present.
>  For
> >         example, we cannot resolve pending breakpoints yet, so one must
> set
> >         breakpoints with the debugee stopped on entry.
> >
> >         Only x86_64 at the moment (will add i386 soon).
> >
> >         Here is a simple example of what is working for those who might
> like to
> >         test it out:
> >
> >         ===
> >
> --------------------------------------------------------------------------
> >         ===
> >          > cat ctest.c
> >
> >           void foo() { return; }
> >
> >           void bar() { return; }
> >
> >           int main()
> >           {
> >               foo();
> >               bar();
> >               return 0;
> >           }
> >
> >          > lldb ./ctest
> >           Current executable set to './ctest' (x86_64).
> >           (lldb) r -s
> >           Launching '/home/steve/tmp/ctest'  (x86_64)
> >           (lldb) Process 0 Launching
> >           Process 0 Stopped
> >           * thread #1: tid = 0x4789, pc = 0x0000003206200af0, ...
> >           (lldb) b s -n foo
> >           Breakpoint created: 1: name = 'foo', locations = 1, resolved =
> 1
> >           (lldb) b s -n bar
> >           Breakpoint created: 2: name = 'bar', locations = 1, resolved =
> 1
> >           (lldb) p c
> >           Resuming process 0
> >           (lldb) Process 0 Stopped
> >           * thread #1: tid = 0x4789, pc = 0x0000000000400478, ...
> >              1
> >              2 ->      void foo() { return; }
> >              3
> >              4         void bar() { return; }
> >              5
> >           (lldb) p c
> >           Resuming process 0
> >           (lldb) Process 0 Stopped
> >           * thread #1: tid = 0x4789, pc = 0x000000000040047e, ...
> >              1
> >              2         void foo() { return; }
> >              3
> >              4 ->      void bar() { return; }
> >              5
> >              6         int main()
> >              7         {
> >           (lldb) q
> >         ===
> >
> --------------------------------------------------------------------------
> >         ===
> >
> >
> >         It's a start.  Let be know of any issues, comments, advice, etc.
> >
> >         Thanks!
> >         Steve
> >         _______________________________________________
> >         lldb-dev mailing list
> >         lldb-dev at cs.uiuc.edu
> >         http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20100723/0525f780/attachment.html>


More information about the lldb-dev mailing list