<div dir="ltr">> <span style="font-family:arial,sans-serif;font-size:12.727272033691406px">I hope llgs will not use anything strictly bionic and/or binder dependand.</span><div class="im" style="font-family:arial,sans-serif;font-size:12.727272033691406px">
<br></div><div class="im" style="font-family:arial,sans-serif;font-size:12.727272033691406px">I've been focusing on Ubuntu Linux, initially 12.04 LTS but soon to be focusing more on 14.04 LTS.  First x86_64, then other architectures.  We'll also be bringing in Android support.  So no, not focusing only on Android (and as part of bring-up, focusing on Ubuntu Linux first).</div>
<div class="im" style="font-family:arial,sans-serif;font-size:12.727272033691406px"><br></div><div class="im" style="font-family:arial,sans-serif;font-size:12.727272033691406px">I expect most of the Android code will be more or less pure Linux.  However, there are some areas where some of the changes in Android (e.g. security-related lock-down) may require making Android-specific calls at some point to handle an Android target.  We'll keep those areas cleanly abstracted though as the bulk of the Linux process monitoring should be identical.</div>
<div class="im" style="font-family:arial,sans-serif;font-size:12.727272033691406px"><br></div><div class="im" style="font-family:arial,sans-serif;font-size:12.727272033691406px">> <span style="color:rgb(34,34,34)">Seems like extending native lldb support to ARM and/or AArch64 is not something individual contributor should or can do and need some discussion with wider agreement of wider board of developers.</span></div>
<div class="im" style="font-family:arial,sans-serif;font-size:12.727272033691406px"><span style="color:rgb(34,34,34)"><br></span></div><div class="im" style="font-family:arial,sans-serif;font-size:12.727272033691406px"><span style="color:rgb(34,34,34)">Feel free to take a shot at it if you're interested.  If you're interested in local debugging, you can try to modify the existing TOT Linux ProcessMonitor code and the relevant RegisterContext code.  If you want to fork the llgs branch, have a look at NativeProcessProtocol/NativeThreadProtocol/NativeRegisterContext.  These are implemented for Linux with NativeProcessLinux, NativeThreadLinux and NativeRegisterContextLinux_x86_64.  The register context code is the big place that will need some adjustment.  There is some register context factory code in NativeThreadLinux that will need some tweaks, and some software breakpoint code that will need to change in NativeProcessLinux.</span></div>
<div class="im" style="font-family:arial,sans-serif;font-size:12.727272033691406px"><span style="color:rgb(34,34,34)"><br></span></div><div class="im" style="font-family:arial,sans-serif;font-size:12.727272033691406px"><span style="color:rgb(34,34,34)">Otherwise, we'll be happily getting to it for the llgs side.</span></div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sun, Jun 15, 2014 at 10:52 AM, Paul Osmialowski <span dir="ltr"><<a href="mailto:pawelo@king.net.pl" target="_blank">pawelo@king.net.pl</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Todd,<br>
<br>
Seems like accidently I've started off-topic here. The guy asked about Windows while I'm more into Linux and I brought my issues only due to obvious similarities.<div class=""><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
For sure the Linux support is really just x86_64 and x86 32-bit to some <br>
</blockquote>
extent, and not other architectures.<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
It's very likely we'll have AArch64 Linux working at some point.  We're <br>
</blockquote>
working on bringing LLDB up on Android, and one of the earlier steps is getting lldb-gdbserver (llgs) working on Linux (first x86_64,<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
but later many of the architectures that Android supports).<br>
</blockquote>
<br></div>
For varoius reasons I'm avoiding limiting myself to Android. Even on my PandaBoard I'm running Ubuntu image downloaded from Linaro. I hope llgs will not use anything strictly bionic and/or binder dependand.<div class="">
<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
We're less focused on local debugging than on debugging through the <br>
</blockquote>
gdb-remote protocol.  However, Greg Clayton and I have talked some about bringing the NativeProcessProtocol and NativeThreadProtocol<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
mechanisms by which llgs is getting implemented to the local debugging <br>
</blockquote>
side as well (i.e. re-engineering local debugging in terms of Native{Process,Thread}<u></u>Protocol).<br>
<br></div>
Seems like extending native lldb support to ARM and/or AArch64 is not something individual contributor should or can do and need some discussion with wider agreement of wider board of developers.<div class="HOEnZb"><div class="h5">
<br>
<br>
<br>
On Sat, 14 Jun 2014, Todd Fiala wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi Paul,<br>
> Seems like only 'MacOSX and Linux' on 'i686 and x86_64' are properly supported.<br>
<br>
For sure the Linux support is really just x86_64 and x86 32-bit to some extent, and not other architectures.<br>
<br>
It's very likely we'll have AArch64 Linux working at some point.  We're working on bringing LLDB up on Android, and one of the earlier steps is getting lldb-gdbserver (llgs) working on Linux (first x86_64,<br>

