Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[llvm/DWARF] Recursively resolve DW_AT_signature references #97423

Merged
merged 2 commits into from
Jul 18, 2024

Commits on Jul 2, 2024

  1. [llvm/DWARF] Recursively resolve DW_AT_signature references

    findRecursively follows DW_AT_specification and DW_AT_abstract_origin
    references, but not DW_AT_signature. As far as I can tell, there is no
    fundamental difference between these attributes that would make this
    behavior desirable, and this just seems like a consequence of the fact
    that this attribute is newer. This patch aims to change that.
    
    The motivation is some code in lldb, which assumes that it can construct
    a qualified name of a type by just walking the parent chain and looking
    at the name attribute. This works for "regular" debug info, even when
    some of the DIEs are just forward declarations, but it breaks in the
    presence of type units, because of the need to explicitly resolve the
    signature reference.
    
    While LLDB does not use the llvm's DWARFDie class (yet?), this seems
    like a very important change in the overall API, and any divergance here
    would complicate eventual reunification, which is why I am making the
    change in the llvm API first. Nonetheless, I think this change is
    beneficial in llvm as well, as it allows us to remove the explicit
    DW_AT_signature resolution in the DWARFTypePrinter.
    labath committed Jul 2, 2024
    Configuration menu
    Copy the full SHA
    30c7cef View commit details
    Browse the repository at this point in the history

Commits on Jul 17, 2024

  1. test

    labath committed Jul 17, 2024
    Configuration menu
    Copy the full SHA
    85daf40 View commit details
    Browse the repository at this point in the history