<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 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;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.gmailmsg
        {mso-style-name:gmail_msg;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@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]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">It's not practical for the DWARF to try to identify the actual address of the vtable; that address might not be available.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">it seems like we could hang onto the linkage_name of the vtable though, somewhere, so you wouldn't be relying on the demangler you have available at runtime
 to produce the same string that the compiler did at compile time.  The symbolic name of the vtable should be unambiguous (one hopes!) but not depend on the existence of the vtable in any particular place.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Doesn't solve the problem for today's compilers, granted.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">--paulr<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">P.S. It would be helpful to have these things come up *before* the next rev of the spec is frozen.  Just sayin'. 
</span><span style="font-size:11.0pt;font-family:Wingdings;color:#1F497D">J</span><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p></o:p></span></p>
<p class="MsoNormal"><a name="_MailEndCompose"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></a></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Greg Clayton [mailto:gclayton@apple.com]
<br>
<b>Sent:</b> Monday, February 06, 2017 2:35 PM<br>
<b>To:</b> Zachary Turner<br>
<b>Cc:</b> Robinson, Paul; LLDB Dev (lldb-dev@lists.llvm.org)<br>
<b>Subject:</b> Re: [lldb-dev] RTTI does not work stable in LLDB.<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">It just says where it is inside the class itself, not what the value of the vtable pointer is:<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt">0x00006628:     TAG_structure_type [112] *<br>
                 AT_containing_type( {0x0000000000006628} )<br>
                 AT_name( "base_type" )<br>
                 AT_byte_size( 0x08 )<br>
                 AT_decl_file( "/private/tmp/main.cpp" )<br>
                 AT_decl_line( 6 )<br>
<br>
0x00006634:         TAG_member [4]  <br>
                     AT_name( "_vptr$base_type" )<br>
                     AT_type( {0x0000000000004a41} ( __vtbl_ptr_type* ) )<br>
                     AT_data_member_location( 0x00 )<br>
                     AT_artificial( true )<o:p></o:p></p>
<div>
<p class="MsoNormal">Just says “the vtable is at offset zero inside the class”. Not helpful for reading any vtable pointer and trying to figure out which class it belongs to. <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Greg<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal">On Feb 6, 2017, at 2:25 PM, Zachary Turner <<a href="mailto:zturner@google.com">zturner@google.com</a>> wrote:<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">Doesn't the DWARF have a record for the VTable itself?  I know PDB does, you can look up the class name through the VTable debug info record rather than trying to demangle the name.<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">On Mon, Feb 6, 2017 at 2:21 PM Greg Clayton via lldb-dev <<a href="mailto:lldb-dev@lists.llvm.org">lldb-dev@lists.llvm.org</a>> wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<p class="MsoNormal">Yeah, when doing dynamic type resolution, we look at the first pointer inside the pointer and see if it resolves to a virtual table symbol. If it does, we extract the class name from the demangled symbol name and try to look up. GDB does
 the same thing. All debuggers do AFAIK.<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">If the DWARF specified the vtable address in the DWARF on the class definition this would help, but without that the only thing we can really do is to try and figure out the class and look it up by name. Also, even if this is added to future
 DWARF, it doesn’t fix the problem that we have many compilers that don’t have the info so we would still need to do what we do. <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">If anyone has any better ideas I am all ears?<o:p></o:p></p>
</div>
</div>
<div>
<div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Greg<o:p></o:p></p>
</div>
</div>
</div>
<div>
<div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal">On Feb 6, 2017, at 11:48 AM, Robinson, Paul <<a href="mailto:paul.robinson@sony.com" target="_blank">paul.robinson@sony.com</a>> wrote:<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<div>
<p class="MsoNormal"><span class="gmailmsg"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">So is LLDB expecting the name in the DWARF info to match the demangled name of the vtable pointer?  The DWARF spec does not really specify
 what the name of a template instantiation should be, and in particular does not *want* to specify whether it matches any given demangler's opinion of the name.</span></span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span class="gmailmsg"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">--paulr</span></span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><a name="m_-3128704471826244692__MailEndCompose"><span class="gmailmsg"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span></span></a><o:p></o:p></p>
