<div dir="ltr"><div style="font-size:13px;font-family:arial,sans-serif">Hi Virgile,</div><div><br></div>> <span style="font-family:arial,sans-serif;font-size:13px">In that case I suppose I better wait for Todd's changes? (sounds great BTW!)</span><div style="font-family:arial,sans-serif;font-size:13px">
<br></div><div style="font-family:arial,sans-serif;font-size:13px">Don't worry about waiting for me.  Thanks, though!</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">
My code will come in over a few stages - first stage will be a new NativeProcessProtocol impl class, NativeProcessLinux, that will look mostly like the Linux ProcessMonitor but will communicate over the Broadcaster/Listener mechanism.  At the same time I'll start introducing lldb-gdbserver features that work with NativeProcessProtocol/NativeThreadProtocol.  </div>
<div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">After I get that somewhat ironed out and working with lldb-gdbserver, I think Ed might help out doing the same for FreeBSD.  Then we can migrate the ProcessPOSIX/ProcessLinux/ProcessFreeBSD over to using NativeProcessProtocol and (hopefully) can drop the FreeBSD and Linux ProcessMonitor classes.</div>
<div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">That's the rough plan I think.  Timeline subject to vary :-)</div><div style="font-family:arial,sans-serif;font-size:13px">
<br></div><div style="font-family:arial,sans-serif;font-size:13px">-Todd </div><div style="font-family:arial,sans-serif;font-size:13px"><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Mar 10, 2014 at 8:36 PM, Virgile Bello <span dir="ltr"><<a href="mailto:virgile.bello@gmail.com" target="_blank">virgile.bello@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Yes it would end up being mostly SVN move (differences are very small, mostly sizeof(GPR::register) macros become sizeof(((GPR*)NULL)->register) so that it works with MSVC.</div>
<div>In that case I suppose I better wait for Todd's changes? (sounds great BTW!)<br>

</div><div><br></div><div>Note that Windows build is currently broken, so please let me know if you think it will take some time to get those changes sorted out, I will just put a temporary #ifndef _WIN32 around those two modules init in lldb.cpp in that case.</div>


<div><br></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><br><div class="gmail_quote">On 11 March 2014 06:02, Todd Fiala <span dir="ltr"><<a href="mailto:tfiala@google.com" target="_blank">tfiala@google.com</a>></span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">As an early heads up on this subject: for lldb-gdbserver, I'm in the early processes of refactoring ProcessPOSIX and derived classes to decouple ProcessMonitor from ProcessLinux/ProcessFreeBSD.  The way I'm doing it, ProcessMonitor is essentially going to become embedded in a NativeProcessProtocol.  Just like now, I expect there will be a separate one for both FreeBSD and Linux.<div>



<br></div><div>For the case of lldb-gdbserver where we don't want a heavy-weight ProcessPOSIX-like object running the show, the same ProcessMonitor kernel of operation (via the NativeProcessProtocol impls, communicating via the Broadcaster/Listener mechanism) will be used.<div>



<br></div><div>I mention this because I think the decoupling that will be introduced by this whole process will likely shake out some of the duplicate code that exists on the Linux and FreeBSD side (and/or identify code that is definitely not platform neutral).  So some of what you mention here:</div>


<div>
<div><br></div><div>> <span style="font-family:arial,sans-serif;font-size:13px">As an aside, note that the division of code between the POSIX and</span></div><span style="font-family:arial,sans-serif;font-size:13px">FreeBSD/Linux classes isn't quite correct; in some cases identical or</span><br style="font-family:arial,sans-serif;font-size:13px">



<span style="font-family:arial,sans-serif;font-size:13px">nearly-identical code exists in both the FreeBSD and Linux classes,</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">and in other cases code in ProcessPOSIX is actually Linux specific.</span><div>



<font face="arial, sans-serif"><br></font></div></div><div><font face="arial, sans-serif">might just shake out or become more approachable after I pound through my changes.</font></div></div></div><div class="gmail_extra">


<br><br>
<div class="gmail_quote"><div><div>On Mon, Mar 10, 2014 at 1:44 PM, Ed Maste <span dir="ltr"><<a href="mailto:emaste@freebsd.org" target="_blank">emaste@freebsd.org</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<div><div>
Seems fine to me as well, assuming it's actually "svn mv" when you go<br>
to commit.  If it compiles on Linux it should on FreeBSD as well, or<br>
will be trivially fixed.<br>
<br>
As an aside, note that the division of code between the POSIX and<br>
FreeBSD/Linux classes isn't quite correct; in some cases identical or<br>
nearly-identical code exists in both the FreeBSD and Linux classes,<br>
and in other cases code in ProcessPOSIX is actually Linux specific.<br>
It might be a good opportunity for us to clean some of this up if<br>
you're going to introduce base classes for Windows and POSIX.<br>
<div><br>
On 10 March 2014 14:12, Greg Clayton <<a href="mailto:gclayton@apple.com" target="_blank">gclayton@apple.com</a>> wrote:<br>
> Looks fine.<br>
><br>
> On Mar 10, 2014, at 9:16 AM, Virgile Bello <<a href="mailto:virgile.bello@gmail.com" target="_blank">virgile.bello@gmail.com</a>> wrote:<br>
><br>
>> Small update: looks like it compiles fine on Linux.<br>
>> Let me know if I should commit.<br>
</div></div></div><div><div><div>_______________________________________________<br>
lldb-commits mailing list<br>
<a href="mailto:lldb-commits@cs.uiuc.edu" target="_blank">lldb-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits</a><br>
</div></div></div></blockquote></div><span><font color="#888888"><br><br clear="all"><div><br></div>-- <br><div dir="ltr"><table cellspacing="0" cellpadding="0" style="color:rgb(136,136,136);font-family:'Times New Roman'">


<tbody><tr style="color:rgb(85,85,85);font-family:sans-serif;font-size:small">
<td nowrap style="border-top-style:solid;border-top-color:rgb(213,15,37);border-top-width:2px">Todd Fiala |</td><td nowrap style="border-top-style:solid;border-top-color:rgb(51,105,232);border-top-width:2px"> Software Engineer |</td>



<td nowrap style="border-top-style:solid;border-top-color:rgb(0,153,57);border-top-width:2px"> <a href="mailto:tfiala@google.com" style="color:rgb(17,85,204)" target="_blank"><span style="background-color:rgb(255,255,204);color:rgb(34,34,34);background-repeat:initial initial">tfiala@google.com</span></a> |</td>



<td nowrap style="border-top-style:solid;border-top-color:rgb(238,178,17);border-top-width:2px"><font color="#1155cc"> <a>650-943-3180</a></font></td></tr></tbody></table><br></div>
</font></span></div>
<br>_______________________________________________<br>
lldb-commits mailing list<br>
<a href="mailto:lldb-commits@cs.uiuc.edu" target="_blank">lldb-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits</a><br>
<br></blockquote></div><br></div>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr"><table cellspacing="0" cellpadding="0" style="color:rgb(136,136,136);font-family:'Times New Roman'"><tbody><tr style="color:rgb(85,85,85);font-family:sans-serif;font-size:small">
<td nowrap style="border-top-style:solid;border-top-color:rgb(213,15,37);border-top-width:2px">Todd Fiala |</td><td nowrap style="border-top-style:solid;border-top-color:rgb(51,105,232);border-top-width:2px"> Software Engineer |</td>
<td nowrap style="border-top-style:solid;border-top-color:rgb(0,153,57);border-top-width:2px"> <a href="mailto:tfiala@google.com" style="color:rgb(17,85,204)" target="_blank"><span style="background-color:rgb(255,255,204);color:rgb(34,34,34);background-repeat:initial initial">tfiala@google.com</span></a> |</td>
<td nowrap style="border-top-style:solid;border-top-color:rgb(238,178,17);border-top-width:2px"><font color="#1155cc"> <a>650-943-3180</a></font></td></tr></tbody></table><br></div>
</div>