RFR: 8200245: Zero fails to build on linux-ia64 due to ia64-specific cruft
John Paul Adrian Glaubitz
glaubitz at physik.fu-berlin.de
Mon Mar 26 13:55:46 UTC 2018
Hi!
Zero currently fails to build from source on linux-ia64 due to some remaining
ia64-specific cruft which was previously part of the native ia64 port. The
error - shown here for jdk7u - is the same on all versions of OpenJDK after
7u:
g++-6 -DLINUX -D_GNU_SOURCE -DCC_INTERP -DZERO -DIA64 -DZERO_LIBARCH=\"ia64\" -DPRODUCT -I. -I/<<PKGBUILDDIR>>/build/openjdk-boot/hotspot/src/share/vm/prims
-I/<<PKGBUILDDIR>>/build/openjdk-boot/hotspot/src/share/vm -I/<<PKGBUILDDIR>>/build/openjdk-boot/hotspot/src/share/vm/precompiled
-I/<<PKGBUILDDIR>>/build/openjdk-boot/hotspot/src/cpu/zero/vm -I/<<PKGBUILDDIR>>/build/openjdk-boot/hotspot/src/os_cpu/linux_zero/vm
-I/<<PKGBUILDDIR>>/build/openjdk-boot/hotspot/src/os/linux/vm -I/<<PKGBUILDDIR>>/build/openjdk-boot/hotspot/src/os/posix/vm -I../generated
-DHOTSPOT_RELEASE_VERSION="\"24.161-b01\"" -DHOTSPOT_BUILD_TARGET="\"product\"" -DHOTSPOT_BUILD_USER="\"buildd2\"" -DHOTSPOT_LIB_ARCH=\"ia64\"
-DHOTSPOT_VM_DISTRO="\"OpenJDK\"" -DDERIVATIVE_ID="\"IcedTea 2.6.12\"" -DDEB_MULTIARCH="\"ia64-linux-gnu\"" -DDISTRIBUTION_ID="\"Debian GNU/Linux unstable
(sid), package 7u161-2.6.12-1\"" -DTARGET_OS_FAMILY_linux -DTARGET_ARCH_zero -DTARGET_ARCH_MODEL_zero -DTARGET_OS_ARCH_linux_zero
-DTARGET_OS_ARCH_MODEL_linux_zero -DTARGET_COMPILER_gcc -std=gnu++98 -fpic -fno-rtti -fno-exceptions -D_REENTRANT -fcheck-new -fvisibility=hidden
-fno-delete-null-pointer-checks -fno-lifetime-dse -pipe -g -O2 -finline-functions -fno-strict-aliasing -DVM_LITTLE_ENDIAN -D_LP64=1 -DINCLUDE_TRACE=1
-Wpointer-arith -Wsign-compare -Wno-deprecated-declarations -g -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -Wformat -Werror=format-security -Wdate-time
-D_FORTIFY_SOURCE=2 -c -fpch-deps -MMD -MP -MF ../generated/dependencies/orderAccess.o.d -o orderAccess.o
/<<PKGBUILDDIR>>/build/openjdk-boot/hotspot/src/share/vm/runtime/orderAccess.cpp
/<<PKGBUILDDIR>>/build/openjdk-boot/hotspot/src/share/vm/runtime/os.cpp: In static member function 'static bool os::is_first_C_frame(frame*)':
/<<PKGBUILDDIR>>/build/openjdk-boot/hotspot/src/share/vm/runtime/os.cpp:1019:15: error: 'class Thread' has no member named 'register_stack_base'; did you mean
'set_stack_base'?
thread->register_stack_base() HPUX_ONLY(+ 0x0) LINUX_ONLY(+ 0x50)) {
^~~~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/build/openjdk-boot/hotspot/src/share/vm/runtime/os.cpp:1019:37: error: expected ')' before 'HPUX_ONLY'
thread->register_stack_base() HPUX_ONLY(+ 0x0) LINUX_ONLY(+ 0x50)) {
^~~~~~~~~
/<<PKGBUILDDIR>>/build/openjdk-boot/hotspot/make/linux/makefiles/rules.make:150: recipe for target 'os.o' failed
make[8]: *** [os.o] Error 1
make[8]: *** Waiting for unfinished jobs....
make[8]: Leaving directory '/<<PKGBUILDDIR>>/build/openjdk.build-boot/hotspot/outputdir/linux_ia64_zero/product'
/<<PKGBUILDDIR>>/build/openjdk-boot/hotspot/make/linux/makefiles/top.make:119: recipe for target 'the_vm' failed
make[7]: *** [the_vm] Error 2
The referenced method register_stack_base() was part of the ia64-specific implementation
of the Thread class which is no longer part of OpenJDK. Thus, the best way to fix this
is just removing this remaining cruft. This fixes the Zero build on linux-ia64 for me.
Please review the change in [1].
Thanks,
Adrian
> [1] http://cr.openjdk.java.net/~glaubitz/8200245/webrev.00/
--
.''`. 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