Index: cfe/trunk/cmake/caches/Fuchsia-stage2.cmake =================================================================== --- cfe/trunk/cmake/caches/Fuchsia-stage2.cmake +++ cfe/trunk/cmake/caches/Fuchsia-stage2.cmake @@ -133,6 +133,7 @@ llvm-cov llvm-cxxfilt llvm-dwarfdump + llvm-dwp llvm-lib llvm-nm llvm-objcopy Index: cfe/trunk/lib/Driver/ToolChains/Clang.cpp =================================================================== --- cfe/trunk/lib/Driver/ToolChains/Clang.cpp +++ cfe/trunk/lib/Driver/ToolChains/Clang.cpp @@ -3047,8 +3047,8 @@ // -gsplit-dwarf should turn on -g and enable the backend dwarf // splitting and extraction. - // FIXME: Currently only works on Linux. - if (T.isOSLinux()) { + // FIXME: Currently only works on Linux and Fuchsia. + if (T.isOSLinux() || T.isOSFuchsia()) { if (!SplitDWARFInlining) CmdArgs.push_back("-fno-split-dwarf-inlining"); @@ -3814,7 +3814,8 @@ // Add the split debug info name to the command lines here so we // can propagate it to the backend. - bool SplitDWARF = SplitDWARFArg && RawTriple.isOSLinux() && + bool SplitDWARF = SplitDWARFArg && + (RawTriple.isOSLinux() || RawTriple.isOSFuchsia()) && (isa(JA) || isa(JA) || isa(JA)); const char *SplitDWARFOut; @@ -5759,8 +5760,9 @@ CmdArgs.push_back("-o"); CmdArgs.push_back(Output.getFilename()); + const llvm::Triple &T = getToolChain().getTriple(); if (Args.hasArg(options::OPT_gsplit_dwarf) && - getToolChain().getTriple().isOSLinux()) { + (T.isOSLinux() || T.isOSFuchsia())) { CmdArgs.push_back("-split-dwarf-file"); CmdArgs.push_back(SplitDebugName(Args, Input)); } Index: cfe/trunk/test/Driver/fuchsia.c =================================================================== --- cfe/trunk/test/Driver/fuchsia.c +++ cfe/trunk/test/Driver/fuchsia.c @@ -149,3 +149,8 @@ // CHECK-THINLTO: "-plugin-opt=mcpu=x86-64" // CHECK-THINLTO: "-plugin-opt=thinlto" // CHECK-THINLTO: "-plugin-opt=jobs=8" + +// RUN: %clang %s -### --target=x86_64-fuchsia \ +// RUN: -gsplit-dwarf -c %s 2>&1 \ +// RUN: | FileCheck %s -check-prefix=CHECK-SPLIT-DWARF +// CHECK-SPLIT-DWARF: "-split-dwarf-file" "fuchsia.dwo"