Mobile JDK 9 Status

Bob Vandette bob.vandette at oracle.com
Thu Jan 21 15:16:45 UTC 2016


Without seeing a stack trace, I can’t tell for sure but when the VM is initializing it 
forces a SEGV in order to verify that the signal handler is saving/restoring the
high bits of the XMM/YMM registers.

If you execute this lldb command, it will allow the SEGV to be passed to the VM.

process handle -s false SIGSEGV
process handle -s false SIGBUS

If you don’t want do this, you can try to remove the
SEGV with this change.  I haven’t tested this but we
have something similar in our JDK8 sources.


--- a/src/cpu/x86/vm/vm_version_x86.cpp
+++ b/src/cpu/x86/vm/vm_version_x86.cpp
@@ -396,10 +396,12 @@
     VM_Version::clean_cpuFeatures();
 
     __ bind(save_restore_except);
+#if !TARGET_OS_IPHONE
     __ xorl(rsi, rsi);
     VM_Version::set_cpuinfo_segv_addr(__ pc());
     // Generate SEGV
     __ movl(rax, Address(rsi, 0));
+#endif
 
     VM_Version::set_cpuinfo_cont_addr(__ pc());

This only fixes SEGVs forced at startup.

You are going to have to allow SEGVs to be passed to the
VM at some point because it’s used for other purposes such
as NULL Pointer checking and getting the VM to a safepoint.

Bob.



> On Jan 21, 2016, at 9:04 AM, Ali Ebrahimi <ali.ebrahimi1781 at gmail.com> wrote:
> 
> Hi,
> I followed your instructions and built jdk but I got following error when using result in xcode:
> "building for ios simulator, but linking in object file built for osx, for architecture"
> 
> I fix this by adding line for your bash script iOS x86_64:
> export ASFLAGS='-miphoneos-version-min=8.0'
> 
> Now I successfully build mobile-jdk.
> 
> Now when I trying to start java VM from object-c code I get: "signal sigsegv"
> What is wrong here?
> 
> I use mac os 10.11 and xcode 7.2
> 
> 
> On Thu, Jan 21, 2016 at 12:08 AM, Bob Vandette <bob.vandette at oracle.com> wrote:
> Here are a few updates on the Mobile Dev Repository (http://hg.openjdk.java.net/mobile/dev <http://hg.openjdk.java.net/mobile/dev>)
> 
> The mobile/dev forest was merged a few weeks ago with http://hg.openjdk.java.net/jdk9/dev/ <http://hg.openjdk.java.net/jdk9/dev/> as of build 98.
> 
> The Mobile Dev forest is now capable of building both iOS ARM64 and x86_64.
> 
> I’ve updated the iOS build instructions to include building the libffi and libfreetype libraries
> as well as a canned set of JDK 9 iOS build instructions to make it easier for developers to
> get started.
> 
> http://openjdk.java.net/projects/mobile/ios.html <http://openjdk.java.net/projects/mobile/ios.html>
> 
> I’ll be working on completing the Android ARM builds and providing more the Android build instructions next.
> 
> Enjoy,
> Bob
> 
> 
> 
> 
> 
> -- 
> 
> Best Regards,
> Ali Ebrahimi



More information about the mobile-dev mailing list