https://github.com/ZequanWu created 
https://github.com/llvm/llvm-project/pull/156530

https://github.com/llvm/llvm-project/pull/153160 created those function maps 
and uses default sort comparator which is not deterministic when there are 
multiple entries with same name because llvm::sort is unstable sort. 

This fixes it by comparing the id value when tie happens. 

>From ca5ad064c8e12454df9e1cdd1ef22da070f55703 Mon Sep 17 00:00:00 2001
From: Zequan Wu <[email protected]>
Date: Tue, 2 Sep 2025 13:38:04 -0700
Subject: [PATCH] [lldb][NativePDB] Sort function name maps deterministically.

---
 .../Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp    | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp 
b/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
index 112eb06e462fc..f7a807366070e 100644
--- a/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
+++ b/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
@@ -1735,11 +1735,11 @@ void SymbolFileNativePDB::CacheFunctionNames() {
   }
 
   // Sort them before value searching is working properly.
-  m_func_full_names.Sort();
+  m_func_full_names.Sort(std::less<uint32_t>());
   m_func_full_names.SizeToFit();
-  m_func_method_names.Sort();
+  m_func_method_names.Sort(std::less<uint32_t>());
   m_func_method_names.SizeToFit();
-  m_func_base_names.Sort();
+  m_func_base_names.Sort(std::less<uint32_t>());
   m_func_base_names.SizeToFit();
 }
 

_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to