<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
gdbserver support is really something that fits well in the core of
gdb-remote as any development efforts<br>
in supporting lldb-gdbserver and gdbserver will benefit each other,
which wouldn't be the case if gdbserver support<br>
it pushed into a fringe python script.<br>
<br>
I have had success building libxml2 from source on windows, which
was my main concern, and the process was relatively painless.<br>
I don't think it will be too much of a hassle to build lldb with xml
support on windows, and likely free on unix systems.<br>
<br>
Coupling python and gdbserver support sounds bad in the long term,
so I'll continue in favor of libxml2.<br>
<br>
<br>
<div class="moz-cite-prefix">On 01/04/2015 18:19, Colin Riley wrote:<br>
</div>
<blockquote cite="mid:201504011719.t31HJcaV016701@mail.codeplay.com"
type="cite">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="Generator" content="Microsoft Word 15 (filtered
medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:#1F497D;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri",sans-serif;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
<div>
<div style="font-family: Calibri,sans-serif; font-size: 11pt;">In
my opinion, forcing python is worse. </div>
</div>
<div dir="ltr">
<hr><span style="font-family: Calibri,sans-serif; font-size:
11pt; font-weight: bold;">From: </span><span
style="font-family: Calibri,sans-serif; font-size: 11pt;"><a
moz-do-not-send="true"
href="mailto:ted.woodward@codeaurora.org">Ted Woodward</a></span><br>
<span style="font-family: Calibri,sans-serif; font-size: 11pt;
font-weight: bold;">Sent: </span><span style="font-family:
Calibri,sans-serif; font-size: 11pt;">01/04/2015 17:42</span><br>
<span style="font-family: Calibri,sans-serif; font-size: 11pt;
font-weight: bold;">To: </span><span style="font-family:
Calibri,sans-serif; font-size: 11pt;"><a
moz-do-not-send="true" href="mailto:zturner@google.com">'Zachary
Turner'</a>; <a moz-do-not-send="true"
href="mailto:vince@nethacker.com">'Vince Harron'</a></span><br>
<span style="font-family: Calibri,sans-serif; font-size: 11pt;
font-weight: bold;">Cc: </span><span style="font-family:
Calibri,sans-serif; font-size: 11pt;"><a
moz-do-not-send="true" href="mailto:lldb-dev@cs.uiuc.edu">lldb-dev@cs.uiuc.edu</a></span><br>
<span style="font-family: Calibri,sans-serif; font-size: 11pt;
font-weight: bold;">Subject: </span><span style="font-family:
Calibri,sans-serif; font-size: 11pt;">Re: [lldb-dev]
Increasing support for other gdbservers</span><br>
<br>
</div>
<div class="WordSection1">
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);
font-family: "Calibri",sans-serif; font-size:
11pt;">But which is a worse dependency when we want to parse
gdbserver’s xml files – add a dependency to libxml2, or
force python?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color: rgb(31, 73, 125);
font-family: "Calibri",sans-serif; font-size:
11pt;"><o:p> </o:p></span></p>
<p class="MsoNormal"><b><span style="font-family:
"Calibri",sans-serif; font-size: 11pt;">From:</span></b><span
style="font-family: "Calibri",sans-serif;
font-size: 11pt;"> Zachary Turner
[<a class="moz-txt-link-freetext" href="mailto:zturner@google.com">mailto:zturner@google.com</a>] <br>
<b>Sent:</b> Wednesday, April 01, 2015 10:37 AM<br>
<b>To:</b> Ted Woodward; Vince Harron<br>
<b>Cc:</b> <a class="moz-txt-link-abbreviated" href="mailto:lldb-dev@cs.uiuc.edu">lldb-dev@cs.uiuc.edu</a><br>
<b>Subject:</b> Re: [lldb-dev] Increasing support for other
gdbservers<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">You mean write python code to do xml
parsing? I've done some work lately to separate python from
the rest of the codebase so that in theory it can be replaced
with an interpreter for a different language. Plus there's
already LLDB_DISABLE_PYTHON, and since the functionality that
the xml parser is needed for is not logically tied to the
python interpreter, it would be a shame to make them
physically tied.<br>
<br>
Plus clang already uses libxml2 so it makes some sense to
remain consistent <o:p></o:p></p>
<div>
<p class="MsoNormal">On Wed, Apr 1, 2015 at 8:29 AM Ted
Woodward <<a moz-do-not-send="true"
href="mailto:ted.woodward@codeaurora.org">ted.woodward@codeaurora.org</a>>
wrote:<o:p></o:p></p>
<blockquote style="border-width: medium medium medium 1pt;
border-style: none none none solid; border-color:
currentColor currentColor currentColor rgb(204, 204, 204);
padding: 0in 0in 0in 6pt; border-image: none; margin-right:
0in; margin-left: 4.8pt;">
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt: auto;
mso-margin-bottom-alt: auto;"><span style="color:
rgb(31, 73, 125); font-family:
"Calibri",sans-serif; font-size: 11pt;">Since
you mentioned Python…a thought came to mind. Python
includes several XML parsers. I use minidom to parse
the TLB and Pagetable XML files that the Hexagon
Simulator produces and Hexagon GDB consumes. If
we’re going to require a dependency, why not one
that we already use, and use a Python XML parser?</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt: auto;
mso-margin-bottom-alt: auto;"><span style="color:
rgb(31, 73, 125); font-family:
"Calibri",sans-serif; font-size: 11pt;"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt: auto;
mso-margin-bottom-alt: auto;"><b><span
style="font-family:
"Calibri",sans-serif; font-size: 11pt;">From:</span></b><span
style="font-family: "Calibri",sans-serif;
font-size: 11pt;"> <a moz-do-not-send="true"
href="mailto:lldb-dev-bounces@cs.uiuc.edu"
target="_blank">lldb-dev-bounces@cs.uiuc.edu</a>
[mailto:<a moz-do-not-send="true"
href="mailto:lldb-dev-bounces@cs.uiuc.edu"
target="_blank">lldb-dev-bounces@cs.uiuc.edu</a>]
<b>On Behalf Of </b>Vince Harron<br>
<b>Sent:</b> Wednesday, April 01, 2015 2:46 AM<br>
<b>To:</b> Zachary Turner</span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt: auto;
mso-margin-bottom-alt: auto;"><span
style="font-family: "Calibri",sans-serif;
font-size: 11pt;"><br>
<b>Cc:</b> <a moz-do-not-send="true"
href="mailto:lldb-dev@cs.uiuc.edu" target="_blank">lldb-dev@cs.uiuc.edu</a><br>
<b>Subject:</b> Re: [lldb-dev] Increasing support
for other gdbservers</span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt: auto;
mso-margin-bottom-alt: auto;"> <o:p></o:p></p>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:
auto; mso-margin-bottom-alt: auto;">I think I get
it. Objection withdrawn.<o:p></o:p></p>
</div>
</div>
</div>
</div>
<div>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt: auto;
mso-margin-bottom-alt: auto;"> <o:p></o:p></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:
auto; mso-margin-bottom-alt: auto;">On Wed, Apr 1,
2015 at 12:44 AM, Vince Harron <<a
moz-do-not-send="true"
href="mailto:vince@nethacker.com"
target="_blank">vince@nethacker.com</a>>
wrote:<o:p></o:p></p>
<blockquote style="border-width: medium medium
medium 1pt; border-style: none none none solid;
border-color: currentColor currentColor
currentColor rgb(204, 204, 204); margin: 5pt 0in
5pt 4.8pt; padding: 0in 0in 0in 6pt; border-image:
none;">
<div>
<p class="MsoNormal" style="mso-margin-top-alt:
auto; mso-margin-bottom-alt: auto;">This is a
pretty cool feature for people who want to use
lldb on windows against gdbserver<o:p></o:p></p>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt: auto;
mso-margin-bottom-alt: auto;"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt: auto;
mso-margin-bottom-alt: auto;"> <o:p></o:p></p>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt: auto;
mso-margin-bottom-alt: auto;">On Tue,
Mar 31, 2015 at 5:57 PM, Zachary Turner
<<a moz-do-not-send="true"
href="mailto:zturner@google.com"
target="_blank">zturner@google.com</a>>
wrote:<o:p></o:p></p>
<blockquote style="border-width: medium
medium medium 1pt; border-style: none
none none solid; border-color:
currentColor currentColor currentColor
rgb(204, 204, 204); margin: 5pt 0in 5pt
4.8pt; padding: 0in 0in 0in 6pt;
border-image: none;">
<p class="MsoNormal"
style="mso-margin-top-alt: auto;
mso-margin-bottom-alt: auto;">I think
uses of it would only need to be
guarded if we plan to use it in
generic code. So yea, if all the code
that uses it goes into a file that
isn't compiled on windows anyway, then
the problem becomes very simple <o:p></o:p></p>
<div>
<div>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt: auto;
mso-margin-bottom-alt: auto;">On
Tue, Mar 31, 2015 at 5:41 PM
Jason Molenda <<a
moz-do-not-send="true"
href="mailto:jmolenda@apple.com"
target="_blank">jmolenda@apple.com</a>>
wrote:<o:p></o:p></p>
<blockquote style="border-width:
medium medium medium 1pt;
border-style: none none none
solid; border-color:
currentColor currentColor
currentColor rgb(204, 204, 204);
margin: 5pt 0in 5pt 4.8pt;
padding: 0in 0in 0in 6pt;
border-image: none;">
<p class="MsoNormal"
style="mso-margin-top-alt:
auto; mso-margin-bottom-alt:
auto;">fwiw on Mac OS X we use
libxml2 over in
Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp.
That plugin's initialization
is #ifdef __APPLE__ over in
SystemInitializerFull.cpp; we
don't have ifdef guard around
the use of libxml2 in
SymbolVendorMacOSX itself.<br>
<br>
<br>
> On Mar 31, 2015, at 4:18
PM, Vince Harron <<a
moz-do-not-send="true"
href="mailto:vince@nethacker.com"
target="_blank">vince@nethacker.com</a>>
wrote:<br>
><br>
> I really don't want LLDB
to embed a copy of libxml2. I
think we should build it
externally and reference it
from LLDB. Systems with
package managers can get this
trivially. Windows can
download and build all
dependencies with one script.<br>
><br>
> On Mar 31, 2015 2:10 PM,
"Colin Riley" <<a
moz-do-not-send="true"
href="mailto:colin@codeplay.com"
target="_blank">colin@codeplay.com</a>>
wrote:<br>
> I noticed that use in
cmake also. FWIW, my primary
LLDB platform is Windows,
which is why we were using
TinyXML2 for ease of
prototyping. If libxml2 works
on all the targets we will use
it - I do worry about the
usual issues you get with
windows prebuilts. So source
may still be required. We'll
look into it.<br>
><br>
> Colin<br>
><br>
> On 31/03/2015 20:45,
Zachary Turner wrote:<br>
>> There's already some
stuff in the CMake to try to
find libxml, but it's behind a
Darwin specific branch in the
CMake. So I think what would
need to happen is that we move
this into a platform agnostic
codepath, and then set a
define like LLDB_HAVE_LIBXML2
in the code to a value that
indicates whether it is
present (search clang for
CLANG_HAVE_LIBXML in *.* to
see how this is done). Then,
in the code, we would need to
put xml code behind a check
for this define.<br>
>><br>
>> On Tue, Mar 31, 2015
at 10:02 AM Zachary Turner
<<a moz-do-not-send="true"
href="mailto:zturner@google.com" target="_blank">zturner@google.com</a>>
wrote:<br>
>> A good rule of thumb
for anything is that "Windows
doesn't have it" and that
holds true for libxml2 as
well. It appears that libxml2
does support Windows though (<a
moz-do-not-send="true"
href="http://xmlsoft.org/downloads.html"
target="_blank">http://xmlsoft.org/downloads.html</a>),
it just isn't something that's
there by default. It would be
nice if everyone were using
the same thing, could we clone
this repo in our own repo and
then just build it ourselves
as part of the build process.
The license looks very
permissive, but IANAL.<br>
>><br>
>> On Tue, Mar 31, 2015
at 9:47 AM Greg Clayton <<a
moz-do-not-send="true"
href="mailto:gclayton@apple.com"
target="_blank">gclayton@apple.com</a>>
wrote:<br>
>><br>
>> > On Mar 31, 2015,
at 3:35 AM, Aidan Dodds <<a
moz-do-not-send="true"
href="mailto:aidan@codeplay.com"
target="_blank">aidan@codeplay.com</a>>
wrote:<br>
>> ><br>
>> > On 30/03/2015
18:38, Greg Clayton wrote:<br>
>> > ><br>
>> > > I know
about the register numbering
stuff and I would love to see
support for the
"$qXfer:features:" added to
LLDB. The one thing this data
doesn't contain is the
register numbers for the ABI
(DWARF register numbers (for
debug info), compiler register
numbers (for like .eh_frame)),
but that info could be
inferred from an ABI plugin
that we could infer from the
"osabi" of "GNU/Linux" in the
target.xml:<br>
>> ><br>
>> > ><br>
>> > > So please
do submit patches that
implement this and we will be
happy to approve them.<br>
>> ><br>
>> > I am currently
prototyping $qXfer:features
support in LLDB with an aim to
upstream it. It will require
an XML parser, so I wanted to
have a discussion about adding
one to LLDB.<br>
>><br>
>> Most unix variants
have libxml2 that is
available. I am not sure on
windows though. I have CC'ed
Zachary to get some input on
windows XML (in case LLVM
doesn't already have some
support for this).<br>
>><br>
>> > I have been
using TinyXML2 in my
prototype, which is open
sourced under the ZLib
license. Is there any policy
in LLDB for handling external
library dependencies?<br>
>> > Would there be
objections to TinyXML2 making
its way into the LLDB code
base as an external? Writing a
new XML parser from scratch in
LLDB isn't ideal.<br>
>><br>
>> It would be great to
stick with stuff that everyone
has installed and hopefully
that is libxml2. Windows is
the biggest question. I am
also not sure if llvm or clang
has any XML support, but we
should first look to see if
llvm has XML support and if
not, then look for
alternatives. We definitely do
not want to write our own.<br>
>> ><br>
>> > I would still
like to have a discussion
about adding a plugin
architecture to gdb-remote
making it easier to handle
packets outwith the LLDB based
servers. The code in
gdb-remote that sends and
handles packets is scattered
over one or two huge classes,
it would be beneficial to
start looking at breaking this
up and modularizing it. At
least for the packets which
are not supported by lldb's
own RSP producers.<br>
>><br>
>> I say just build all
and any support it into
GDBRemoteCommunicationClient
and
GDBRemoteCommunicationServer.
I don't see the need to break
it up.<br>
>><br>
>> Greg Clayton<br>
>><br>
>><br>
>>
_______________________________________________<br>
>> lldb-dev mailing list<br>
>><br>
>> <a
moz-do-not-send="true"
href="mailto:lldb-dev@cs.uiuc.edu"
target="_blank">lldb-dev@cs.uiuc.edu</a><br>
>> <a
moz-do-not-send="true"
href="http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev"
target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev</a><br>
><br>
><br>
>
_______________________________________________<br>
> lldb-dev mailing list<br>
> <a
moz-do-not-send="true"
href="mailto:lldb-dev@cs.uiuc.edu"
target="_blank">lldb-dev@cs.uiuc.edu</a><br>
> <a
moz-do-not-send="true"
href="http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev"
target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev</a><br>
><br>
>
_______________________________________________<br>
> lldb-dev mailing list<br>
> <a
moz-do-not-send="true"
href="mailto:lldb-dev@cs.uiuc.edu"
target="_blank">lldb-dev@cs.uiuc.edu</a><br>
> <a
moz-do-not-send="true"
href="http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev"
target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev</a><br>
<br>
<br>
_______________________________________________<br>
lldb-dev mailing list<br>
<a moz-do-not-send="true"
href="mailto:lldb-dev@cs.uiuc.edu"
target="_blank">lldb-dev@cs.uiuc.edu</a><br>
<a moz-do-not-send="true"
href="http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev"
target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev</a><o:p></o:p></p>
</blockquote>
</div>
</div>
</div>
</blockquote>
</div>
<p class="MsoNormal"
style="mso-margin-top-alt: auto;
mso-margin-bottom-alt: auto;"> <o:p></o:p></p>
</div>
</div>
</div>
</blockquote>
</div>
<p class="MsoNormal" style="mso-margin-top-alt: auto;
mso-margin-bottom-alt: auto;"> <o:p></o:p></p>
</div>
</div>
</div>
</blockquote>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
lldb-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:lldb-dev@cs.uiuc.edu">lldb-dev@cs.uiuc.edu</a>
<a class="moz-txt-link-freetext" href="http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev">http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev</a>
</pre>
</blockquote>
<br>
</body>
</html>