[lldb-dev] [PATCH][Linux] compilation fails on linux after revision 196787
Xavier de Gaye
xdegaye at gmail.com
Wed Dec 11 07:42:53 PST 2013
This has been commited at r196830 and fixes the build but there is still
an issue on linux with r196787.
When lldb is built on linux at r196786 (the previous revision) with the
attached sin_len.patch (to fix temporarily the issue
http://llvm.org/bugs/show_bug.cgi?id=18210 so as to allow the build),
then lldb stops correctly at main in the following simple test:
breakpoint set --name main
run
When lldb is built on linux at r196787 with the sin_len.patch and with
the changes made in r196830 applied (same as the patch proposed in the
OP), the above simple test fails and lldb is stuck in a futex syscall.
Xavier
On 12/10/2013 10:00 PM, Greg Clayton wrote:
> Looks good.
>
> On Dec 9, 2013, at 1:54 PM, Xavier de Gaye wrote:
>
>> The following patch fixes this.
>>
>> Xavier
>>
>>
>> diff --git a/tools/lldb/source/Plugins/Process/Linux/LinuxThread.cpp
b/tools/lldb/source/Plugins/Process/Linux/LinuxThread.cpp
>> --- a/tools/lldb/source/Plugins/Process/Linux/LinuxThread.cpp
>> +++ b/tools/lldb/source/Plugins/Process/Linux/LinuxThread.cpp
>> @@ -12,6 +12,10 @@
>> // Other libraries and framework includes
>> // Project includes
>> #include "LinuxThread.h"
>> +#include "lldb/Core/State.h"
>> +#include "ProcessPOSIX.h"
>> +#include "ProcessMonitor.h"
>> +#include "ProcessPOSIXLog.h"
>>
>> using namespace lldb;
>> using namespace lldb_private;
>> diff --git a/tools/lldb/source/Plugins/Process/Linux/LinuxThread.h
b/tools/lldb/source/Plugins/Process/Linux/LinuxThread.h
>> --- a/tools/lldb/source/Plugins/Process/Linux/LinuxThread.h
>> +++ b/tools/lldb/source/Plugins/Process/Linux/LinuxThread.h
>> @@ -33,7 +33,7 @@
>>
>> // POSIXThread overrides
>> virtual bool
>> - LinuxThread::Resume();
>> + Resume();
>>
>> virtual void
>> RefreshStateAfterStop();
>> diff --git
a/tools/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp
b/tools/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp
>> --- a/tools/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp
>> +++ b/tools/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp
>> @@ -182,7 +182,7 @@
>> uint32_t thread_count = m_thread_list.GetSize(false);
>> for (uint32_t i = 0; i < thread_count; ++i)
>> {
>> - POSIXThread *thread = static_cast<POSIXThread*>(
>> + LinuxThread *thread = static_cast<LinuxThread*>(
>> m_thread_list.GetThreadAtIndex(i, false).get());
>> did_resume = thread->Resume() || did_resume;
>> }
>> diff --git a/tools/lldb/source/Plugins/Process/Linux/ProcessLinux.h
b/tools/lldb/source/Plugins/Process/Linux/ProcessLinux.h
>> --- a/tools/lldb/source/Plugins/Process/Linux/ProcessLinux.h
>> +++ b/tools/lldb/source/Plugins/Process/Linux/ProcessLinux.h
>> @@ -60,6 +60,9 @@
>> virtual bool
>> UpdateThreadList(lldb_private::ThreadList &old_thread_list,
lldb_private::ThreadList &new_thread_list);
>>
>> + virtual lldb_private::Error
>> + DoResume();
>> +
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sin_len.patch
Type: text/x-patch
Size: 1153 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20131211/c3a54496/attachment.bin>
More information about the lldb-dev
mailing list