diff --git a/libnativebridge/native_bridge.cc b/libnativebridge/native_bridge.cc index 32a65ea04..ecfd719bc 100644 --- a/libnativebridge/native_bridge.cc +++ b/libnativebridge/native_bridge.cc @@ -231,8 +231,10 @@ bool LoadNativeBridge(const char* nb_library_filename, static const char* kRuntimeISA = "arm"; #elif defined(__aarch64__) static const char* kRuntimeISA = "arm64"; -#elif defined(__mips__) +#elif defined(__mips__) && !defined(__LP64__) static const char* kRuntimeISA = "mips"; +#elif defined(__mips__) && defined(__LP64__) +static const char* kRuntimeISA = "mips64"; #elif defined(__i386__) static const char* kRuntimeISA = "x86"; #elif defined(__x86_64__) diff --git a/libnativebridge/tests/NeedsNativeBridge_test.cpp b/libnativebridge/tests/NeedsNativeBridge_test.cpp index e1c087694..2067ed205 100644 --- a/libnativebridge/tests/NeedsNativeBridge_test.cpp +++ b/libnativebridge/tests/NeedsNativeBridge_test.cpp @@ -18,15 +18,17 @@ namespace android { -static const char* kISAs[] = { "arm", "arm64", "mips", "x86", "x86_64", "random", "64arm", "64_x86", - "64_x86_64", "", "reallylongstringabcd", nullptr }; +static const char* kISAs[] = { "arm", "arm64", "mips", "mips64", "x86", "x86_64", "random", "64arm", + "64_x86", "64_x86_64", "", "reallylongstringabcd", nullptr }; #if defined(__arm__) static const char* kRuntimeISA = "arm"; #elif defined(__aarch64__) static const char* kRuntimeISA = "arm64"; -#elif defined(__mips__) +#elif defined(__mips__) && !defined(__LP64__) static const char* kRuntimeISA = "mips"; +#elif defined(__mips__) && defined(__LP64__) +static const char* kRuntimeISA = "mips64"; #elif defined(__i386__) static const char* kRuntimeISA = "x86"; #elif defined(__x86_64__)