aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Bytecode/Archive/Archive.cpp
diff options
context:
space:
mode:
authorReid Spencer <rspencer@reidspencer.com>2004-11-20 07:29:40 +0000
committerReid Spencer <rspencer@reidspencer.com>2004-11-20 07:29:40 +0000
commit9a29db43a7a906162b0fde012b5d16f3b0895023 (patch)
tree06fa06b97a97438781c98d21ac2bb84dcb7ac447 /lib/Bytecode/Archive/Archive.cpp
parente651c954aade4d23f4976af6ade3f767ca387976 (diff)
downloadexternal_llvm-9a29db43a7a906162b0fde012b5d16f3b0895023.zip
external_llvm-9a29db43a7a906162b0fde012b5d16f3b0895023.tar.gz
external_llvm-9a29db43a7a906162b0fde012b5d16f3b0895023.tar.bz2
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
Diffstat (limited to 'lib/Bytecode/Archive/Archive.cpp')
-rw-r--r--lib/Bytecode/Archive/Archive.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/lib/Bytecode/Archive/Archive.cpp b/lib/Bytecode/Archive/Archive.cpp
index a3fb534..8e40590 100644
--- a/lib/Bytecode/Archive/Archive.cpp
+++ b/lib/Bytecode/Archive/Archive.cpp
@@ -65,11 +65,17 @@ void ArchiveMember::replaceWith(const sys::Path& newFile) {
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)