Zero and native support on linux-ia64
John Paul Adrian Glaubitz
glaubitz at physik.fu-berlin.de
Sat Dec 23 19:14:17 UTC 2017
On 12/23/2017 05:00 PM, Andrew Haley wrote:
> On 23/12/17 11:44, John Paul Adrian Glaubitz wrote:
>> So, I am wondering, did OpenJDK have native support for ia64 at some point or
>> was this all needed for Zero? I know that ia64 has some weird peculiarities
>> and was wondering whether it's still possible to build Zero here.
>
> There was native support for ia64, but it never made it into OpenJDK. You'd
> have to see if Zero still builds.
Ok, thanks! I did manage to build Openjdk-8 using existing OpenJDK-7 binaries
from Debian Wheezy. However, the JVM crashes. My suspicion - I haven't done any
in-depth analysis yet - is that there are remnants of the native ia64 support
that were compiled in for this build and therefore resulted in the crash.
I also noticed that OpenJDK-10 has received more clean-up regarding the native
support and I suppose that only the necessary #ifdefs for Zero on ia64 are
left such as the one in [1]. However, since I haven't tried cross-compiling
OpenJDK yet, I had to start with OpenJDK-8 instead of 10.
The backtrace of the crash is below in any case.
(wheezy-backports_ia64-dchroot)glaubitz at titanium:~/debian/openjdk-8/openjdk-8-8u151-b12/build/jdk/bin$ gdb ./javac
GNU gdb (GDB) 7.4.1-debian
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "ia64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/glaubitz/debian/openjdk-8/openjdk-8-8u151-b12/build/jdk/bin/javac...done.
(gdb) r
Starting program: /home/glaubitz/debian/openjdk-8/openjdk-8-8u151-b12/build/jdk/bin/javac
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/ia64-linux-gnu/libthread_db.so.1".
[New Thread 0x2000000001627200 (LWP 1627)]
Program received signal SIGILL, Illegal instruction.
[Switching to Thread 0x2000000001627200 (LWP 1627)]
0x2000000000a328b1 in java_lang_String::compute_offsets () at
/home/glaubitz/debian/openjdk-8/openjdk-8-8u151-b12/src/hotspot/src/share/vm/classfile/javaClasses.cpp:152
152 void java_lang_String::compute_offsets() {
(gdb) bt
#0 0x2000000000a328b1 in java_lang_String::compute_offsets ()
at /home/glaubitz/debian/openjdk-8/openjdk-8-8u151-b12/src/hotspot/src/share/vm/classfile/javaClasses.cpp:152
#1 0x2000000000ee4b70 in SystemDictionary::initialize_preloaded_classes (__the_thread__=0x60000000000116c0)
at /home/glaubitz/debian/openjdk-8/openjdk-8-8u151-b12/src/hotspot/src/share/vm/classfile/systemDictionary.cpp:1902
#2 0x2000000000f24bd0 in Universe::genesis (__the_thread__=0x60000000000116c0)
at /home/glaubitz/debian/openjdk-8/openjdk-8-8u151-b12/src/hotspot/src/share/vm/memory/universe.cpp:302
#3 0x2000000000f281d0 in universe2_init () at /home/glaubitz/debian/openjdk-8/openjdk-8-8u151-b12/src/hotspot/src/share/vm/memory/universe.cpp:1021
#4 0x2000000000965a80 in init_globals () at /home/glaubitz/debian/openjdk-8/openjdk-8-8u151-b12/src/hotspot/src/share/vm/runtime/init.cpp:116
#5 0x2000000000f046d0 in Threads::create_vm (args=0x20000000016267d0, canTryAgain=0x20000000016267b0)
at /home/glaubitz/debian/openjdk-8/openjdk-8-8u151-b12/src/hotspot/src/share/vm/runtime/thread.cpp:3421
#6 0x2000000000a70a20 in JNI_CreateJavaVM (vm=0x2000000001626808, penv=0x2000000001626800, args=0x20000000016267d0)
at /home/glaubitz/debian/openjdk-8/openjdk-8-8u151-b12/src/hotspot/src/share/vm/prims/jni.cpp:5220
#7 0x20000000000d43f0 in InitializeJVM (ifn=<optimized out>, penv=<optimized out>, pvm=<optimized out>)
at /home/glaubitz/debian/openjdk-8/openjdk-8-8u151-b12/src/jdk/src/share/bin/java.c:1215
#8 JavaMain (_args=0x60000fffffff73f0) at /home/glaubitz/debian/openjdk-8/openjdk-8-8u151-b12/src/jdk/src/share/bin/java.c:376
#9 0x20000000000de910 in call_continuation (_args=0x60000fffffff73c8)
at /home/glaubitz/debian/openjdk-8/openjdk-8-8u151-b12/src/jdk/src/solaris/bin/java_md_solinux.c:1034
#10 0x200000000005ebb0 in start_thread () from /lib/ia64-linux-gnu/libpthread.so.0
#11 0x20000000002c98c0 in __clone2 () from /lib/ia64-linux-gnu/libc.so.6.1
#12 0x0000000000000000 in ?? ()
(gdb)
Adrian
> [1] http://hg.openjdk.java.net/jdk/hs/file/614068b0ddd7/src/hotspot/os_cpu/linux_zero/os_linux_zero.cpp#l356
--
.''`. John Paul Adrian Glaubitz
: :' : Debian Developer - glaubitz at debian.org
`. `' Freie Universitaet Berlin - glaubitz at physik.fu-berlin.de
`- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913
More information about the hotspot-dev
mailing list