Index: base/android/linker/linker_jni.cc |
diff --git a/base/android/linker/linker_jni.cc b/base/android/linker/linker_jni.cc |
index b79eaf43bc156dd16efc2b3c21f752e6be097796..2bc480cf776dd6af931cd9885c1f6c2287adc2fd 100644 |
--- a/base/android/linker/linker_jni.cc |
+++ b/base/android/linker/linker_jni.cc |
@@ -447,17 +447,6 @@ jboolean LoadLibraryInZipFile(JNIEnv* env, |
static_cast<size_t>(load_address), lib_info_obj, opener); |
} |
-// Enable the fallback due to lack of support for mapping the APK file with |
-// executable permission in the crazy linker. |
-// |
-// |env| is the current JNI environment handle and is ignored here. |
-// |clazz| is the static class handle for org.chromium.base.Linker, |
-// and is ignored here. |
-void EnableNoMapExecSupportFallback(JNIEnv* env, jclass clazz) { |
- crazy_context_t* context = GetCrazyContext(); |
- crazy_context_set_no_map_exec_support_fallback_enabled(context, true); |
-} |
- |
// Class holding the Java class and method ID for the Java side Linker |
// postCallbackOnMainThread method. |
struct JavaCallbackBindings_class { |
@@ -670,42 +659,6 @@ jstring GetLibraryFilePathInZipFile(JNIEnv* env, |
return env->NewStringUTF(buffer); |
} |
-// Check whether the device supports mapping the APK file with executable |
-// permission. |
-// |
-// |env| is the current JNI environment handle. |
-// |clazz| is the static class handle which is not used here. |
-// |apkfile_name| is the filename of the APK. |
-// Returns true if supported. |
-jboolean CheckMapExecSupport(JNIEnv* env, jclass clazz, jstring apkfile_name) { |
- String apkfile_name_str(env, apkfile_name); |
- const char* apkfile_name_c_str = apkfile_name_str.c_str(); |
- |
- int fd = open(apkfile_name_c_str, O_RDONLY); |
- if (fd == -1) { |
- LOG_ERROR("%s: Failed to open %s\n", __FUNCTION__, apkfile_name_c_str); |
- return false; |
- } |
- |
- LOG_INFO( |
- "%s: Memory mapping the first page of %s with executable permissions\n", |
- __FUNCTION__, apkfile_name_c_str); |
- void* address = mmap(NULL, PAGE_SIZE, PROT_EXEC, MAP_PRIVATE, fd, 0); |
- |
- jboolean status; |
- if (address == MAP_FAILED) { |
- status = false; |
- } else { |
- status = true; |
- munmap(address, PAGE_SIZE); |
- } |
- |
- close(fd); |
- |
- LOG_INFO("%s: %s\n", __FUNCTION__, status ? "Supported" : "NOT supported"); |
- return status; |
-} |
- |
// Check whether a library is page aligned and uncompressed in the APK file. |
// |
// |env| is the current JNI environment handle. |
@@ -748,11 +701,6 @@ const JNINativeMethod kNativeMethods[] = { |
")" |
"Z", |
reinterpret_cast<void*>(&LoadLibraryInZipFile)}, |
- {"nativeEnableNoMapExecSupportFallback", |
- "(" |
- ")" |
- "V", |
- reinterpret_cast<void*>(&EnableNoMapExecSupportFallback)}, |
{"nativeRunCallbackOnUiThread", |
"(" |
"J" |
@@ -791,12 +739,6 @@ const JNINativeMethod kNativeMethods[] = { |
")" |
"Ljava/lang/String;", |
reinterpret_cast<void*>(&GetLibraryFilePathInZipFile)}, |
- {"nativeCheckMapExecSupport", |
- "(" |
- "Ljava/lang/String;" |
- ")" |
- "Z", |
- reinterpret_cast<void*>(&CheckMapExecSupport)}, |
{"nativeCheckLibraryIsMappableInApk", |
"(" |
"Ljava/lang/String;" |