</div>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<div>
<p class="MsoNormal"><span class="gmailmsg"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b></span><span class="gmailmsg"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> lldb-dev [<a href="mailto:lldb-dev-bounces@lists.llvm.org" target="_blank">mailto:lldb-dev-bounces@lists.llvm.org</a>] <b>On
 Behalf Of </b>Greg Clayton via lldb-dev</span></span><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""><br>
<span class="gmailmsg"><b>Sent:</b> Monday, February 06, 2017 11:08 AM</span><br>
<span class="gmailmsg"><b>To:</b> Greg Clayton</span><br>
<span class="gmailmsg"><b>Cc:</b> <a href="mailto:lldb-dev@lists.llvm.org" target="_blank">lldb-dev@lists.llvm.org</a></span><br>
<span class="gmailmsg"><b>Subject:</b> Re: [lldb-dev] RTTI does not work stable in LLDB.</span></span><o:p></o:p></p>
</div>
</div>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">So I found the problem. This is a compiler bug. The DWARF for this type looks like:<o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt">0x000065da:     TAG_structure_type [112] *<br>
                 AT_containing_type( {0x0000000000006628} )<br>
                 AT_name( "derived0<int, int, 1024>" )<br>
                 AT_byte_size( 0x08 )<br>
                 AT_decl_file( "/private/tmp/main.cpp" )<br>
                 AT_decl_line( 9 )<o:p></o:p></p>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">But all of the type info in the symbol table has has the type named as "derived0<int, int, 1024u>”. Note the extra “u” that follows 1024. This stops LLDB from being able to lookup the type correctly so we can show the dynamic type. In LLDB
 we check the first pointer inside of a class to see if it is a symbol whose name is “<span class="gmailmsg"><span style="font-size:8.5pt;color:#D12F1B">vtable for TYPENAME”. If it is, we lookup the type “TYPENAME” to find it. In this case we try to lookup </span></span>"derived0<int,
 int, 1024u>” and we fail since the DWARF has it as "derived0<int, int, 1024>”.<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">I have filed a radar on the compiler here at Apple for the fix.<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">Greg<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><o:p> </o:p></p>
