Index: lib/Driver/Driver.cpp =================================================================== --- lib/Driver/Driver.cpp +++ lib/Driver/Driver.cpp @@ -1306,9 +1306,12 @@ if (C.getArgs().hasArg(options::OPT_print_libgcc_file_name)) { ToolChain::RuntimeLibType RLT = TC.GetRuntimeLibType(C.getArgs()); switch (RLT) { - case ToolChain::RLT_CompilerRT: + case ToolChain::RLT_CompilerRT: { + const llvm::Triple Triple(TC.ComputeEffectiveClangTriple(C.getArgs())); + RegisterEffectiveTriple TripleRAII(TC, Triple); llvm::outs() << TC.getCompilerRT(C.getArgs(), "builtins") << "\n"; break; + } case ToolChain::RLT_Libgcc: llvm::outs() << GetFilePath("libgcc.a", TC) << "\n"; break; Index: test/Driver/print-libgcc-file-name-clangrt.c =================================================================== --- test/Driver/print-libgcc-file-name-clangrt.c +++ test/Driver/print-libgcc-file-name-clangrt.c @@ -9,3 +9,13 @@ // RUN: --target=i686-pc-linux \ // RUN: | FileCheck --check-prefix=CHECK-CLANGRT-I686 %s // CHECK-CLANGRT-I686: libclang_rt.builtins-i686.a + +// RUN: %clang -rtlib=compiler-rt -print-libgcc-file-name 2>&1 \ +// RUN: --target=arm-linux-gnueabi \ +// RUN: | FileCheck --check-prefix=CHECK-CLANGRT-ARM %s +// CHECK-CLANGRT-ARM: libclang_rt.builtins-arm.a + +// RUN: %clang -rtlib=compiler-rt -print-libgcc-file-name 2>&1 \ +// RUN: --target=arm-linux-androideabi \ +// RUN: | FileCheck --check-prefix=CHECK-CLANGRT-ARM-ANDROID %s +// CHECK-CLANGRT-ARM-ANDROID: libclang_rt.builtins-arm-android.a