Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8200245

Zero fails to build on linux-ia64 due to ia64-specific cruft

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P4 P4
    • 11
    • 11
    • hotspot
    • None
    • b10
    • itanium
    • linux

      There are some remains of unused and broken ia64-specific code in jdk7u and newer which breaks the build of Zero on linux-ia64:

      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

      Since register_stack_base() was provided by other ia64-specific code that was removed in the past, it's best to just remove the remaining ia64-specific code in src/hotspot/share/runtime/os.cpp altogether. This fixes the build failure above and makes Zero build fine on linux-ia64.

      The ia64-specific code was part of the native ia64 port which is no longer part of OpenJDK.

            glaubitz John Paul Adrian Glaubitz
            glaubitz John Paul Adrian Glaubitz
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: