<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;}
span.EmailStyle17
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.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">r328578.<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""> llvm-commits [mailto:llvm-commits-bounces@lists.llvm.org]
<b>On Behalf Of </b>via llvm-commits<br>
<b>Sent:</b> Monday, March 26, 2018 2:57 PM<br>
<b>To:</b> dblaikie@gmail.com; jh7370.2008@my.bristol.ac.uk<br>
<b>Cc:</b> llvm-commits@lists.llvm.org<br>
<b>Subject:</b> RE: [llvm] r328235 - [DWARF] Replace assert with diagnostic. PR36868.<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">I think it is a fine comment.
</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">  I was off Friday, I will take care of it today.<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>
<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""> David Blaikie [mailto:dblaikie@gmail.com]
<br>
<b>Sent:</b> Monday, March 26, 2018 12:31 PM<br>
<b>To:</b> jh7370.2008@my.bristol.ac.uk<br>
<b>Cc:</b> Robinson, Paul; llvm-commits<br>
<b>Subject:</b> Re: [llvm] r328235 - [DWARF] Replace assert with diagnostic. PR36868.<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">Ping - Paul, any thoughts on James's comment?<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">On Fri, Mar 23, 2018 at 8:16 AM James Henderson via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@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-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
<div>
<div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt">Hi Paul,<o:p></o:p></p>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt">Spotted this whilst rebasing D44560: in the fprintf, the second PRIx32 should be a PRIx8, to match the return type of getAddressSize().<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal">James<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">On 22 March 2018 at 19:37, Paul Robinson via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>> wrote:<o:p></o:p></p>
<p class="MsoNormal">Author: probinson<br>
Date: Thu Mar 22 12:37:56 2018<br>
New Revision: 328235<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=328235&view=rev" target="_blank">
http://llvm.org/viewvc/llvm-project?rev=328235&view=rev</a><br>
Log:<br>
[DWARF] Replace assert with diagnostic. PR36868.<br>
<br>
Added:<br>
    llvm/trunk/test/DebugInfo/X86/dwarfdump-line-mismatch.s<br>
Modified:<br>
    llvm/trunk/lib/DebugInfo/DWARF/DWARFDebugLine.cpp<br>
<br>
Modified: llvm/trunk/lib/DebugInfo/DWARF/DWARFDebugLine.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/DWARF/DWARFDebugLine.cpp?rev=328235&r1=328234&r2=328235&view=diff" target="_blank">
http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/DWARF/DWARFDebugLine.cpp?rev=328235&r1=328234&r2=328235&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/DebugInfo/DWARF/DWARFDebugLine.cpp (original)<br>
+++ llvm/trunk/lib/DebugInfo/DWARF/DWARFDebugLine.cpp Thu Mar 22 12:37:56 2018<br>
@@ -551,8 +551,14 @@ bool DWARFDebugLine::LineTable::parse(DW<br>
         // from the size of the operand.<br>
         if (DebugLineData.getAddressSize() == 0)<br>
           DebugLineData.setAddressSize(Len - 1);<br>
-        else<br>
-          assert(DebugLineData.getAddressSize() == Len - 1);<br>
+        else if (DebugLineData.getAddressSize() != Len - 1) {<br>
+          fprintf(stderr, "Mismatching address size at offset 0x%8.8" PRIx32<br>
+                  " expected 0x%2.2" PRIx32 " found 0x%2.2" PRIx64 "\n",<br>
+                  ExtOffset, DebugLineData.getAddressSize(), Len - 1);<br>
+          // Skip the rest of the line-number program.<br>
+          *OffsetPtr = EndOffset;<br>
+          return false;<br>
+        }<br>
         State.Row.Address = DebugLineData.getRelocatedAddress(OffsetPtr);<br>
         if (OS)<br>
           *OS << format(" (0x%16.16" PRIx64 ")", State.Row.Address);<br>
<br>
Added: llvm/trunk/test/DebugInfo/X86/dwarfdump-line-mismatch.s<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/dwarfdump-line-mismatch.s?rev=328235&view=auto" target="_blank">
http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/dwarfdump-line-mismatch.s?rev=328235&view=auto</a><br>
==============================================================================<br>
--- llvm/trunk/test/DebugInfo/X86/dwarfdump-line-mismatch.s (added)<br>
+++ llvm/trunk/test/DebugInfo/X86/dwarfdump-line-mismatch.s Thu Mar 22 12:37:56 2018<br>
@@ -0,0 +1,38 @@<br>
+# The .debug_info section says 8-byte addresses, but the assembler<br>
+# will generate a line table with 4-byte addresses (for i686).<br>
+<br>
+# RUN: llvm-mc -filetype=obj -triple i686-linux-gnu %s -o - | \<br>
+# RUN: llvm-dwarfdump -debug-line - 2>&1 | FileCheck %s<br>
+<br>
+# CHECK: Mismatching address size at offset 0x{{[0-9a-f]+}}<br>
+# CHECK-SAME: expected 0x08 found 0x04<br>
+       .text<br>
+       .file   "reduced.c"<br>
+       .globl  main<br>
+main:<br>
+       .file   1 "/tmp" "reduced.c"<br>
+       .loc    1 2 0<br>
+       xorl    %eax, %eax<br>
+       retl<br>
+       .file   2 "/tmp/repeat/repeat/repeat/repeat" "repeat.h"<br>
+<br>
+       .section        .debug_abbrev,"",@progbits<br>
+       .byte   1                       # Abbreviation Code<br>
+       .byte   17                      # DW_TAG_compile_unit<br>
+       .byte   0                       # DW_CHILDREN_no<br>
+       .byte   16                      # DW_AT_stmt_list<br>
+       .byte   23                      # DW_FORM_sec_offset<br>
+       .byte   0                       # EOM(1)<br>
+       .byte   0                       # EOM(2)<br>
+       .byte   0                       # EOM(3)<br>
+<br>
+        .section       .debug_info,"",@progbits<br>
+       .long   .Lend0 - .Lbegin0       # Length of Unit<br>
+.Lbegin0:<br>
+       .short  4                       # DWARF version number<br>
+       .long   .debug_abbrev           # Offset Into Abbrev. Section<br>
+       .byte   8                       # Address Size (in bytes)<br>
+       .byte   1                       # Abbrev [1] 0xb:0x1f DW_TAG_compile_unit<br>
+       .long   .debug_line             # DW_AT_stmt_list<br>
+.Lend0:<br>
+       .section        .debug_line,"",@progbits<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<p class="MsoNormal">_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><o:p></o:p></p>
</blockquote>
</div>
</div>
</div>
</div>
</body>
</html>