Index: lib/Driver/SanitizerArgs.cpp =================================================================== --- lib/Driver/SanitizerArgs.cpp +++ lib/Driver/SanitizerArgs.cpp @@ -122,15 +122,19 @@ bool IsLinux = TC.getTriple().getOS() == llvm::Triple::Linux; bool IsX86 = TC.getTriple().getArch() == llvm::Triple::x86; bool IsX86_64 = TC.getTriple().getArch() == llvm::Triple::x86_64; + bool IsMIPS32 = TC.getTriple().getArch() == llvm::Triple::mips || + TC.getTriple().getArch() == llvm::Triple::mipsel; + bool IsMIPS64 = TC.getTriple().getArch() == llvm::Triple::mips64 || + TC.getTriple().getArch() == llvm::Triple::mips64el; unsigned Unsupported = 0; - if (!(IsLinux && IsX86_64)) { + if (!(IsLinux && (IsX86_64 || IsMIPS64))) { Unsupported |= Memory | DataFlow; } - if (!((IsLinux || IsFreeBSD) && IsX86_64)) { + if (!((IsLinux || IsFreeBSD) && (IsX86_64 || IsMIPS64))) { Unsupported |= Thread; } - if (!(IsLinux && (IsX86 || IsX86_64))) { + if (!(IsLinux && (IsX86 || IsX86_64 || IsMIPS32 || IsMIPS64))) { Unsupported |= Function; } return Unsupported;