</div>
<div>
<div>
<p class="MsoNormal">On Feb 6, 2017, at 10:22 AM, Greg Clayton via lldb-dev <<a href="mailto:lldb-dev@lists.llvm.org" target="_blank"><span style="color:purple">lldb-dev@lists.llvm.org</span></a>> wrote:<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<div>
<div>
<p class="MsoNormal">I am looking at this now. I will let you know what I find.<o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">Greg<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal">On Feb 6, 2017, at 10:00 AM, Roman Popov <<a href="mailto:ripopov@gmail.com" target="_blank"><span style="color:purple">ripopov@gmail.com</span></a>> wrote:<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<div>
<div>
<p class="MsoNormal">Yes, that was my thought. <o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal">FYI, checked in GDB: it's working correctly on this testcase showing correct dynamic type in both cases.<o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal">2017-02-06 9:48 GMT-08:00 Greg Clayton <<a href="mailto:gclayton@apple.com" target="_blank"><span style="color:purple">gclayton@apple.com</span></a>>:<o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal">You have found a bug. It should be reporting this correctly but it isn’t. I verified it fails on MacOSX.<o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">Greg Clayton<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<div>
<div>
<p class="MsoNormal">On Feb 5, 2017, at 1:19 PM, Roman Popov via lldb-dev <<a href="mailto:lldb-dev@lists.llvm.org" target="_blank"><span style="color:purple">lldb-dev@lists.llvm.org</span></a>> wrote:<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
</div>
<div>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal">Hello,<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">I'm observing very strange LLDB behavior: it does not always shows a correct dynamic type when I ask for.<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">Originally I was working with LLDB 3.9, but it looks like trunk version behaves the same strange way.  <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">I was able to capture this behavior in a small code snippet: <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span class="gmailmsg"><span style="font-family:"Courier New"">#include <iostream></span></span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span class="gmailmsg"><span style="font-family:"Courier New"">#include <typeinfo></span></span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span class="gmailmsg"><span style="font-family:"Courier New"">using namespace std;</span></span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span class="gmailmsg"><span style="font-family:"Courier New"">struct base_type {  virtual ~base_type(){} };</span></span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span class="gmailmsg"><span style="font-family:"Courier New"">template <class T1, class T2, unsigned SIZE></span></span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span class="gmailmsg"><span style="font-family:"Courier New"">struct derived0 : base_type {};</span></span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span class="gmailmsg"><span style="font-family:"Courier New"">template <class T1, class T2></span></span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span class="gmailmsg"><span style="font-family:"Courier New"">struct derived1 : base_type {};</span></span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span class="gmailmsg"><span style="font-family:"Courier New"">int main(int argc, char ** argv) {</span></span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span class="gmailmsg"><span style="font-family:"Courier New"">    base_type * bptr0 = new derived0<int, int, 1024>();</span></span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span class="gmailmsg"><span style="font-family:"Courier New"">    base_type * bptr1 = new derived1<int, int >();</span></span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span class="gmailmsg"><span style="font-family:"Courier New"">    cout << typeid(*bptr0).name() << endl;</span></span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span class="gmailmsg"><span style="font-family:"Courier New"">    cout << typeid(*bptr1).name() << endl;</span></span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span class="gmailmsg"><span style="font-family:"Courier New"">    return 0;</span></span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span class="gmailmsg"><span style="font-family:"Courier New"">}</span></span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">lldb --version<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">lldb version 5.0.0 (<a href="http://llvm.org/svn/llvm-project/lldb/trunk" target="_blank"><span style="color:purple">http://llvm.org/svn/llvm-project/lldb/trunk</span></a><span class="gmailmsg"> </span>revision 293398)<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">  clang revision 293398<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">  llvm revision 293398<o:p></o:p></p>
</div>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">Testing in LLDB:<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">(lldb) break set --file main.cpp --line 22<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">(lldb) expression -d no-run --  bptr1<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">(derived1<int, int> *) $2 = 0x0000000000614c40<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">(lldb) expression -d no-run --  bptr0<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><b>(base_type *) $3 = 0x0000000000614c20</b><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">Can someone explain me why for bptr0 I dont get a  <span class="gmailmsg"><span style="font-family:"Courier New"">derived0<int, int, 1024> * as I expected?</span></span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">Thanks,<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">Roman<o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
<div>
<p class="MsoNormal">_______________________________________________<br>
lldb-dev mailing list<br>
<a href="mailto:lldb-dev@lists.llvm.org" target="_blank"><span style="color:purple">lldb-dev@lists.llvm.org</span></a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev" target="_blank"><span style="color:purple">http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev</span></a><o:p></o:p></p>
</div>
</div>
</blockquote>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
</div>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
</div>
<div>
<p class="MsoNormal">_______________________________________________<br>
lldb-dev mailing list<br>
<a href="mailto:lldb-dev@lists.llvm.org" target="_blank"><span style="color:purple">lldb-dev@lists.llvm.org</span></a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev" target="_blank"><span style="color:purple">http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev</span></a><o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</div>
<p class="MsoNormal">_______________________________________________<br>
lldb-dev mailing list<br>
<a href="mailto:lldb-dev@lists.llvm.org" target="_blank">lldb-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev</a><o:p></o:p></p>
</blockquote>
</div>
</div>
</blockquote>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</div>
</body>
</html>