<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Tue, Aug 1, 2017 at 6:26 AM Robinson, Paul <<a href="mailto:paul.robinson@sony.com">paul.robinson@sony.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
<br>
> -----Original Message-----<br>
> From: llvm-commits [mailto:<a href="mailto:llvm-commits-bounces@lists.llvm.org" target="_blank">llvm-commits-bounces@lists.llvm.org</a>] On Behalf<br>
> Of David Blaikie via llvm-commits<br>
> Sent: Monday, July 31, 2017 2:49 PM<br>
> To: <a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
> Subject: [llvm] r309630 - DebugInfo: Put range base specifier entry<br>
> functionality behind a flag<br>
><br>
> Author: dblaikie<br>
> Date: Mon Jul 31 14:48:42 2017<br>
> New Revision: 309630<br>
><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=309630&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=309630&view=rev</a><br>
> Log:<br>
> DebugInfo: Put range base specifier entry functionality behind a flag<br>
><br>
> Chromium's gold build seems to have trouble with this (gold produces<br>
> errors) - not sure if it's gold that's not coping with the valid<br>
> representation, or a bug in the implementation in LLVM, etc.<br>
><br>
> Modified:<br>
> llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp<br>
> llvm/trunk/test/DebugInfo/X86/range_reloc.ll<br>
><br>
> Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-</a><br>
> project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp?rev=309630&r1=309<br>
> 629&r2=309630&view=diff<br>
> ==========================================================================<br>
> ====<br>
> --- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp (original)<br>
> +++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp Mon Jul 31 14:48:42<br>
> 2017<br>
> @@ -61,10 +61,14 @@ static cl::opt<bool><br>
> DisableDebugInfoPrinting("disable-debug-info-print", cl::Hidden,<br>
> cl::desc("Disable debug info printing"));<br>
><br>
> +static cl::opt<bool> UseDwarfRangesBaseAddressSpecifier(<br>
> + "use-dwarf-ranges-base-address-specifier", cl::Hidden,<br>
> + cl::desc("Disable debug info printing"), cl::init(false));<br>
<br>
Looks like a copy-pasto on the description.<br></blockquote><div><br>Ah, yeah - fixed in 309685<br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
> +<br>
> static cl::opt<bool><br>
> -GenerateGnuPubSections("generate-gnu-dwarf-pub-sections", cl::Hidden,<br>
> - cl::desc("Generate GNU-style pubnames and<br>
> pubtypes"),<br>
> - cl::init(false));<br>
> + GenerateGnuPubSections("generate-gnu-dwarf-pub-sections", cl::Hidden,<br>
> + cl::desc("Generate GNU-style pubnames and<br>
> pubtypes"),<br>
> + cl::init(false));<br>
<br>
Spurious reformatting?<br></blockquote><div><br>Yeah - must've touched that line by accident while working in vim (where I have it setup to autoformat any touched lines). Thanks for mentioning/noticing! (not much to do about it now - not like reverting the change would have any positive impact - still leave the blame as-is, etc. But good to notice/be aware of/try to avoid in the future)<br><br>Thanks!<br>- Dave<br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
--paulr<br>
<br>
><br>
> static cl::opt<bool> GenerateARangeSection("generate-arange-section",<br>
> cl::Hidden,<br>
> @@ -1882,7 +1886,8 @@ void DwarfDebug::emitDebugRanges() {<br>
> // or optnone where there may be holes in a single CU's section<br>
> // contrubutions.<br>
> auto *Base = CUBase;<br>
> - if (!Base && P.second.size() > 1) {<br>
> + if (!Base && P.second.size() > 1 &&<br>
> + UseDwarfRangesBaseAddressSpecifier) {<br>
> BaseIsSet = true;<br>
> // FIXME/use care: This may not be a useful base address if<br>
> it's not<br>
> // the lowest address/range in this object.<br>
><br>
> Modified: llvm/trunk/test/DebugInfo/X86/range_reloc.ll<br>
> URL: <a href="http://llvm.org/viewvc/llvm-" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-</a><br>
> project/llvm/trunk/test/DebugInfo/X86/range_reloc.ll?rev=309630&r1=309629&<br>
> r2=309630&view=diff<br>
> ==========================================================================<br>
> ====<br>
> --- llvm/trunk/test/DebugInfo/X86/range_reloc.ll (original)<br>
> +++ llvm/trunk/test/DebugInfo/X86/range_reloc.ll Mon Jul 31 14:48:42 2017<br>
> @@ -1,4 +1,5 @@<br>
> -; RUN: llc -filetype=asm -mtriple=x86_64-pc-linux-gnu %s -o - | FileCheck<br>
> %s<br>
> +; RUN: llc -filetype=asm -mtriple=x86_64-pc-linux-gnu %s -o - -use-dwarf-<br>
> ranges-base-address-specifier | FileCheck --check-prefix=COMMON --check-<br>
> prefix=BASE %s<br>
> +; RUN: llc -filetype=asm -mtriple=x86_64-pc-linux-gnu %s -o - | FileCheck<br>
> --check-prefix=COMMON --check-prefix=NOBASE %s<br>
><br>
> ; Group ranges in a range list that apply to the same section and use a<br>
> base<br>
> ; address selection entry to reduce the number of relocations to one<br>
> reloc per<br>
> @@ -13,23 +14,27 @@<br>
> ; in the linked executable. Without compression in the objects, the win<br>
> would be<br>
> ; smaller (the growth of debug_ranges itself would be more significant).<br>
><br>
> -; CHECK: {{^.Ldebug_ranges0}}<br>
> -; CHECK-NEXT: .quad .Lfunc_begin0<br>
> -; CHECK-NEXT: .quad .Lfunc_end0<br>
> -; CHECK-NEXT: .quad -1<br>
> -; CHECK-NEXT: .quad .Lfunc_begin1<br>
> -; CHECK-NEXT: .quad .Lfunc_begin1-.Lfunc_begin1<br>
> -; CHECK-NEXT: .quad .Lfunc_end1-.Lfunc_begin1<br>
> -; CHECK-NEXT: .quad .Lfunc_begin3-.Lfunc_begin1<br>
> -; CHECK-NEXT: .quad .Lfunc_end3-.Lfunc_begin1<br>
> -; CHECK-NEXT: .quad -1<br>
> -; CHECK-NEXT: .quad 0<br>
> -; CHECK-NEXT: .quad .Lfunc_begin4<br>
> -; CHECK-NEXT: .quad .Lfunc_end4<br>
> -; CHECK-NEXT: .quad .Lfunc_begin5<br>
> -; CHECK-NEXT: .quad .Lfunc_end5<br>
> -; CHECK-NEXT: .quad 0<br>
> -; CHECK-NEXT: .quad 0<br>
> +; COMMON: {{^.Ldebug_ranges0}}<br>
> +; COMMON-NEXT: .quad .Lfunc_begin0<br>
> +; COMMON-NEXT: .quad .Lfunc_end0<br>
> +; BASE-NEXT: .quad -1<br>
> +; BASE-NEXT: .quad .Lfunc_begin1<br>
> +; BASE-NEXT: .quad .Lfunc_begin1-.Lfunc_begin1<br>
> +; BASE-NEXT: .quad .Lfunc_end1-.Lfunc_begin1<br>
> +; BASE-NEXT: .quad .Lfunc_begin3-.Lfunc_begin1<br>
> +; BASE-NEXT: .quad .Lfunc_end3-.Lfunc_begin1<br>
> +; BASE-NEXT: .quad -1<br>
> +; BASE-NEXT: .quad 0<br>
> +; NOBASE-NEXT: .quad .Lfunc_begin1<br>
> +; NOBASE-NEXT: .quad .Lfunc_end1<br>
> +; NOBASE-NEXT: .quad .Lfunc_begin3<br>
> +; NOBASE-NEXT: .quad .Lfunc_end3<br>
> +; COMMON-NEXT: .quad .Lfunc_begin4<br>
> +; COMMON-NEXT: .quad .Lfunc_end4<br>
> +; COMMON-NEXT: .quad .Lfunc_begin5<br>
> +; COMMON-NEXT: .quad .Lfunc_end5<br>
> +; COMMON-NEXT: .quad 0<br>
> +; COMMON-NEXT: .quad 0<br>
><br>
> ; Function Attrs: noinline nounwind optnone uwtable<br>
> define void @_Z2f1v() #0 section "a" !dbg !7 {<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" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
</blockquote></div></div>