Index: content/public/android/java/src/org/chromium/content/app/LibraryLoader.java |
diff --git a/content/public/android/java/src/org/chromium/content/app/LibraryLoader.java b/content/public/android/java/src/org/chromium/content/app/LibraryLoader.java |
index bf64b4feae831154cf77918067be6c29bd07b67b..9eeb31d0cefb4c4ef07d51753cc67c601d23ff01 100644 |
--- a/content/public/android/java/src/org/chromium/content/app/LibraryLoader.java |
+++ b/content/public/android/java/src/org/chromium/content/app/LibraryLoader.java |
@@ -7,7 +7,9 @@ package org.chromium.content.app; |
import android.text.TextUtils; |
import android.util.Log; |
+import org.chromium.base.Linker; |
import org.chromium.base.JNINamespace; |
+import org.chromium.content.browser.ChildProcessLauncher; |
import org.chromium.content.common.CommandLine; |
import org.chromium.content.common.ProcessInitException; |
import org.chromium.content.common.ResultCodes; |
@@ -42,6 +44,10 @@ public class LibraryLoader { |
// library_loader_hooks.cc). |
private static boolean sInitialized = false; |
+ public static boolean useCrazyLinker() { |
+ return NativeLibraries.USE_CRAZY_LINKER; |
+ } |
+ |
// TODO(cjhopman): Remove this once it's unused. |
/** |
* Doesn't do anything. |
@@ -61,6 +67,8 @@ public class LibraryLoader { |
} |
loadAlreadyLocked(); |
initializeAlreadyLocked(CommandLine.getJavaSwitchesOrNull()); |
+ if (useCrazyLinker()) |
+ ChildProcessLauncher.setRelroBundle(Linker.getRelroBundle()); |
} |
} |
@@ -109,9 +117,11 @@ public class LibraryLoader { |
if (!sLoaded) { |
assert !sInitialized; |
for (String sLibrary : NativeLibraries.libraries) { |
- Log.i(TAG, "loading: " + sLibrary); |
bulach
2013/09/10 14:21:39
perhaps keep this log entries? sometimes it's help
digit1
2013/09/10 16:40:28
Done.
|
- System.loadLibrary(sLibrary); |
- Log.i(TAG, "loaded: " + sLibrary); |
+ if (useCrazyLinker()) { |
+ Linker.loadLibrary(sLibrary); |
+ } else if (!sLibrary.equals("crazy_linker")) { |
+ System.loadLibrary(sLibrary); |
+ } |
} |
sLoaded = true; |
} |