Remove mips test workarounds.

The mips/mips64 targets were never able to pass these tests, and the
supported architectures don't need any of these workarounds.

Test: treehugger
Change-Id: I640a8b7a98ae13d9d9cdb09b0fbef61d31d4c79a
diff --git a/tests/Android.build.prebuilt.mk b/tests/Android.build.prebuilt.mk
index 3b34846..de8f5e6 100644
--- a/tests/Android.build.prebuilt.mk
+++ b/tests/Android.build.prebuilt.mk
@@ -25,8 +25,6 @@
 LOCAL_SRC_FILES_arm64 := prebuilt-elf-files/arm64/$(bionic_tests_module)
 LOCAL_SRC_FILES_x86 := prebuilt-elf-files/x86/$(bionic_tests_module)
 LOCAL_SRC_FILES_x86_64 := prebuilt-elf-files/x86_64/$(bionic_tests_module)
-LOCAL_SRC_FILES_mips := prebuilt-elf-files/mips/$(bionic_tests_module)
-LOCAL_SRC_FILES_mips64 := prebuilt-elf-files/mips64/$(bionic_tests_module)
 include $(BUILD_PREBUILT)
 bionic-loader-test-libs-target: $(LOCAL_MODULE)
 .PHONY: bionic-loader-test-libs-target
diff --git a/tests/dl_test.cpp b/tests/dl_test.cpp
index ed60e8e..6adba19 100644
--- a/tests/dl_test.cpp
+++ b/tests/dl_test.cpp
@@ -95,12 +95,6 @@
   static constexpr const char* kAlternatePathToLinker = "/system/bin/x86_64/linker64";
 #elif defined (__i386__)
   static constexpr const char* kAlternatePathToLinker = "/system/bin/x86/linker";
-#elif defined (__mips__)
-#if defined(__LP64__)
-  static constexpr const char* kAlternatePathToLinker = "/system/bin/mips64/linker64";
-#else
-  static constexpr const char* kAlternatePathToLinker = "/system/bin/mips/linker";
-#endif
 #else
 #error "Unknown architecture"
 #endif
diff --git a/tests/dlfcn_test.cpp b/tests/dlfcn_test.cpp
index d815dba..d7b9bae 100644
--- a/tests/dlfcn_test.cpp
+++ b/tests/dlfcn_test.cpp
@@ -273,8 +273,6 @@
   dlclose(handle);
 }
 
-// mips doesn't support ifuncs
-#if !defined(__mips__)
 TEST(dlfcn, ifunc_variable) {
   typedef const char* (*fn_ptr)();
 
@@ -367,7 +365,6 @@
   ASSERT_STREQ("true", is_ctor_called());
   dlclose(handle);
 }
-#endif
 
 TEST(dlfcn, dlopen_check_relocation_dt_needed_order) {
   // This is the structure of the test library and
@@ -989,12 +986,6 @@
 #define ALTERNATE_PATH_TO_SYSTEM_LIB "/system/lib/x86/"
 #elif defined (__x86_64__)
 #define ALTERNATE_PATH_TO_SYSTEM_LIB "/system/lib64/x86_64/"
-#elif defined (__mips__)
-#if defined(__LP64__)
-#define ALTERNATE_PATH_TO_SYSTEM_LIB "/system/lib64/mips64/"
-#else
-#define ALTERNATE_PATH_TO_SYSTEM_LIB "/system/lib/mips/"
-#endif
 #else
 #error "Unknown architecture"
 #endif
@@ -1047,10 +1038,7 @@
   ASSERT_TRUE(dlerror() == nullptr); // dladdr(3) doesn't set dlerror(3).
 }
 
-// GNU-style ELF hash tables are incompatible with the MIPS ABI.
-// MIPS requires .dynsym to be sorted to match the GOT but GNU-style requires sorting by hash code.
 TEST(dlfcn, dlopen_library_with_only_gnu_hash) {
-#if !defined(__mips__)
   dlerror(); // Clear any pending errors.
   void* handle = dlopen("libgnu-hash-table-library.so", RTLD_NOW);
   ASSERT_TRUE(handle != nullptr) << dlerror();
@@ -1067,9 +1055,6 @@
   ASSERT_TRUE(fn == dlinfo.dli_saddr);
   ASSERT_STREQ("getRandomNumber", dlinfo.dli_sname);
   ASSERT_SUBSTR("libgnu-hash-table-library.so", dlinfo.dli_fname);
-#else
-  GTEST_SKIP() << "mips toolchain does not support '--hash-style=gnu'";
-#endif
 }
 
 TEST(dlfcn, dlopen_library_with_only_sysv_hash) {
diff --git a/tests/headers/posix/sys_stat_h.c b/tests/headers/posix/sys_stat_h.c
index 5764dfb..b22e34f 100644
--- a/tests/headers/posix/sys_stat_h.c
+++ b/tests/headers/posix/sys_stat_h.c
@@ -69,10 +69,8 @@
   STRUCT_MEMBER(struct stat, struct timespec, st_mtim);
   STRUCT_MEMBER(struct stat, struct timespec, st_ctim);
 #if defined(__BIONIC__)
-#if defined(__aarch64__) || (defined(__mips__) && defined(__LP64__))
+#if defined(__aarch64__)
   STRUCT_MEMBER(struct stat, int, st_blksize);
-#elif defined(__mips__) && !defined(__LP64__)
-  STRUCT_MEMBER(struct stat, unsigned int, st_blksize);
 #elif defined(__x86_64__)
   STRUCT_MEMBER(struct stat, long, st_blksize);
 #else
diff --git a/tests/libs/Android.bp b/tests/libs/Android.bp
index fdf2cca..06c090c 100644
--- a/tests/libs/Android.bp
+++ b/tests/libs/Android.bp
@@ -117,14 +117,6 @@
     defaults: ["bionic_testlib_defaults"],
     srcs: ["dlext_test_library.cpp"],
     ldflags: ["-Wl,--hash-style=gnu"],
-    arch: {
-        mips: {
-            enabled: false,
-        },
-        mips64: {
-            enabled: false,
-        },
-    },
 }
 
 // -----------------------------------------------------------------------------
@@ -1120,15 +1112,6 @@
     name: "libtest_ifunc",
     defaults: ["bionic_testlib_defaults"],
     srcs: ["dlopen_testlib_ifunc.cpp"],
-
-    arch: {
-        mips: {
-            enabled: false,
-        },
-        mips64: {
-            enabled: false,
-        },
-    },
 }
 
 cc_test_library {
@@ -1136,30 +1119,12 @@
     defaults: ["bionic_testlib_defaults"],
     srcs: ["dlopen_testlib_ifunc_variable.cpp"],
     shared_libs: ["libtest_ifunc_variable_impl"],
-
-    arch: {
-        mips: {
-            enabled: false,
-        },
-        mips64: {
-            enabled: false,
-        },
-    },
 }
 
 cc_test_library {
     name: "libtest_ifunc_variable_impl",
     defaults: ["bionic_testlib_defaults"],
     srcs: ["dlopen_testlib_ifunc_variable_impl.cpp"],
-
-    arch: {
-        mips: {
-            enabled: false,
-        },
-        mips64: {
-            enabled: false,
-        },
-    },
 }
 
 // -----------------------------------------------------------------------------
diff --git a/tests/prebuilt-elf-files/mips/libtest_empty.so b/tests/prebuilt-elf-files/mips/libtest_empty.so
deleted file mode 100755
index 417a98b..0000000
--- a/tests/prebuilt-elf-files/mips/libtest_empty.so
+++ /dev/null
Binary files differ
diff --git a/tests/prebuilt-elf-files/mips/libtest_invalid-empty_shdr_table.so b/tests/prebuilt-elf-files/mips/libtest_invalid-empty_shdr_table.so
deleted file mode 100755
index 94b67b0..0000000
--- a/tests/prebuilt-elf-files/mips/libtest_invalid-empty_shdr_table.so
+++ /dev/null
Binary files differ
diff --git a/tests/prebuilt-elf-files/mips/libtest_invalid-rw_load_segment.so b/tests/prebuilt-elf-files/mips/libtest_invalid-rw_load_segment.so
deleted file mode 100755
index b6bfaca..0000000
--- a/tests/prebuilt-elf-files/mips/libtest_invalid-rw_load_segment.so
+++ /dev/null
Binary files differ
diff --git a/tests/prebuilt-elf-files/mips/libtest_invalid-textrels.so b/tests/prebuilt-elf-files/mips/libtest_invalid-textrels.so
deleted file mode 100755
index 7ff0753..0000000
--- a/tests/prebuilt-elf-files/mips/libtest_invalid-textrels.so
+++ /dev/null
Binary files differ
diff --git a/tests/prebuilt-elf-files/mips/libtest_invalid-textrels2.so b/tests/prebuilt-elf-files/mips/libtest_invalid-textrels2.so
deleted file mode 100755
index bfbadec..0000000
--- a/tests/prebuilt-elf-files/mips/libtest_invalid-textrels2.so
+++ /dev/null
Binary files differ
diff --git a/tests/prebuilt-elf-files/mips/libtest_invalid-unaligned_shdr_offset.so b/tests/prebuilt-elf-files/mips/libtest_invalid-unaligned_shdr_offset.so
deleted file mode 100755
index f6fcad2..0000000
--- a/tests/prebuilt-elf-files/mips/libtest_invalid-unaligned_shdr_offset.so
+++ /dev/null
Binary files differ
diff --git a/tests/prebuilt-elf-files/mips/libtest_invalid-zero_shdr_table_content.so b/tests/prebuilt-elf-files/mips/libtest_invalid-zero_shdr_table_content.so
deleted file mode 100755
index 500d4d7..0000000
--- a/tests/prebuilt-elf-files/mips/libtest_invalid-zero_shdr_table_content.so
+++ /dev/null
Binary files differ
diff --git a/tests/prebuilt-elf-files/mips/libtest_invalid-zero_shdr_table_offset.so b/tests/prebuilt-elf-files/mips/libtest_invalid-zero_shdr_table_offset.so
deleted file mode 100755
index e4166d1..0000000
--- a/tests/prebuilt-elf-files/mips/libtest_invalid-zero_shdr_table_offset.so
+++ /dev/null
Binary files differ
diff --git a/tests/prebuilt-elf-files/mips/libtest_invalid-zero_shentsize.so b/tests/prebuilt-elf-files/mips/libtest_invalid-zero_shentsize.so
deleted file mode 100755
index ace8fdd..0000000
--- a/tests/prebuilt-elf-files/mips/libtest_invalid-zero_shentsize.so
+++ /dev/null
Binary files differ
diff --git a/tests/prebuilt-elf-files/mips/libtest_invalid-zero_shstrndx.so b/tests/prebuilt-elf-files/mips/libtest_invalid-zero_shstrndx.so
deleted file mode 100755
index 9141875..0000000
--- a/tests/prebuilt-elf-files/mips/libtest_invalid-zero_shstrndx.so
+++ /dev/null
Binary files differ
diff --git a/tests/prebuilt-elf-files/mips64/libtest_empty.so b/tests/prebuilt-elf-files/mips64/libtest_empty.so
deleted file mode 100755
index ad3a568..0000000
--- a/tests/prebuilt-elf-files/mips64/libtest_empty.so
+++ /dev/null
Binary files differ
diff --git a/tests/prebuilt-elf-files/mips64/libtest_invalid-empty_shdr_table.so b/tests/prebuilt-elf-files/mips64/libtest_invalid-empty_shdr_table.so
deleted file mode 100755
index 9420211..0000000
--- a/tests/prebuilt-elf-files/mips64/libtest_invalid-empty_shdr_table.so
+++ /dev/null
Binary files differ
diff --git a/tests/prebuilt-elf-files/mips64/libtest_invalid-rw_load_segment.so b/tests/prebuilt-elf-files/mips64/libtest_invalid-rw_load_segment.so
deleted file mode 100755
index 3fcfc38..0000000
--- a/tests/prebuilt-elf-files/mips64/libtest_invalid-rw_load_segment.so
+++ /dev/null
Binary files differ
diff --git a/tests/prebuilt-elf-files/mips64/libtest_invalid-textrels.so b/tests/prebuilt-elf-files/mips64/libtest_invalid-textrels.so
deleted file mode 100755
index ec43ace..0000000
--- a/tests/prebuilt-elf-files/mips64/libtest_invalid-textrels.so
+++ /dev/null
Binary files differ
diff --git a/tests/prebuilt-elf-files/mips64/libtest_invalid-textrels2.so b/tests/prebuilt-elf-files/mips64/libtest_invalid-textrels2.so
deleted file mode 100755
index cb6661e..0000000
--- a/tests/prebuilt-elf-files/mips64/libtest_invalid-textrels2.so
+++ /dev/null
Binary files differ
diff --git a/tests/prebuilt-elf-files/mips64/libtest_invalid-unaligned_shdr_offset.so b/tests/prebuilt-elf-files/mips64/libtest_invalid-unaligned_shdr_offset.so
deleted file mode 100755
index c61efaf..0000000
--- a/tests/prebuilt-elf-files/mips64/libtest_invalid-unaligned_shdr_offset.so
+++ /dev/null
Binary files differ
diff --git a/tests/prebuilt-elf-files/mips64/libtest_invalid-zero_shdr_table_content.so b/tests/prebuilt-elf-files/mips64/libtest_invalid-zero_shdr_table_content.so
deleted file mode 100755
index ffabdc3..0000000
--- a/tests/prebuilt-elf-files/mips64/libtest_invalid-zero_shdr_table_content.so
+++ /dev/null
Binary files differ
diff --git a/tests/prebuilt-elf-files/mips64/libtest_invalid-zero_shdr_table_offset.so b/tests/prebuilt-elf-files/mips64/libtest_invalid-zero_shdr_table_offset.so
deleted file mode 100755
index 43b44f0..0000000
--- a/tests/prebuilt-elf-files/mips64/libtest_invalid-zero_shdr_table_offset.so
+++ /dev/null
Binary files differ
diff --git a/tests/prebuilt-elf-files/mips64/libtest_invalid-zero_shentsize.so b/tests/prebuilt-elf-files/mips64/libtest_invalid-zero_shentsize.so
deleted file mode 100755
index cf55d06..0000000
--- a/tests/prebuilt-elf-files/mips64/libtest_invalid-zero_shentsize.so
+++ /dev/null
Binary files differ
diff --git a/tests/prebuilt-elf-files/mips64/libtest_invalid-zero_shstrndx.so b/tests/prebuilt-elf-files/mips64/libtest_invalid-zero_shstrndx.so
deleted file mode 100755
index 8155949..0000000
--- a/tests/prebuilt-elf-files/mips64/libtest_invalid-zero_shstrndx.so
+++ /dev/null
Binary files differ
diff --git a/tests/setjmp_test.cpp b/tests/setjmp_test.cpp
index 44d8af1..2476704 100644
--- a/tests/setjmp_test.cpp
+++ b/tests/setjmp_test.cpp
@@ -224,10 +224,6 @@
 #define __JB_SIGFLAG 8
 #elif defined(__x86_64)
 #define __JB_SIGFLAG 8
-#elif defined(__mips__) && defined(__LP64__)
-#define __JB_SIGFLAG 1
-#elif defined(__mips__)
-#define __JB_SIGFLAG 2
 #endif
 
 TEST(setjmp, setjmp_cookie) {
@@ -235,13 +231,7 @@
   int value = setjmp(jb);
   ASSERT_EQ(0, value);
 
-#if defined(__mips__) && !defined(__LP64__)
-  // round address to 8-byte boundry
-  uintptr_t jb_aligned = reinterpret_cast<uintptr_t>(jb) & ~7L;
-  long* sigflag = reinterpret_cast<long*>(jb_aligned) + __JB_SIGFLAG;
-#else
   long* sigflag = reinterpret_cast<long*>(jb) + __JB_SIGFLAG;
-#endif
 
   // Make sure there's actually a cookie.
   EXPECT_NE(0, *sigflag & ~1);
diff --git a/tests/signal_test.cpp b/tests/signal_test.cpp
index eec56dc..3c66034 100644
--- a/tests/signal_test.cpp
+++ b/tests/signal_test.cpp
@@ -282,8 +282,7 @@
                           int sig) {
   // Both bionic and glibc set SA_RESTORER when talking to the kernel on arm,
   // arm64, x86, and x86-64. The version of glibc we're using also doesn't
-  // define SA_RESTORER, but luckily it's the same value everywhere, and mips
-  // doesn't use the bit for anything.
+  // define SA_RESTORER, but luckily it's the same value everywhere.
   static const unsigned sa_restorer = 0x4000000;
 
   // See what's currently set for this signal.
@@ -598,19 +597,13 @@
 }
 
 TEST(signal, limits) {
-  // This comes from the kernel.
+  // These come from the kernel.
   ASSERT_EQ(32, __SIGRTMIN);
+  ASSERT_EQ(64, __SIGRTMAX);
 
   // We reserve a non-zero number at the bottom for ourselves.
   ASSERT_GT(SIGRTMIN, __SIGRTMIN);
 
-  // MIPS has more signals than everyone else.
-#if defined(__mips__)
-  ASSERT_EQ(128, __SIGRTMAX);
-#else
-  ASSERT_EQ(64, __SIGRTMAX);
-#endif
-
   // We don't currently reserve any at the top.
   ASSERT_EQ(SIGRTMAX, __SIGRTMAX);
 }
diff --git a/tests/stdatomic_test.cpp b/tests/stdatomic_test.cpp
index 9911d64..8a6b267 100644
--- a/tests/stdatomic_test.cpp
+++ b/tests/stdatomic_test.cpp
@@ -69,12 +69,7 @@
   atomic_char small;
   ASSERT_TRUE(atomic_is_lock_free(&small));
   atomic_intmax_t big;
-  // atomic_intmax_t(size = 64) is not lock free on mips32.
-#if defined(__mips__) && !defined(__LP64__)
-  ASSERT_FALSE(atomic_is_lock_free(&big));
-#else
   ASSERT_TRUE(atomic_is_lock_free(&big));
-#endif
 }
 
 TEST(stdatomic, atomic_flag) {
diff --git a/tests/sys_personality_test.cpp b/tests/sys_personality_test.cpp
index 6bd00ef..2dfaa65 100644
--- a/tests/sys_personality_test.cpp
+++ b/tests/sys_personality_test.cpp
@@ -21,9 +21,7 @@
 TEST(sys_personality, current_persona) {
   int persona = personality(0xffffffff) & PER_MASK;
 #if defined(__BIONIC__)
-// When personality syscall is executed on mips64, for a 32bit process
-// sys_32_personality() is called, which converts PER_LINUX32 -> PER_LINUX
-#if defined(__LP64__) || (__mips==32 && __mips_isa_rev>2)
+#if defined(__LP64__)
   ASSERT_EQ(PER_LINUX, persona);
 #else
   ASSERT_EQ(PER_LINUX32, persona);
diff --git a/tests/sys_ptrace_test.cpp b/tests/sys_ptrace_test.cpp
index f17f80c..a079ead 100644
--- a/tests/sys_ptrace_test.cpp
+++ b/tests/sys_ptrace_test.cpp
@@ -257,9 +257,6 @@
   asm volatile("stm %0, { r0, r1, r2, r3 }" : : "r"(&data));
 #elif defined(__aarch64__)
   asm volatile("stp x0, x1, %0" : : "m"(data));
-#elif defined(__mips__)
-// TODO
-  UNUSED(data);
 #endif
 }