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
}