diff options
author | Alexander Yermolovich <43973793+ayermolo@users.noreply.github.com> | 2024-12-11 14:27:56 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-12-11 14:27:56 -0800 |
commit | 4b825c7417f72ee88ee3e4316d0c01ed463f1241 (patch) | |
tree | a1fd6651113b5c5d9db3ebaa8049feb9e9ec35c7 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | ee090cb83b523e4c8c888ded8ca1a70334ba65fa (diff) | |
download | llvm-4b825c7417f72ee88ee3e4316d0c01ed463f1241.zip llvm-4b825c7417f72ee88ee3e4316d0c01ed463f1241.tar.gz llvm-4b825c7417f72ee88ee3e4316d0c01ed463f1241.tar.bz2 |
[BOLT][DWARF] Add support for transitive DW_AT_name/DW_AT_linkage_name resolution for DW_AT_name/DW_AT_linkage_name. (#119493)
This fix handles a case where a DIE that does not have
DW_AT_name/DW_AT_linkage_name, but has a reference to another DIE using
DW_AT_abstract_origin/DW_AT_specification. It also fixes a bug where
there are cross CU references for those attributes. Previously it would
use a DWARF Unit of a DIE which was being processed The
warf5-debug-names-cross-cu.s test just happened to work because how it
was constructed where string section was shared by both DWARF Units.
To resolve DW_AT_name/DW_AT_linkage_name this patch iterates over
references until it either reaches the final DIE or finds both of those
names.
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions