aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Linker/LinkItems.cpp
diff options
context:
space:
mode:
authorReid Spencer <rspencer@reidspencer.com>2007-04-30 00:29:39 +0000
committerReid Spencer <rspencer@reidspencer.com>2007-04-30 00:29:39 +0000
commitc9a83e4f19519e19469efa0ed39d81ed60b94401 (patch)
treed5b7f780b05a06327e4b4b6538506ce8713057fe /lib/Linker/LinkItems.cpp
parent0a1817392d3ad7ec2681e6bf495f490c443ec0b7 (diff)
downloadexternal_llvm-c9a83e4f19519e19469efa0ed39d81ed60b94401.tar.gz
external_llvm-c9a83e4f19519e19469efa0ed39d81ed60b94401.tar.bz2
external_llvm-c9a83e4f19519e19469efa0ed39d81ed60b94401.zip
If an archive is not recognized as an LLVM bytecode archive then declare
that it is native so that the linker will pass it on downstream. This avoids a problem where the native link line fails because there is both a .so and a .a file. The .a file gets processed as bytecode and then dropped from the command line. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36584 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Linker/LinkItems.cpp')
-rw-r--r--lib/Linker/LinkItems.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/Linker/LinkItems.cpp b/lib/Linker/LinkItems.cpp
index 87de4af89a..ad7ae65209 100644
--- a/lib/Linker/LinkItems.cpp
+++ b/lib/Linker/LinkItems.cpp
@@ -90,7 +90,7 @@ bool Linker::LinkInLibrary(const std::string& Lib, bool& is_native) {
break;
case sys::Archive_FileType:
- if (LinkInArchive(Pathname))
+ if (LinkInArchive(Pathname, is_native))
return error("Cannot link archive '" + Pathname.toString() + "'");
break;
@@ -171,7 +171,7 @@ bool Linker::LinkInFile(const sys::Path &File, bool &is_native) {
// A user may specify an ar archive without -l, perhaps because it
// is not installed as a library. Detect that and link the archive.
verbose("Linking archive file '" + File.toString() + "'");
- if (LinkInArchive(File))
+ if (LinkInArchive(File, is_native))
return error("Cannot link archive '" + File.toString() + "'");
break;