diff options
author | David Blaikie <dblaikie@gmail.com> | 2024-05-22 21:18:55 +0000 |
---|---|---|
committer | David Blaikie <dblaikie@gmail.com> | 2024-05-22 22:34:36 +0000 |
commit | bd5c6367bd79c01665ff8ab9848afbf5b1249ce6 (patch) | |
tree | 2a227d5448ee5ac7bece0f1b3b1ce3d327d33c01 /lldb/source/Plugins/ScriptInterpreter/Python | |
parent | ab29203e465aefc158eb718cbb478edae1535db6 (diff) | |
download | llvm-bd5c6367bd79c01665ff8ab9848afbf5b1249ce6.zip llvm-bd5c6367bd79c01665ff8ab9848afbf5b1249ce6.tar.gz llvm-bd5c6367bd79c01665ff8ab9848afbf5b1249ce6.tar.bz2 |
DWARF: debug_names: Don't emit entries for skeleton type units
When a type unit is emitted, the CU referencing the type unit ends up
with a little DW_TAG_*_type with the DW_AT_signature and
DW_AT_declaration sometimes referred to (by me? maybe other people?) as
a skeleton type.
We shouldn't produce .debug_names reference to these - only to the
actual type definition in the type unit. So this patch does that.
But, inversely, the .debug_gnu_pubtypes /does/ need to reference the
skeleton type (& gcc does this too, when it produces a skeleton type
(gcc doesn't always produce these - if the type is only referenced once
via DW_AT_type, gcc uses a direct DW_FORM_ref_sig8 on the DW_AT_type
without the intermediate skeleton type)) - so there's a little special
case added in to preserve that behavior which is covered by existing
tests.
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python')
0 files changed, 0 insertions, 0 deletions