[llvm] [LLVM][DWARF] Add support for monolithic types in .debug_names (PR #68131)

Alexander Yermolovich via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 13 15:26:02 PDT 2023


================
@@ -3514,11 +3520,15 @@ void DwarfDebug::addDwarfTypeUnitType(DwarfCompileUnit &CU,
       return;
     }
 
-    // If the type wasn't dependent on fission addresses, finish adding the type
-    // and all its dependent types.
     for (auto &TU : TypeUnitsToAdd) {
       InfoHolder.computeSizeAndOffsetsForUnit(TU.first.get());
       InfoHolder.emitUnit(TU.first.get(), useSplitDwarf());
+      if (getDwarfVersion() >= 5 &&
+          getAccelTableKind() == AccelTableKind::Dwarf) {
+        addTypeUnit(std::move(TU.first));
----------------
ayermolo wrote:

Yeah something like that. As we briefly discussed during llvm dev meeting just carry relative offset and tag info to accelerator table.
I will start looking into it on Monday, and once that is done I'll post a new PR. This time I know what button not-to push to merge it by mistake. lol

For LLD patch talking to @MaskRay seems like I was on a right path trying to add more logic to InputSection::relocateNonAlloc. Although I am still not clear how to figure out if TU was comdat from a Symbol.

https://github.com/llvm/llvm-project/pull/68131


More information about the llvm-commits mailing list