Skip to content

Latest commit

 

History

History
78 lines (63 loc) · 2.36 KB

ISSUES.md

File metadata and controls

78 lines (63 loc) · 2.36 KB

robovm-rt.jar

concrypt package is not where it should be

New Android 4.4 API

  • Use Register.cpp instead of registerCoreLibrariesJni and registerJniHelp

Dependencies

  • Missing dependency to patched imvai libgc (using hp's instead). See this exchange
  • Compiling openssl with OPENSSL_SMALL_FOOTPRINT to . See this exchange
  • Review Openssl compilation flags

Luni

  • Porting luni/posix code to windows

Misc

Converting pthread_t to int in windows

This code doesn't compile on windows because pthread_t is a struct:

static unsigned long id_function(void) {
    // cannot convert 'pthread_t' (aka 'ptw32_handle_t') to 'unsigned long' without a conversion operator
    return ((unsigned long)THREAD_ID);
}

See this post

libnativehelper and jni

This code looks odd on Windows

bool JniInvocation::Init(const char* library) {
#ifdef HAVE_ANDROID_OS
  char default_library[PROPERTY_VALUE_MAX];
  property_get("persist.sys.dalvik.vm.lib", default_library, "libdvm.so");
#else
	// CARL HACK : what is this ??
	const char* default_library = "libdvm.so";
#endif
  if (library == NULL) {
    library = default_library;
  }

  handle_ = dlopen(library, RTLD_NOW);
  if (handle_ == NULL) {
    ALOGE("Failed to dlopen %s: %s", library, dlerror());
    return false;
  }
  if (!FindSymbol(reinterpret_cast<void**>(&JNI_GetDefaultJavaVMInitArgs_),
                  "JNI_GetDefaultJavaVMInitArgs")) {
    return false;
  }
  if (!FindSymbol(reinterpret_cast<void**>(&JNI_CreateJavaVM_),
                  "JNI_CreateJavaVM")) {
    return false;
  }
  if (!FindSymbol(reinterpret_cast<void**>(&JNI_GetCreatedJavaVMs_),
                  "JNI_GetCreatedJavaVMs")) {
    return false;
  }
  return true;
}

How do libdvm.so applies on Windows? Is the whole feature? Will it break JNI on Windows?

Check the exception handling system

DWARF or SLJL?

Intercept the windows system errors

In vm\core\src\signal.c See this post

Not compiling with clang 3.3

See this