llvm-project/lldb/test/Shell/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] Fix Type::GetByteSize for pointer types 2020-08-27 15:37:49 +02:00
Inputs [lldb] Fix lookup of symbols with the same address range but different binding 2020-01-13 12:05:26 +01:00
NativePDB [lldb] Skip PDB and NativePDB tests with reproducers 2020-08-21 09:09:45 -07:00
PDB [lldb] Skip PDB and NativePDB tests with reproducers 2020-08-21 09:09:45 -07:00
dissassemble-entry-point.s Re-land "[test] Split LLDB tests into API, Shell & Unit" 2019-10-09 19:22:02 +00:00
symbol-binding.test [lldb] Fix lookup of symbols with the same address range but different binding 2020-01-13 12:05:26 +01:00
target-symbols-add-unwind.test Ah, one test too many updated. This one should be unmodified. 2020-08-25 21:03:39 -07:00