--- origsrc/llvm-3.4.2.src/tools/clang/lib/Driver/Tools.cpp 2014-04-11 15:31:24.000000000 -0500 +++ src/llvm-3.4.2.src/tools/clang/lib/Driver/Tools.cpp 2014-08-07 14:43:01.635600000 -0500 @@ -3293,8 +3293,7 @@ void Clang::ConstructJob(Compilation &C, // -fuse-cxa-atexit is default. if (!Args.hasFlag( options::OPT_fuse_cxa_atexit, options::OPT_fno_use_cxa_atexit, - getToolChain().getTriple().getOS() != llvm::Triple::Cygwin && - getToolChain().getTriple().getOS() != llvm::Triple::MinGW32 && + getToolChain().getTriple().getOS() != llvm::Triple::MinGW32 && getToolChain().getArch() != llvm::Triple::hexagon && getToolChain().getArch() != llvm::Triple::xcore) || KernelOrKext)