[lldb] [llvm] Add support for using foreign type units in .debug_names. (PR #87740)
Alexander Yermolovich via llvm-commits
llvm-commits at lists.llvm.org
Tue Apr 16 15:36:51 PDT 2024
ayermolo wrote:
@clayborg
Figured I reply here to your comment:
https://github.com/llvm/llvm-project/pull/88092#issuecomment-2059961175
This was regarding merging .debug_names in linker (although types are not implemented yet there), but FYI BOLT output is similar.
All the CUs are in one module.
Entry for type unit will have two indexes.
One for CU to which it belongs and another for type unit. Which can either be local or foreign.
example:
```
Compilation Unit offsets [
CU[0]: 0x00000000
CU[1]: 0x00000029
]
Foreign Type Unit signatures [
ForeignTU[0]: 0x49dc260088be7e56
ForeignTU[1]: 0x104ec427d2ebea6f
ForeignTU[2]: 0xca1e65a66d92b970
ForeignTU[3]: 0x104ec427d2ebea6f
]
...
Bucket 1 [
Name 1 {
Hash: 0x7C96E4DB
String: 0x00000027 "Foo2"
Entry @ 0x117 {
Abbrev: 0x1
Tag: DW_TAG_structure_type
DW_IDX_type_unit: 0x00
DW_IDX_compile_unit: 0x00
DW_IDX_die_offset: 0x00000021
DW_IDX_parent: <parent not indexed>
}
}
```
https://github.com/llvm/llvm-project/pull/87740
More information about the llvm-commits
mailing list