From 934fe74bbbee9517134035a5c8ad9abb624e1ad6 Mon Sep 17 00:00:00 2001 From: Jari Vetoniemi Date: Mon, 19 Nov 2018 14:41:36 +0200 Subject: loader: don't JNI_OnLoad if there's entrypoint --- src/loader.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/loader.c b/src/loader.c index 419a39a..8706f23 100644 --- a/src/loader.c +++ b/src/loader.c @@ -227,15 +227,15 @@ main(int argc, const char *argv[]) } int ret = EXIT_FAILURE; - if ((entry.JNI_OnLoad.ptr = bionic_dlsym(handle, "JNI_OnLoad"))) { + if (entry.start.ptr) { + printf("jumping to %p\n", entry.start.ptr); + raw_start(entry.start.ptr, argc - 1, &argv[1]); + } else if ((entry.JNI_OnLoad.ptr = bionic_dlsym(handle, "JNI_OnLoad"))) { struct jvm jvm; jvm_init(&jvm); entry.JNI_OnLoad.fun(&jvm.vm, NULL); ret = run_jni_game(&jvm); jvm_release(&jvm); - } else if (entry.start.ptr) { - printf("jumping to %p\n", entry.start.ptr); - raw_start(entry.start.ptr, argc - 1, &argv[1]); } else { warnx("no entrypoint found in %s", argv[1]); } -- cgit v1.2.3