--- tools/clang/lib/Driver/Driver.cpp	2017-03-16 16:12:19.870312677 +0300
+++ tools/clang/lib/Driver/Driver.cpp	2017-03-17 11:21:40.124870280 +0300
@@ -64,6 +64,11 @@
   if (!this->VFS)
     this->VFS = vfs::getRealFileSystem();

+  // Skip /emul if we work in accelerated environment
+#define QEMU_ACCEL_DIR "/emul"
+  if (ClangExecutable.substr(0, sizeof(QEMU_ACCEL_DIR) - 1) ==  QEMU_ACCEL_DIR)
+    ClangExecutable = ClangExecutable.drop_front(sizeof(QEMU_ACCEL_DIR) - 1);
+
   Name = llvm::sys::path::filename(ClangExecutable);
   Dir = llvm::sys::path::parent_path(ClangExecutable);
   InstalledDir = Dir; // Provide a sensible default installed dir.
@@ -74,7 +79,8 @@
   if (ClangResourceDir != "") {
     llvm::sys::path::append(P, ClangResourceDir);
   } else {
-    StringRef ClangLibdirSuffix(CLANG_LIBDIR_SUFFIX);
+    const char* NO_LIBDIR_SUFFIX = std::getenv("CLANG_NO_LIBDIR_SUFFIX");
+    StringRef ClangLibdirSuffix(NO_LIBDIR_SUFFIX?"":CLANG_LIBDIR_SUFFIX);
     llvm::sys::path::append(P, "..", Twine("lib") + ClangLibdirSuffix, "clang",
                             CLANG_VERSION_STRING);
   }
