llvm-project/lldb/source/Plugins/SymbolFile
Raphael Isemann 5b354d204d [lldb] Make symbol list output from `image dump symtab` not depend on internal ordering of DenseMap
`image dump symtab` seems to output the symbols in whatever order they appear in
the DenseMap that is used to filter out symbols with non-unique addresses. As
DenseMap is a hash map this order can change at any time so the output of this
command is pretty unstable. This also causes the `Breakpad/symtab.test` to fail
with enabled reverse iteration (which reverses the DenseMap order to find issues
like this).

This patch makes the DenseMap a std::vector and uses a separate DenseSet to do
the address filtering. The output order is now dependent on the order in which
the symbols are read (which should be deterministic). It might also avoid a bit
of work as all the work for creating the Symbol constructor parameters is only
done when we can actually emplace a new Symbol.

Reviewed By: labath

Differential Revision: https://reviews.llvm.org/D87036
2020-09-03 10:27:19 +02:00
..
Breakpad [lldb] Make symbol list output from `image dump symtab` not depend on internal ordering of DenseMap 2020-09-03 10:27:19 +02:00
DWARF [lldb] Reduce intentation in SymbolFileDWARF::ParseVariableDIE 2020-08-28 11:44:03 +02:00
NativePDB [lldb][NFC] Use StringRef in CreateFunctionDeclaration/GetDeclarationName 2020-08-17 14:17:20 +02:00
PDB [lldb][NFC] Use StringRef in CreateFunctionDeclaration/GetDeclarationName 2020-08-17 14:17:20 +02:00
Symtab [lldb] NFC remove DISALLOW_COPY_AND_ASSIGN 2020-06-02 13:23:53 -04:00
CMakeLists.txt Introduce SymbolFileBreakpad and use it to fill symtab 2019-01-11 11:17:51 +00:00