labath wrote:

> > The question here is who is using those files and why. These are all 
> > plugins, so they shouldn't be pulled in unless they are `Initialized`.
> 
> RichManglingContext.cpp is not a plugin and it uses `m_cxx_method_parser = 
> new CPlusPlusLanguage::MethodName(demangled);`, including casting 
> `get<CPlusPlusLanguage::MethodName>(m_cxx_method_parser)`. We can move 
> `CPlusPlusLanguage::MethodName` from CPlusPlusLanguage plugin to core, but it 
> still depends on CPlusPlusNameParser.cpp

I was referring more to the other items on the list. I assumed, it seems 
incorrectly, that Alex's patch would fix the dependency in the mangler. It 
seems like that part still needs to be pluginized, somehow.

> 
> > Another way to attack this would be to remove the 
> > SystemLifetimeManager->Debugger dependency.
> 
> I tried it. `SystemLifetimeManager` calls `Debugger::Initialize(nullptr);` 
> and `Debugger::Terminate();`. `Debugger::Initialize()` creates a mutex and an 
> empty list of debuggers. But it seems the Debugger instance is created while 
> a remote process is running. I'm not sure lldb-server can work w/o Debugger. 
> It also contains a lot of I/O handling code and thread pools. Anyway the 
> class Debugger is used directly in many places. We can start making the class 
> Debugger an interface and move the implementation to the new class 
> DebuggerImpl or such.


I'm actually very much opposed to that. lldb-server not need/use a Debugger, 
nor a thread pool nor any IO handling present in that file. I wouldn't want to 
create a Debugger "plugin" for the sake of lldb-server. It should be cut off 
above that.

https://github.com/llvm/llvm-project/pull/132274
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to