[llvm-dev] [DWARF5][SplitDwarf] question on using fsplit-dwarf-inlining option

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[llvm-dev] [DWARF5][SplitDwarf] question on using fsplit-dwarf-inlining option

Jimmy Zhongduo Lin via llvm-dev
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
[hidden email]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
Reply | Threaded
Open this post in threaded view
|

Re: [llvm-dev] [DWARF5][SplitDwarf] question on using fsplit-dwarf-inlining option

Jimmy Zhongduo Lin via llvm-dev
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 <[hidden email]> 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
[hidden email]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev

_______________________________________________
LLVM Developers mailing list
[hidden email]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
Reply | Threaded
Open this post in threaded view
|

Re: [llvm-dev] [DWARF5][SplitDwarf] question on using fsplit-dwarf-inlining option

Jimmy Zhongduo Lin via llvm-dev
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 <[hidden email]> 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
[hidden email]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev

_______________________________________________
LLVM Developers mailing list
[hidden email]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev