Merge "Add MIRRORED_REPEAT."
diff --git a/include/bcc/Support/TargetCompilerConfigs.h b/include/bcc/Support/TargetCompilerConfigs.h
index 391a0eb..f4cc3f1 100644
--- a/include/bcc/Support/TargetCompilerConfigs.h
+++ b/include/bcc/Support/TargetCompilerConfigs.h
@@ -68,7 +68,9 @@
 #if defined(PROVIDE_MIPS_CODEGEN)
 class MipsCompilerConfig : public CompilerConfig {
 public:
-  MipsCompilerConfig() : CompilerConfig(DEFAULT_MIPS_TRIPLE_STRING) {}
+  MipsCompilerConfig() : CompilerConfig(DEFAULT_MIPS_TRIPLE_STRING) {
+    setRelocationModel(llvm::Reloc::Static);
+  }
 };
 #endif // defined(PROVIDE_MIPS_CODEGEN)
 
diff --git a/lib/Support/TargetCompilerConfigs.cpp b/lib/Support/TargetCompilerConfigs.cpp
index 2dcd173..fc48242 100644
--- a/lib/Support/TargetCompilerConfigs.cpp
+++ b/lib/Support/TargetCompilerConfigs.cpp
@@ -33,16 +33,11 @@
   // Cross-compiler can always generate Thumb-2 instructions.
   return true;
 #else // defined(TARGET_BUILD)
-#  if defined(ARCH_ARM_HAVE_THUMB_SUPPORT)
-#    if (__ARM_ARCH__ >= 7) || defined(__ARM_ARCH_6T2__)
+#  if (__ARM_ARCH__ >= 7) || defined(__ARM_ARCH_6T2__)
   return true;
-#    else
+#  else
   // ARM prior to V6T2 doesn't support Thumb-2.
   return false;
-#    endif
-#  else // !defined(ARCH_ARM_HAVE_THUMB_SUPPORT)
-  // Target that doesn't support Thumb feature won't support Thumb-2, either.
-  return false;
 #  endif
 #endif
 }
diff --git a/libbcc-device-build.mk b/libbcc-device-build.mk
index 8673be8..bc250b8 100644
--- a/libbcc-device-build.mk
+++ b/libbcc-device-build.mk
@@ -45,9 +45,6 @@
   ifeq ($(ARCH_ARM_HAVE_NEON),true)
     LOCAL_CFLAGS += -DARCH_ARM_HAVE_NEON
   endif
-  ifeq ($(ARCH_ARM_HAVE_THUMB_SUPPORT),true)
-    LOCAL_CFLAGS += -DARCH_ARM_HAVE_THUMB_SUPPORT
-  endif
 else
   ifeq ($(TARGET_ARCH),mips)
     LOCAL_CFLAGS += -DFORCE_MIPS_CODEGEN