When sorting by address, undefined symbols go first.
[oota-llvm.git] / tools / llvm-nm / llvm-nm.cpp
index 961754ccefab494d829c4ea8d63a48192a4a6858..c30d628d9a59dee16d1853e7e65572738133c2f9 100644 (file)
@@ -185,6 +185,10 @@ struct NMSymbol {
 }
 
 static bool compareSymbolAddress(const NMSymbol &A, const NMSymbol &B) {
+  if (A.TypeChar == 'U' && B.TypeChar != 'U')
+    return true;
+  if (A.TypeChar != 'U' && B.TypeChar == 'U')
+    return false;
   if (A.Address < B.Address)
     return true;
   if (A.Address == B.Address && A.Name < B.Name)