search for: cu_index

Displaying 4 results from an estimated 4 matches for "cu_index".

2017 May 04
3
DWARF Fission + ThinLTO
...-full pair would have the same dwo_name but different dwo_IDs. You're making it sound like LTO is actually producing only one skeleton CU? That would be a bug. I am not finding anywhere that explicitly says a .dwo file can have only one unit? Although it does seem that the definition of the cu_index assumes each unit should be treated as being in an independent .debug_info section, which is a problem for making cross-CU references in a given .dwo file. Thanks for bringing that up on dwarf-discuss already. So this leads us to a few options - the 'simplest', that changes the semantics...
2017 May 03
3
DWARF Fission + ThinLTO
...concatenated together, except the debug_str and debug_str_offsets sections which have special handling to do what you'd expect - deduplicate strings, and adjust the str_offsets to point to the right offsets in the deduplicated string section. The other thing that DWP has, is an index, or two. cu_index and tu_index. We'll just look at cu_index. A cu_index for the cab.dwp above, is: Index Signature INFO ABBR LINE STR_OFF ----- ------------------ -------- -------- -------- -------- 2 0x7bd765349b7e7631 [2d, 65) [38, ae) [11, 22) [14, 3c) 8 0x66f4e160661d2687 [00,...
2017 May 04
2
DWARF Fission + ThinLTO
...ther, except the debug_str and debug_str_offsets sections which have special handling to do what you'd expect - deduplicate strings, and adjust the str_offsets to point to the right offsets in the deduplicated string section. >> >> The other thing that DWP has, is an index, or two. cu_index and tu_index. We'll just look at cu_index. >> >> A cu_index for the cab.dwp above, is: >> >> Index Signature INFO ABBR LINE STR_OFF >> ----- ------------------ -------- -------- -------- -------- >> 2 0x7bd765349b7e7631 [2d, 65)...
2017 May 03
4
DWARF Fission + ThinLTO
So Dehao and I have been dealing with some of the nitty gritty details of debug info with ThinLTO, specifically with Fission(Split DWARF). This applies to LTO as well, so I won't single out ThinLTO here. 1) Multiple CUs in a .dwo file Clang/LLVM produces a CU for each original source file - these CUs are kept through IR linking (thin or full) and produced as distinct CUs in the resulting