[Lldb-commits] [lldb] r203107 - Fix Windows build break introduced in r203035.

Todd Fiala tfiala at google.com
Tue Mar 11 13:26:11 PDT 2014


Hi Virgile,

> In that case I suppose I better wait for Todd's changes? (sounds great
BTW!)

Don't worry about waiting for me.  Thanks, though!

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.

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.

That's the rough plan I think.  Timeline subject to vary :-)

-Todd



On Mon, Mar 10, 2014 at 8:36 PM, Virgile Bello <virgile.bello at gmail.com>wrote:

> 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.
> In that case I suppose I better wait for Todd's changes? (sounds great
> BTW!)
>
> 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.
>
>
>
> On 11 March 2014 06:02, Todd Fiala <tfiala at google.com> wrote:
>
>> 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.
>>
>> 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.
>>
>> 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:
>>
>> > As an aside, note that the division of code between the POSIX and
>> FreeBSD/Linux classes isn't quite correct; in some cases identical or
>> nearly-identical code exists in both the FreeBSD and Linux classes,
>> and in other cases code in ProcessPOSIX is actually Linux specific.
>>
>> might just shake out or become more approachable after I pound through my
>> changes.
>>
>>
>> On Mon, Mar 10, 2014 at 1:44 PM, Ed Maste <emaste at freebsd.org> wrote:
>>
>>>  Seems fine to me as well, assuming it's actually "svn mv" when you go
>>> to commit.  If it compiles on Linux it should on FreeBSD as well, or
>>> will be trivially fixed.
>>>
>>> As an aside, note that the division of code between the POSIX and
>>> FreeBSD/Linux classes isn't quite correct; in some cases identical or
>>> nearly-identical code exists in both the FreeBSD and Linux classes,
>>> and in other cases code in ProcessPOSIX is actually Linux specific.
>>> It might be a good opportunity for us to clean some of this up if
>>> you're going to introduce base classes for Windows and POSIX.
>>>
>>> On 10 March 2014 14:12, Greg Clayton <gclayton at apple.com> wrote:
>>> > Looks fine.
>>> >
>>> > On Mar 10, 2014, at 9:16 AM, Virgile Bello <virgile.bello at gmail.com>
>>> wrote:
>>> >
>>> >> Small update: looks like it compiles fine on Linux.
>>> >> Let me know if I should commit.
>>> _______________________________________________
>>> lldb-commits mailing list
>>> lldb-commits at cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits
>>>
>>
>>
>>
>> --
>>  Todd Fiala | Software Engineer |  tfiala at google.com |  650-943-3180
>>
>> _______________________________________________
>> lldb-commits mailing list
>> lldb-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits
>>
>>
>


-- 
Todd Fiala | Software Engineer | tfiala at google.com | 650-943-3180
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20140311/9c17f56e/attachment.html>


More information about the lldb-commits mailing list