<div dir="ltr">> 

<span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:16px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">(it seems the "native" pdb reading apis in llvm </span><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:16px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">are not all implemented)</span>

<br><div><br></div><div>Sorry, I missed this thread earlier.  That's true, the native PDB reading APIs have been started but are not complete.  I'm working on that, mostly in the context of llvm-pdbutil rather than lldb.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, May 1, 2018 at 9:14 AM, Pavel Labath via lldb-dev <span dir="ltr"><<a href="mailto:lldb-dev@lists.llvm.org" target="_blank">lldb-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I have created a patch <<a href="https://reviews.llvm.org/D46318" rel="noreferrer" target="_blank">https://reviews.llvm.org/<wbr>D46318</a>>, which extends<br>
lldb-test to support more precise dumping of the symbol information in a<br>
module. It uses lld to make sure the tests can run on any system (which has<br>
lld checked out) and to avoid the tests being affected by the environment.<br>
Let me know what you think of it.<br>
<br>
I've also tried using lld for the PDB tests. The lld part worked fine, but<br>
unfortunately, it seems lldb still depends on the microsoft pdb reader to<br>
get the symbol information (it seems the "native" pdb reading apis in llvm<br>
are not all implemented).<br>
<br>
On the bright side, it looks like it should be able to produce working (and<br>
debuggable) MachO binaries using lld. It probably does not support all the<br>
fancy features that the native darwin linker does, but it seemed to work<br>
fine for my hello world examples (the only issue I saw was that it is not<br>
possible to convince it to *not* require the dyld_stub_binder symbol, but<br>
this can be worked around). I am going to continue experimenting here.<br>
<br>
<br>
On Thu, 19 Apr 2018 at 19:41, Ted Woodward <<a href="mailto:ted.woodward@codeaurora.org">ted.woodward@codeaurora.org</a>><br>
wrote:<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
> Our Windows buildbots use msys for gnuisms. The makefiles in the test<br>
suite run fine with minimal modifications (just the object delete hack Zach<br>
put in to use del instead of rm; msys make doesn't accept cmd syntax while<br>
Cygwin make does). Now, that's using clang to build Hexagon binaries, but<br>
teaching the makefile to use cl syntax shouldn't be too hard. I've seen it<br>
done before; same makefile for windows and various unix derivatives, detect<br>
what OS you were running on and set CFLAGS/CXXFLAGS/LDFLAGS accordingly.<br>
<br>
> Ted<br>
<br>
> --<br>
> Qualcomm Innovation Center, Inc.<br>
> The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a<br>
Linux Foundation Collaborative Project<br>
<br>
> > -----Original Message-----<br>
> > From: lldb-dev [mailto:<a href="mailto:lldb-dev-bounces@lists.llvm.org">lldb-dev-bounces@<wbr>lists.llvm.org</a>] On Behalf Of<br>
Pavel<br>
> > Labath via lldb-dev<br>
> > Sent: Thursday, April 19, 2018 12:45 PM<br>
> > To: Leonard Mosescu <<a href="mailto:mosescu@google.com">mosescu@google.com</a>><br>
> > Cc: <a href="mailto:aaron.lee.smith@gmail.com">aaron.lee.smith@gmail.com</a>; LLDB <<a href="mailto:lldb-dev@lists.llvm.org">lldb-dev@lists.llvm.org</a>><br>
> > Subject: Re: [lldb-dev] Proposal: Using LLD in tests<br>
> ><br>
> > On Thu, 19 Apr 2018 at 18:19, Leonard Mosescu <<a href="mailto:mosescu@google.com">mosescu@google.com</a>><br>
> > wrote:<br>
> ><br>
> > >>    the PDB tests under lit/SymbolFile/PDB need a linker to produce<br>
> > >> the<br>
> > program database<br>
> ><br>
> ><br>
> > > With this proposal, would we preserve any coverage for MSVC produced<br>
> > debug information?<br>
> ><br>
> ><br>
> > Well.. the question there is what are you trying to test? Is it the<br>
fact your<br>
> > debugger works with a particular compiler+linker combination (note that<br>
those<br>
> > tests already compile with clang-cl), or that your pdb-parsing code is<br>
sane.<br>
> > (integration vs. regression test).<br>
> ><br>
> > Historically we've only had the former kind of tests (dotest), and<br>
we've had the<br>
> > ability (and used it) to run those tests against different kinds of<br>
compilers. This<br>
> > is all nice, but it means that a specific test will be testing a<br>
different thing for<br>
> > every person who runs it. That's why I would like to build up a suite<br>
of more<br>
> > regression-like tests (*). I would say that the tests under lit/***<br>
should be<br>
> > regression tests and our goal should be to remove as many system<br>
> > dependencies as possible, and leave the job of testing integration with<br>
a<br>
> > specific toolchain to "dotest" tests (**).<br>
> ><br>
> > Technically, the answer to your question is "no", because currently<br>
dotest tests<br>
> > don't know how to work with cl+link. Making that work would be an<br>
interesting<br>
> > project (although a bit annoying as the Makefiles are full of gcc-isms).<br>
> > However, I don't think that should stop us here.<br>
> ><br>
> > (*) Ideally I would like to leave even the compiler out of the equation<br>
for these<br>
> > tests, and make it so that the tests always run on the exact same set<br>
of bytes. I<br>
> > am hoping I will be able to write at least some tests using .s files.<br>
However, I<br>
> > don't think I will do that for all of them, because these files can be<br>
> > long/verbose/tedious to write.<br>
> ><br>
> > (**) However, even "dotest" tests should have a "default" mode which is<br>
as<br>
> > hermetic as possible.<br>
> > ______________________________<wbr>_________________<br>
> > lldb-dev mailing list<br>
> > <a href="mailto:lldb-dev@lists.llvm.org">lldb-dev@lists.llvm.org</a><br>
> > <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/lldb-dev</a><br>
______________________________<wbr>_________________<br>
lldb-dev mailing list<br>
<a href="mailto:lldb-dev@lists.llvm.org">lldb-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/lldb-dev</a><br>
</div></div></blockquote></div><br></div>