summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/ToolChains/CommonArgs.cpp
diff options
context:
space:
mode:
authorFangrui Song <maskray@google.com>2019-07-14 07:16:13 +0000
committerFangrui Song <maskray@google.com>2019-07-14 07:16:13 +0000
commite9dc9c2bebb1a7503bf71befe7d8c4daae964c1e (patch)
treea1002b6e8c825ad38e39c709653fad93bd107f6a /clang/lib/Driver/ToolChains/CommonArgs.cpp
parentc7f9559d659f5c889cd19921b57f0201109e494d (diff)
downloadbcm5719-llvm-e9dc9c2bebb1a7503bf71befe7d8c4daae964c1e.tar.gz
bcm5719-llvm-e9dc9c2bebb1a7503bf71befe7d8c4daae964c1e.zip
[Driver] Simplify AddLibgcc
llvm-svn: 366013
Diffstat (limited to 'clang/lib/Driver/ToolChains/CommonArgs.cpp')
-rw-r--r--clang/lib/Driver/ToolChains/CommonArgs.cpp12
1 files changed, 3 insertions, 9 deletions
diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp
index b6a0afd7e5e..99691cb43dc 100644
--- a/clang/lib/Driver/ToolChains/CommonArgs.cpp
+++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp
@@ -1194,17 +1194,11 @@ static void AddUnwindLibrary(const ToolChain &TC, const Driver &D,
static void AddLibgcc(const ToolChain &TC, const Driver &D,
ArgStringList &CmdArgs, const ArgList &Args) {
- bool isAndroid = TC.getTriple().isAndroid();
-
LibGccType LGT = getLibGccType(D, Args);
- bool LibGccFirst = (D.CCCIsCC() && LGT == LibGccType::UnspecifiedLibGcc) ||
- LGT == LibGccType::StaticLibGcc;
- if (LibGccFirst)
+ if (LGT != LibGccType::SharedLibGcc)
CmdArgs.push_back("-lgcc");
-
AddUnwindLibrary(TC, D, CmdArgs, Args);
-
- if (!LibGccFirst)
+ if (LGT == LibGccType::SharedLibGcc)
CmdArgs.push_back("-lgcc");
// According to Android ABI, we have to link with libdl if we are
@@ -1212,7 +1206,7 @@ static void AddLibgcc(const ToolChain &TC, const Driver &D,
//
// NOTE: This fixes a link error on Android MIPS as well. The non-static
// libgcc for MIPS relies on _Unwind_Find_FDE and dl_iterate_phdr from libdl.
- if (isAndroid && getLibGccType(D, Args) != LibGccType::StaticLibGcc)
+ if (TC.getTriple().isAndroid() && LGT != LibGccType::StaticLibGcc)
CmdArgs.push_back("-ldl");
}
OpenPOWER on IntegriCloud