Alexey Lapshin via llvm-dev
2019-Dec-06 12:45 UTC
[llvm-dev] [DWARF5][SplitDwarf] question on using fsplit-dwarf-inlining option
Hi DebugInfo folks, I have a question on using fsplit-dwarf-inlining option: "-fsplit-dwarf-inlining, -fno-split-dwarf-inlining Provide minimal debug info in the object/executable to facilitate online symbolication/stack traces in the absence of .dwo/.dwp files when using Split DWARF" i.e. it puts some debug info into compilation unit from First partition(with Skeleton unit). At the same time, there is following requirement for split DWARF : "When generating a split DWARF object file (see Section 7.3.2 on page 187), the compilation unit in the .debug_info section is a "skeleton" compilation unit with the tag DW_TAG_skeleton_unit A skeleton compilation unit has no children." Is the behavior of fsplit-dwarf-inlining option correct, then?
David Blaikie via llvm-dev
2019-Dec-06 14:14 UTC
[llvm-dev] [DWARF5][SplitDwarf] question on using fsplit-dwarf-inlining option
Yep, I wasn't aware of that particular wording, but that would make this feature a non-conforming extension. Perhaps it should be off by default - but it's still super useful to have around/I wouldn't be OK with removing it. In the future something like http://wiki.dwarfstd.org/index.php?title=TwoLevelLineTables might be able to replace this functionality & at a lower cost in object/executable size, but I'm not sure what state that is in and whether it does cover all the use cases. On Fri, Dec 6, 2019 at 7:46 AM Alexey Lapshin via llvm-dev < llvm-dev at lists.llvm.org> wrote:> Hi DebugInfo folks, > > I have a question on using fsplit-dwarf-inlining option: > > "-fsplit-dwarf-inlining, -fno-split-dwarf-inlining > > Provide minimal debug info in the object/executable to facilitate online > symbolication/stack traces in the absence of .dwo/.dwp files when using > Split DWARF" > > i.e. it puts some debug info into compilation unit from First > partition(with Skeleton unit). > > At the same time, there is following requirement for split DWARF : > > "When generating a split DWARF object file (see Section 7.3.2 on page > 187), the compilation unit in the .debug_info section is a "skeleton" > compilation unit with the tag DW_TAG_skeleton_unit > > A skeleton compilation unit has no children." > > Is the behavior of fsplit-dwarf-inlining option correct, then? > > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20191206/27ba9b4d/attachment.html>
Alexey Lapshin via llvm-dev
2019-Dec-06 21:07 UTC
[llvm-dev] [DWARF5][SplitDwarf] question on using fsplit-dwarf-inlining option
06.12.2019 17:14, David Blaikie пишет:> Yep, I wasn't aware of that particular wording, but that would make > this feature a non-conforming extension. Perhaps it should be off by > default - but it's still super useful to have around/I wouldn't be OK > with removing it.I tried to add check into the DWARFVerifier that skeleton unit has zero children but it did not pass because of this. So yes, perhaps it would be good to set it off by default.> > In the future something like > http://wiki.dwarfstd.org/index.php?title=TwoLevelLineTables might be > able to replace this functionality & at a lower cost in > object/executable size, but I'm not sure what state that is in and > whether it does cover all the use cases.interestingly. it looks like an option. Thank you, Alexey.> > On Fri, Dec 6, 2019 at 7:46 AM Alexey Lapshin via llvm-dev > <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote: > > Hi DebugInfo folks, > > I have a question on using fsplit-dwarf-inlining option: > > "-fsplit-dwarf-inlining, -fno-split-dwarf-inlining > > Provide minimal debug info in the object/executable to facilitate > online > symbolication/stack traces in the absence of .dwo/.dwp files when > using > Split DWARF" > > i.e. it puts some debug info into compilation unit from First > partition(with Skeleton unit). > > At the same time, there is following requirement for split DWARF : > > "When generating a split DWARF object file (see Section 7.3.2 on page > 187), the compilation unit in the .debug_info section is a "skeleton" > compilation unit with the tag DW_TAG_skeleton_unit > > A skeleton compilation unit has no children." > > Is the behavior of fsplit-dwarf-inlining option correct, then? > > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org> > https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20191207/97b98c21/attachment.html>