<div dir="ltr">Small update: looks like it compiles fine on Linux.<div>Let me know if I should commit.</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On 9 March 2014 23:30, 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">Ok here is the patch. Moved most <span style="font-size:13px;font-family:arial,sans-serif">RegisterContext*</span> files from PluginProcessPOSIX to <span style="font-size:13px;font-family:arial,sans-serif">PluginProcessUtility.</span><div>
<span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div><div>It fixes windows build. Didn't test it yet on Linux, so might be a few things I missed, but no reason it shouldn't work.</div></div>
</div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><br><div class="gmail_quote">On 9 March 2014 21:48, 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">Seems that it still relies on RegisterContextLinux/POSIX to be available.<div>Shouldn't RegisterContext classes be moved from PluginProcessPOSIX to PluginProcessUtility?</div>
<div><br></div><div>BTW, I also had some code in Process/Thread implementations that I wanted to share between POSIX and Windows, would PluginProcessUtility be a good location to do a common base class for ProcessPOSIX/ProcessWindows and ThreadPOSIX/ThreadWindows?</div>
</div><div><div><div class="gmail_extra"><br><br><div class="gmail_quote">On 9 March 2014 20:40, 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">Ok I think I fixed it on my build, will commit it soon.</div><div><div><div class="gmail_extra">
<br><br><div class="gmail_quote">On 8 March 2014 05:42, Greg Clayton <span dir="ltr"><<a href="mailto:gclayton@apple.com" target="_blank">gclayton@apple.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">The logging is just used in one spot in ProcessELFCore, I would switch the include from:<br>
<br>
#include "ProcessPOSIXLog.h"<br>
<br>
to:<br>
<br>
#include "lldb/lldb-private-log.h"<br>
<br>
And change the logging from:<br>
<br>
Log *log (ProcessPOSIXLog::GetLogIfAllCategoriesSet (POSIX_LOG_PROCESS));<br>
<br>
to:<br>
<br>
Log *log(GetLogIfAllCategoriesSet(LIBLLDB_LOG_PROCESS));<br>
<br>
<br>
Let me know if this fixes your issues?<br>
<div><div><br>
On Mar 6, 2014, at 9:00 PM, Ahmed Charles <<a href="mailto:acharles@outlook.com" target="_blank">acharles@outlook.com</a>> wrote:<br>
<br>
> Unfortunately, adding ProcessElfCore and JITLoaderGDB to the cmake build isn't 'obvious', since ProcessElfCore replies on ProcessPOSIXLog.h, which is in the ProcessPOSIX plugin, which is also not built on Windows. I don't know if that plugin is supported on Windows, for remote debugging or not, so adding it would be premature.<br>
><br>
> Any advice would be appreciated.<br>
><br>
><br>
> ----------------------------------------<br>
>> From: <a href="mailto:gclayton@apple.com" target="_blank">gclayton@apple.com</a><br>
>> Date: Thu, 6 Mar 2014 15:36:55 -0800<br>
>> To: <a href="mailto:ahmedcharles@gmail.com" target="_blank">ahmedcharles@gmail.com</a><br>
>> CC: <a href="mailto:lldb-commits@cs.uiuc.edu" target="_blank">lldb-commits@cs.uiuc.edu</a><br>
>> Subject: Re: [Lldb-commits] [lldb] r203107 - Fix Windows build break introduced in r203035.<br>
>><br>
>> JITLoader and ProcessELFCore should be able to build on any system so that you can use this functionality to do remote debugging.<br>
>><br>
>> I reverted your patch with:<br>
>><br>
>> % svn commit<br>
>> Sending source/lldb.cpp<br>
>> Transmitting file data .<br>
>> Committed revision 203178.<br>
>><br>
>> The real fix for Windows is to make sure it builds all that it needs to in order to support ProcessElfCore and JITLoaderGDB. That probably means fixing the Makefiles or CMakeList.txt files.<br>
>><br>
>> On Mar 6, 2014, at 3:30 AM, Ahmed Charles <<a href="mailto:ahmedcharles@gmail.com" target="_blank">ahmedcharles@gmail.com</a>> wrote:<br>
>><br>
>>> Author: ace2001ac<br>
>>> Date: Thu Mar 6 05:30:34 2014<br>
>>> New Revision: 203107<br>
>>><br>
>>> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=203107&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=203107&view=rev</a><br>
>>> Log:<br>
>>> Fix Windows build break introduced in r203035.<br>
>>><br>
>>> Add '#if defined(__linux__) || defined(__FreeBSD__)' around JITLoaderGDB<br>
>>> and ProcessElfCore, which are only built on Linux and FreeBSD.<br>
>>><br>
>>> Modified:<br>
>>> lldb/trunk/source/lldb.cpp<br>
>>><br>
>>> Modified: lldb/trunk/source/lldb.cpp<br>
>>> URL: <a href="http://llvm.org/viewvc/llvm-project/lldb/trunk/source/lldb.cpp?rev=203107&r1=203106&r2=203107&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/lldb/trunk/source/lldb.cpp?rev=203107&r1=203106&r2=203107&view=diff</a><br>
>>> ==============================================================================<br>
>>> --- lldb/trunk/source/lldb.cpp (original)<br>
>>> +++ lldb/trunk/source/lldb.cpp Thu Mar 6 05:30:34 2014<br>
>>> @@ -124,8 +124,10 @@ lldb_private::Initialize ()<br>
>>> ScriptInterpreterPython::InitializePrivate();<br>
>>> OperatingSystemPython::Initialize();<br>
>>> #endif<br>
>>> +#if defined(__linux__) || defined(__FreeBSD__)<br>
>>> JITLoaderGDB::Initialize();<br>
>>> ProcessElfCore::Initialize();<br>
>>> +#endif<br>
>>><br>
>>> #if defined (__APPLE__)<br>
>>> //----------------------------------------------------------------------<br>
>>> @@ -208,9 +210,11 @@ lldb_private::Terminate ()<br>
>>> #ifndef LLDB_DISABLE_PYTHON<br>
>>> OperatingSystemPython::Terminate();<br>
>>> #endif<br>
>>> +#if defined(__linux__) || defined(__FreeBSD__)<br>
>>> JITLoaderGDB::Terminate();<br>
>>> ProcessElfCore::Terminate();<br>
>>> -<br>
>>> +#endif<br>
>>> +<br>
>>> #if defined (__APPLE__)<br>
>>> DynamicLoaderMacOSXDYLD::Terminate();<br>
>>> DynamicLoaderDarwinKernel::Terminate();<br>
>>><br>
>>><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>
>> _______________________________________________<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>
_______________________________________________<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></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>