[Lldb-commits] [lldb] r216238 - Add missing HostInfo::Initialize() in llgs.

Todd Fiala tfiala at google.com
Tue Aug 26 12:18:14 PDT 2014


Ok back looking at this for real.

So I'm going to need to adjust Debugger::Initalize() or use an alternative
installation path.  Right now it goes and calls lldb_private::Initialize(),
which pretty much brings in the whole world.  llgs needs to be *thin*, as
we're counting on static linkage and dead code elimination to cut out the
bulk of the exe size.  There is a ton more stuff initialized in
lldb_private::Initialize() than we need in llgs.

(e.g. ProcessLinux, DynamicLoader*, language runtimes, etc. --- none of
those should be getting initialized in llgs).




On Tue, Aug 26, 2014 at 11:52 AM, Todd Fiala <tfiala at google.com> wrote:

> Ok - but - are we okay with moving PluginManager::Initialize() within
> there?  If so, we're good.  Because HostInfo::Initialize() needs to come
> *before* PluginManager::Initialize().
>
> Seems reasonable, I just need to peek where we're initializing
> PluginManager.
>
>
> On Tue, Aug 26, 2014 at 11:51 AM, Greg Clayton <gclayton at apple.com> wrote:
>
>> then HostInfo::Initialize() should go first within Debugger::Initialize()
>> and HostInfo::Terminate() should go last in Debugger::Terminate().
>>
>> > On Aug 26, 2014, at 11:46 AM, Todd Fiala <tfiala at google.com> wrote:
>> >
>> > > But I think Debugger depends on HostInfo being initialized first.
>> >
>> > Rather I meant:
>> > * PluginManager::Initialize() requires HostInfo to already be
>> initialized.
>> > * Debugger::Initialize() expects PluginManager is already initialized.
>> >
>> >
>> > On Tue, Aug 26, 2014 at 11:44 AM, Todd Fiala <tfiala at google.com> wrote:
>> > There might be an issue there.
>> >
>> > PluginManager uses the file system initialization.  But I think
>> Debugger depends on HostInfo being initialized first.
>> >
>> > I'll look and see if I can detangle that.
>> >
>> >
>> > On Tue, Aug 26, 2014 at 11:43 AM, Todd Fiala <tfiala at google.com> wrote:
>> > Ah ok.  I'll move those in a minute.  Another check-in coming shortly
>> before.
>> >
>> >
>> > On Tue, Aug 26, 2014 at 11:34 AM, Greg Clayton <gclayton at apple.com>
>> wrote:
>> > Todd:
>> >
>> > HostInfo::Intialize() should be done in Debugger::Initialize()
>> > HostInfo::Terminate() should be done in Debugger::Terminate()
>> >
>> > We want there to be single call to initialize everything and terminate
>> everything and this is done via the Debugger calls.
>> >
>> > > On Aug 21, 2014, at 3:41 PM, Todd Fiala <todd.fiala at gmail.com> wrote:
>> > >
>> > > Author: tfiala
>> > > Date: Thu Aug 21 17:41:25 2014
>> > > New Revision: 216238
>> > >
>> > > URL: http://llvm.org/viewvc/llvm-project?rev=216238&view=rev
>> > > Log:
>> > > Add missing HostInfo::Initialize() in llgs.
>> > >
>> > > This fixes an llgs segfault on startup.
>> > >
>> > > Modified:
>> > >    lldb/trunk/tools/lldb-gdbserver/lldb-gdbserver.cpp
>> > >
>> > > Modified: lldb/trunk/tools/lldb-gdbserver/lldb-gdbserver.cpp
>> > > URL:
>> http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/lldb-gdbserver/lldb-gdbserver.cpp?rev=216238&r1=216237&r2=216238&view=diff
>> > >
>> ==============================================================================
>> > > --- lldb/trunk/tools/lldb-gdbserver/lldb-gdbserver.cpp (original)
>> > > +++ lldb/trunk/tools/lldb-gdbserver/lldb-gdbserver.cpp Thu Aug 21
>> 17:41:25 2014
>> > > @@ -32,6 +32,7 @@
>> > > #include "lldb/Core/Debugger.h"
>> > > #include "lldb/Core/PluginManager.h"
>> > > #include "lldb/Core/StreamFile.h"
>> > > +#include "lldb/Host/HostInfo.h"
>> > > #include "lldb/Host/OptionParser.h"
>> > > #include "lldb/Host/Socket.h"
>> > > #include "lldb/Interpreter/CommandInterpreter.h"
>> > > @@ -152,6 +153,7 @@ dump_available_platforms (FILE *output_f
>> > > static void
>> > > initialize_lldb_gdbserver ()
>> > > {
>> > > +    HostInfo::Initialize ();
>> > >     PluginManager::Initialize ();
>> > >     Debugger::Initialize (NULL);
>> > > }
>> > > @@ -159,7 +161,7 @@ initialize_lldb_gdbserver ()
>> > > static void
>> > > terminate_lldb_gdbserver ()
>> > > {
>> > > -    Debugger::Terminate();
>> > > +    Debugger::Terminate ();
>> > >     PluginManager::Terminate ();
>> > > }
>> > >
>> > >
>> > >
>> > > _______________________________________________
>> > > lldb-commits mailing list
>> > > lldb-commits at cs.uiuc.edu
>> > > http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits
>> >
>> > _______________________________________________
>> > 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
>> >
>> >
>> >
>> >
>> > --
>> > Todd Fiala |   Software Engineer |     tfiala at google.com |
>> 650-943-3180
>> >
>> >
>> >
>> >
>> > --
>> > Todd Fiala |   Software Engineer |     tfiala at google.com |
>> 650-943-3180
>> >
>>
>>
>
>
> --
> Todd Fiala | Software Engineer |  tfiala at google.com |  650-943-3180
>



-- 
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/20140826/a00b7728/attachment.html>


More information about the lldb-commits mailing list