<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Mon, Aug 7, 2017 at 12:43 PM Simon Dardis <<a href="mailto:Simon.Dardis@imgtec.com">Simon.Dardis@imgtec.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
> From: David Blaikie [<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>]<br>
> Sent: 07 August 2017 19:57<br>
> To: Simon Dardis; <a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
> Subject: Re: [llvm] r310262 - [DebugInfo][DWARF] Correct some usages of PRIx32 to PRIx64<br>
<br>
Sorry, I misread the buildbot's current set of changes, build 4915 should show that it passes.<br>
<br>
> Was it only failing on MIPS?<br>
<br>
As far as I could see it was only failing on MIPS, it has been on my to-fix list for some time as I<br>
believed it was a libc bug which required upgrading the machines. If it had been failing on other<br>
machines, I believe clayborg or someone else would have spotted it and reverted it.<br>
<br>
> Is it possible to test it more portably?<br>
<br>
Honestly, I'm not sure. The failing unittests synthesize an object section with dwarf debug info<br>
then verify it and match the textual output of the verifier against known correct textual output. I<br>
believe the existing tests are sufficient.<br>
<br>
Providing input to llc with debug info and getting llvm-dwarfdump to verify the input seems to<br>
be exactly the equivalent what the unit test is doing.<br></blockquote><div><br></div><div>Another option (mentioned in the branch of this thread with Paul Robinson) is to have assembly or object files checked in (or there is some support for generating DWARF from yaml files - not sure if it's sufficiently descriptively powerful for this issue) - this may be necessary when testing DWARF that LLVM doesn't currently produce but for which the DWARF parsing APIs are intended to support, which seems to be the case here.<br><br>Getting an object file or crafting one (taking a simple example from clang, for example & tweaking some properties) might be enough to test this. Though of course coming up with a very large offset could be tricky - maybe an assembly test would work well by making it easy to write a large region of zeros or whatever (I don't know assembly too well, but I'm guessing there's a directive that's like "a million bytes of zero") to create interesting offsets if they have to actually be real (if they don't have to be real offsets - the file can just contain lies, large offsets into a section that's actually much smaller, etc).</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">The only other thing I can think of is dropping the use of format(..) completely and using formatv(..)<br>
which claims to support type-safe / compile time checked formatting.<br></blockquote><div><br></div><div>Might be a better fix, but hopefully orthogonal to the discussion of how to test that the issue is fixed.<br><br>- Dave</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
If you have any suggestions, I'm quite open to them.<br>
<br>
Thanks,<br>
Simon<br>
<br>
> On Mon, Aug 7, 2017 at 11:51 AM Simon Dardis <<a href="mailto:Simon.Dardis@imgtec.com" target="_blank">Simon.Dardis@imgtec.com</a>> wrote:<br>
<br>
>> From: David Blaikie [<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>]<br>
>> Sent: 07 August 2017 19:34<br>
>> To: Simon Dardis; <a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
>>  Subject: Re: [llvm] r310262 - [DebugInfo][DWARF] Correct some usages of PRIx32 to PRIx64<br>
> > Test case?<br>
<br>
> This is already covered by:<br>
> LLVM-Unit::DWARFDebugInfo.TestDwarfVerifyInvalidCURef<br>
> LLVM-Unit::DWARFDebugInfo.TestDwarfVerifyInvalidStmtList<br>
<br>
> Which have been failing for some time on clang-cmake-mips(el):<br>
<br>
> <a href="http://lab.llvm.org:8011/builders/clang-cmake-mips/builds/4913" rel="noreferrer" target="_blank">http://lab.llvm.org:8011/builders/clang-cmake-mips/builds/4913</a><br>
<br>
> build 4914 when it's finished, should show those tests passing.<br>
<br>
> Thanks,<br>
<br>
> SImon<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
</blockquote></div></div>