[llvm] [llvm/DWARF] Recursively resolve DW_AT_signature references (PR #97423)

Fangrui Song via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 11 23:38:14 PDT 2024


https://github.com/MaskRay approved this pull request.

Thanks. This seems a nice refactoring as well as a simplification.

Only few relevant tests are llvm/test/tools/llvm-dwarfdump/X86/prettyprint_type*.s

I followed the control flow in a debugger and this PR seems reasonable.
```
DW_TAG_GNU_template_parameter_pack
  DW_TAG_template_type_parameter
    DW_AT_type [DW_FORM_ref4]   (cu + 0x0058 => {0x00000058} "t1")

=>

DW_TAG_compile_unit
  DW_TAG_structure_type
    DW_AT_signature [DW_FORM_ref_sig8]      (0xc6694e51369161f2)

=>
Type Unit: type_signature = 0xc6694e51369161f2
DW_TAG_type_unit 
  DW_TAG_structure_type
    DW_AT_name
```

Best to wait for @dwblaikie  who has authored 58b1b6414b4cc6ce74bc8cf10806f6944bf2ac69 and 
3cbc4c487aa253daaa2b4c344022564f8ee3297d

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


More information about the llvm-commits mailing list