but later many of the architectures that Android supports).<br>
<br>
We're less focused on local debugging than on debugging through the gdb-remote protocol.  However, Greg Clayton and I have talked some about bringing the NativeProcessProtocol and NativeThreadProtocol<br>
mechanisms by which llgs is getting implemented to the local debugging side as well (i.e. re-engineering local debugging in terms of Native{Process,Thread}<u></u>Protocol).<br>
<br>
If you're interested, you can see the latest state of the lldb-gdbserver support here:<br>
<br>
<a href="https://github.com/tfiala/lldb/tree/dev-tfiala-native-protocol-linux-x86_64" target="_blank">https://github.com/tfiala/<u></u>lldb/tree/dev-tfiala-native-<u></u>protocol-linux-x86_64</a><br>
<br>
llgs is getting implemented for linux-x86_64 first.  Ed Maste is planning on getting it working for FreeBSD, and Greg and the Apple folks plan to move from debugserver over to llgs at some point after we<br>
work the kinks out of llgs.<br>
<br>
I did spend several days attempting to get an Aarch64 build environment on a DS-5 simulator and a Linaro Aarch64 linux distro but the combination of the lack of speed and the challenges I worked through with<br>
some very helpful ARM engineers made this a less productive avenue than my current linux x86_64 bring-up.  I plan to return back to that or a similar arm64 environment in the near future.<br>
<br>
<br>
On Sat, Jun 14, 2014 at 7:49 AM, Paul Osmialowski <<a href="mailto:pawelo@king.net.pl" target="_blank">pawelo@king.net.pl</a>> wrote:<br>
      Hi Eran,<br>
<br>
      I got the same when I try to debug a _Linux_ application on Linux running on non-PC CPU. Seems like only 'MacOSX and Linux' on 'i686 and x86_64' are properly supported. Problem was already<br>
      described in the message here: <a href="http://comments.gmane.org/gmane.comp.debugging.lldb.devel/3530" target="_blank">http://comments.gmane.org/<u></u>gmane.comp.debugging.lldb.<u></u>devel/3530</a><br>
<br>
      I'd love to try and extend lldb support to Linux on AArch64, although cross-compilation comes with its own struggles that I need to deal with first.<br>
<br>
      I guess woriking out this kind of support for Windows on PC should not be hard.<br>
<br>
      On Sat, 14 Jun 2014, Eran Ifrah wrote:<br>
<br>
             Hi,<br>
<br>
             I tried both building lldb with MSVC and with MinGW both failed to debug<br>
             native Windows executables (I actually tried 3 types of executables, 1<br>
             built with MinGW, 1 with clang 3.4 and 1 with Visual Studio)<br>
<br>
             This is the error I am getting:<br>
<br>
             $ lldb D:/src/TestArea/ClangVC/Debug/<u></u>ClangVC.exe<br>
             error: 'D:/src/TestArea/ClangVC/<u></u>Debug/ClangVC.exe' doesn't contain any<br>
             'host' platform architectures:<br>
             (lldb)<br>
<br>
             So the question is:<br>
             ?Is it possible to use lldb on Windows (for local debugging not remote<br>
             debugging)<br>
<br>
             --<br>
             Eran Ifrah<br>
             Author of codelite, a cross platform open source C/C++ IDE:<br>
             <a href="http://www.codelite.org" target="_blank">http://www.codelite.org</a><br>
             wxCrafter, a wxWidgets RAD: <a href="http://wxcrafter.codelite.org" target="_blank">http://wxcrafter.codelite.org</a><br>
<br>
      ______________________________<u></u>_________________<br>
      lldb-dev mailing list<br>
      <a href="mailto:lldb-dev@cs.uiuc.edu" target="_blank">lldb-dev@cs.uiuc.edu</a><br>
      <a href="http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev" target="_blank">http://lists.cs.uiuc.edu/<u></u>mailman/listinfo/lldb-dev</a><br>
<br>
<br>
<br>
<br>
--<br>
Todd Fiala |<br>
 Software Engineer |<br>
 <a href="mailto:tfiala@google.com" target="_blank">tfiala@google.com</a> |<br>
 <a href="tel:650-943-3180" value="+16509433180" target="_blank">650-943-3180</a><br>
<br>
</blockquote>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr"><table cellspacing="0" cellpadding="0" style="color:rgb(136,136,136);font-family:'Times New Roman'"><tbody><tr style="color:rgb(85,85,85);font-family:sans-serif;font-size:small">
<td nowrap style="border-top-style:solid;border-top-color:rgb(213,15,37);border-top-width:2px">Todd Fiala |</td><td nowrap style="border-top-style:solid;border-top-color:rgb(51,105,232);border-top-width:2px"> Software Engineer |</td>
<td nowrap style="border-top-style:solid;border-top-color:rgb(0,153,57);border-top-width:2px"> <a href="mailto:tfiala@google.com" style="color:rgb(17,85,204)" target="_blank"><span style="background-color:rgb(255,255,204);color:rgb(34,34,34);background-repeat:initial initial">tfiala@google.com</span></a> |</td>
<td nowrap style="border-top-style:solid;border-top-color:rgb(238,178,17);border-top-width:2px"><font color="#1155cc"> <a>650-943-3180</a></font></td></tr></tbody></table><br></div>
</div>