Reapply "llvm-symbolizer: Fix "start file" to work with Split DWARF"
authorDavid Blaikie <dblaikie@gmail.com>
Sun, 11 Jul 2021 01:46:43 +0000 (18:46 -0700)
committerDavid Blaikie <dblaikie@gmail.com>
Sun, 11 Jul 2021 01:50:55 +0000 (18:50 -0700)
commitb447b9dce0d105e7f0b22db719fe8624108e99dc
tree6a2c747cb200e016194aaeda7f4376463712da19
parentcbba7299f3085985e2c8e4c0a6643ce8a7d2b2db
Reapply "llvm-symbolizer: Fix "start file" to work with Split DWARF"

Originally committed as 04c203e310bd3fb58e16c936c0200d680100526e
Reverted in 768510632c5ddbf9438693d9c7db1903e39295ad due to the test
failing when encountering windows directory separators.

Fix the path separator platform issue with a FileCheck pattern {{[/\\]}}

Original commit message:

A followup to the feature added in 69da27c7496ea373567ce5121e6fe8613846e7a5
that added the optional "start file name" to match "start line" - but this
didn't work with Split DWARF because of the need for the decl file number
resolution code to refer back to the skeleton unit to find its .debug_line
contribution. So this patch adds the necessary infrastructure to track the
skeleton unit corresponding to a split full unit for the purpose of this
lookup.
llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h
llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp
llvm/test/DebugInfo/X86/symbolize_function_start.s [new file with mode: 0644]