Distinguish between BSD4.4 and SVR4 symbol tables


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18044 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Archive/Archive.cpp b/lib/Archive/Archive.cpp
index a3fb534..8e40590 100644
--- a/lib/Archive/Archive.cpp
+++ b/lib/Archive/Archive.cpp
@@ -65,11 +65,17 @@
   data = 0;
   path = newFile;
 
-  // Foreign symbol tables have an empty name
-  if (path.get() == ARFILE_SYMTAB_NAME)
-    flags |= ForeignSymbolTableFlag;
+  // SVR4 symbol tables have an empty name
+  if (path.get() == ARFILE_SVR4_SYMTAB_NAME)
+    flags |= SVR4SymbolTableFlag;
   else
-    flags &= ~ForeignSymbolTableFlag;
+    flags &= ~SVR4SymbolTableFlag;
+
+  // BSD4.4 symbol tables have a special name
+  if (path.get() == ARFILE_BSD4_SYMTAB_NAME)
+    flags |= BSD4SymbolTableFlag;
+  else
+    flags &= ~BSD4SymbolTableFlag;
 
   // LLVM symbol tables have a very specific name
   if (path.get() == ARFILE_LLVM_SYMTAB_NAME)