From: Fangrui Song Date: Sun, 14 Jul 2019 07:16:13 +0000 (+0000) Subject: [Driver] Simplify AddLibgcc X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=73d24b0d2f2b9cb6b0fbeb38aa1e6061890dd640;p=clang [Driver] Simplify AddLibgcc git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@366013 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Driver/ToolChains/CommonArgs.cpp b/lib/Driver/ToolChains/CommonArgs.cpp index b6a0afd7e5..99691cb43d 100644 --- a/lib/Driver/ToolChains/CommonArgs.cpp +++ b/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"); }