diff --git a/libc/include/android/versioning.h b/libc/include/android/versioning.h
index 1948890..c7e844a 100644
--- a/libc/include/android/versioning.h
+++ b/libc/include/android/versioning.h
@@ -27,7 +27,7 @@
 #define __INTRODUCED_IN_64(api_level) __attribute__((annotate("introduced_in_64=" #api_level)))
 #define __INTRODUCED_IN_ARM(api_level) __attribute__((annotate("introduced_in_arm=" #api_level)))
 #define __INTRODUCED_IN_X86(api_level) __attribute__((annotate("introduced_in_x86=" #api_level)))
-#define __INTRODUCED_IN_MIPS(api_level) __attribute__((annotate("introduced_in_mips=" #api_level)))
+#define __INTRODUCED_IN_MIPS(api_level)
 
 #define __VERSIONER_NO_GUARD __attribute__((annotate("versioner_no_guard")))
 #define __VERSIONER_FORTIFY_INLINE __attribute__((annotate("versioner_fortify_inline")))
diff --git a/tools/versioner/src/Arch.cpp b/tools/versioner/src/Arch.cpp
index 4cd9e07..3a27a6e 100644
--- a/tools/versioner/src/Arch.cpp
+++ b/tools/versioner/src/Arch.cpp
@@ -28,12 +28,6 @@
     case Arch::arm64:
       return "arm64";
 
-    case Arch::mips:
-      return "mips";
-
-    case Arch::mips64:
-      return "mips64";
-
     case Arch::x86:
       return "x86";
 
@@ -47,8 +41,6 @@
 static const std::unordered_map<std::string, Arch> arch_name_map{
   {"arm", Arch::arm},
   {"arm64", Arch::arm64},
-  {"mips", Arch::mips},
-  {"mips64", Arch::mips64},
   {"x86", Arch::x86},
   {"x86_64", Arch::x86_64},
 };
diff --git a/tools/versioner/src/Arch.h b/tools/versioner/src/Arch.h
index e4bbcc4..74d0f8f 100644
--- a/tools/versioner/src/Arch.h
+++ b/tools/versioner/src/Arch.h
@@ -28,8 +28,6 @@
 enum class Arch : size_t {
   arm = 0,
   arm64,
-  mips,
-  mips64,
   x86,
   x86_64,
 };
@@ -123,8 +121,6 @@
 static const std::set<Arch> supported_archs = {
   Arch::arm,
   Arch::arm64,
-  Arch::mips,
-  Arch::mips64,
   Arch::x86,
   Arch::x86_64,
 };
@@ -132,8 +128,6 @@
 static ArchMap<std::string> arch_targets = {
   { Arch::arm, "arm-linux-androideabi" },
   { Arch::arm64, "aarch64-linux-android" },
-  { Arch::mips, "mipsel-linux-android" },
-  { Arch::mips64, "mips64el-linux-android" },
   { Arch::x86, "i686-linux-android" },
   { Arch::x86_64, "x86_64-linux-android" },
 };
@@ -145,8 +139,6 @@
 static const ArchMap<int> arch_min_api = {
   { Arch::arm, 9 },
   { Arch::arm64, 21 },
-  { Arch::mips, 9 },
-  { Arch::mips64, 21 },
   { Arch::x86, 9 },
   { Arch::x86_64, 21 },
 };
diff --git a/tools/versioner/src/DeclarationDatabase.cpp b/tools/versioner/src/DeclarationDatabase.cpp
index afae509..3c6f643 100644
--- a/tools/versioner/src/DeclarationDatabase.cpp
+++ b/tools/versioner/src/DeclarationDatabase.cpp
@@ -164,15 +164,12 @@
           { "deprecated_in", { &global_availability.deprecated } },
           { "obsoleted_in", { &global_availability.obsoleted } },
           { "introduced_in_arm", { &arch_availability[Arch::arm].introduced } },
-          { "introduced_in_mips", { &arch_availability[Arch::mips].introduced } },
           { "introduced_in_x86", { &arch_availability[Arch::x86].introduced } },
           { "introduced_in_32",
             { &arch_availability[Arch::arm].introduced,
-              &arch_availability[Arch::mips].introduced,
               &arch_availability[Arch::x86].introduced } },
           { "introduced_in_64",
             { &arch_availability[Arch::arm64].introduced,
-              &arch_availability[Arch::mips64].introduced,
               &arch_availability[Arch::x86_64].introduced } },
         };
 
diff --git a/tools/versioner/src/Preprocessor.cpp b/tools/versioner/src/Preprocessor.cpp
index 9eac2ab..4ee3446 100644
--- a/tools/versioner/src/Preprocessor.cpp
+++ b/tools/versioner/src/Preprocessor.cpp
@@ -140,15 +140,12 @@
   std::vector<std::string> expressions;
   static const std::vector<std::pair<std::string, std::set<Arch>>> arch_sets = {
     { "", supported_archs },
-    { "!defined(__LP64__)", { Arch::arm, Arch::mips, Arch::x86 } },
-    { "defined(__LP64__)", { Arch::arm64, Arch::mips64, Arch::x86_64 } },
-    { "defined(__mips__)", { Arch::mips, Arch::mips64 } },
+    { "!defined(__LP64__)", { Arch::arm, Arch::x86 } },
+    { "defined(__LP64__)", { Arch::arm64, Arch::x86_64 } },
   };
   std::map<Arch, std::string> individual_archs = {
     { Arch::arm, "defined(__arm__)" },
     { Arch::arm64, "defined(__aarch64__)" },
-    { Arch::mips, "defined(__mips__) && !defined(__LP64__)" },
-    { Arch::mips64, "defined(__mips__) && defined(__LP64__)" },
     { Arch::x86, "defined(__i386__)" },
     { Arch::x86_64, "defined(__x86_64__)" },
   };
diff --git a/tools/versioner/src/versioner.h b/tools/versioner/src/versioner.h
index a5f2c7d..5e53498 100644
--- a/tools/versioner/src/versioner.h
+++ b/tools/versioner/src/versioner.h
@@ -38,7 +38,7 @@
   { "sys/_system_properties.h", supported_archs },
 
   // time64.h #errors when included on LP64 archs.
-  { "time64.h", { Arch::arm64, Arch::mips64, Arch::x86_64 } },
+  { "time64.h", { Arch::arm64, Arch::x86_64 } },
 };
 
 static const std::unordered_set<std::string> missing_symbol_whitelist = {
