<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="elementToProof">
I am trying to build jdk18u on RHEL9 using GCC 11.3.1.
<div>I am able to build it with no problems on RHEL8 using GCC 8.3.1.</div>
<div>I am able to build it with no problems on Fedora 29 using GCC 8.3.1.</div>
<div>But on RHEL9/Fedora 34/Fedora 36 using GCC 11.3.1/12.1.1 (the default for these distros) I get the following error:</div>
<div><br>
</div>
<div>```</div>
<div>cat build/linux-x86_64-server-release/build.log</div>
<div>Building target 'images' in configuration 'linux-x86_64-server-release'</div>
<div>Compiling 1 files for BUILD_TOOLS_HOTSPOT</div>
<div>Compiling 8 files for BUILD_TOOLS_LANGTOOLS</div>
<div>Creating hotspot/variant-server/tools/adlc/adlc from 13 file(s)</div>
<div>Compiling 2 files for BUILD_JVMTI_TOOLS</div>
<div>Parsing 2 properties into enum-like class for jdk.compiler</div>
<div>Compiling 13 properties into resource bundles for jdk.javadoc</div>
<div>Compiling 16 properties into resource bundles for jdk.compiler</div>
<div>Compiling 12 properties into resource bundles for jdk.jdeps</div>
<div>Compiling 7 properties into resource bundles for jdk.jshell</div>
<div>Compiling 127 files for BUILD_java.compiler.interim</div>
<div>Compiling 403 files for BUILD_jdk.compiler.interim</div>
<div>Compiling 238 files for BUILD_jdk.javadoc.interim</div>
<div>Creating support/modules_libs/java.base/server/libjvm.so from 1081 file(s)</div>
<div>Compiling 31 files for BUILD_JRTFS</div>
<div>Creating support/modules_libs/java.base/jrt-fs.jar</div>
<div>Compiling 186 files for BUILD_TOOLS_JDK</div>
<div>Compiling 2 files for COMPILE_DEPEND</div>
<div>Compiling 1 properties into resource bundles for jdk.httpserver</div>
<div>Compiling 11 properties into resource bundles for jdk.jartool</div>
<div>Compiling 71 files for COMPILE_CREATE_SYMBOLS</div>
<div>Compiling 11 properties into resource bundles for jdk.management.agent</div>
<div>Compiling 3 properties into resource bundles for jdk.jdi</div>
<div>Compiling 5 properties into resource bundles for jdk.jlink</div>
<div>Compiling 3 properties into resource bundles for jdk.jlink</div>
<div>Compiling 1 properties into resource bundles for jdk.jlink</div>
<div>Compiling 224 properties into resource bundles for jdk.localedata</div>
<div>/usr/src/jdk18u/src/hotspot/cpu/x86/assembler_x86.cpp: In member function 'void Assembler::evprord(XMMRegister, KRegister, XMMRegister, int, bool, int)':</div>
<div>/usr/src/jdk18u/src/hotspot/cpu/x86/assembler_x86.cpp:11128:38: error: 'this' pointer is null [-Werror=nonnull]</div>
<div>11128 |   int encode = vex_prefix_and_encode(xmm0->encoding(), dst->encoding(), src->encoding(), VEX_SIMD_66, VEX_OPCODE_0F, &attributes);</div>
<div>      |                                      ^~~~</div>
<div>In file included from /usr/src/jdk18u/src/hotspot/share/asm/register.hpp:59,</div>
<div>                 from /usr/src/jdk18u/src/hotspot/share/asm/assembler.hpp:29,</div>
<div>                 from /usr/src/jdk18u/src/hotspot/cpu/x86/assembler_x86.cpp:26:</div>
<div>/usr/src/jdk18u/src/hotspot/cpu/x86/register_x86.hpp:160:9: note: in a call to non-static member function 'int XMMRegisterImpl::encoding() const'</div>
<div>  160 |   int   encoding() const                          { assert(is_valid(), "invalid register (%d)", (int)(intptr_t)this ); return (intptr_t)this; }</div>
<div>      |         ^~~~~~~~</div>
<div>/usr/src/jdk18u/src/hotspot/cpu/x86/assembler_x86.cpp: In member function 'void Assembler::evprorq(XMMRegister, KRegister, XMMRegister, int, bool, int)':</div>
<div>/usr/src/jdk18u/src/hotspot/cpu/x86/assembler_x86.cpp:11140:38: error: 'this' pointer is null [-Werror=nonnull]</div>
<div>11140 |   int encode = vex_prefix_and_encode(xmm0->encoding(), dst->encoding(), src->encoding(), VEX_SIMD_66, VEX_OPCODE_0F, &attributes);</div>
<div>      |                                      ^~~~</div>
<div>In file included from /usr/src/jdk18u/src/hotspot/share/asm/register.hpp:59,</div>
<div>                 from /usr/src/jdk18u/src/hotspot/share/asm/assembler.hpp:29,</div>
<div>                 from /usr/src/jdk18u/src/hotspot/cpu/x86/assembler_x86.cpp:26:</div>
<div>/usr/src/jdk18u/src/hotspot/cpu/x86/register_x86.hpp:160:9: note: in a call to non-static member function 'int XMMRegisterImpl::encoding() const'</div>
<div>  160 |   int   encoding() const                          { assert(is_valid(), "invalid register (%d)", (int)(intptr_t)this ); return (intptr_t)this; }</div>
<div>      |         ^~~~~~~~</div>
<div>Compiling 11 properties into resource bundles for java.base</div>
<div>cc1plus: all warnings being treated as errors</div>
<div>gmake[3]: *** [lib/CompileJvm.gmk:143: /usr/src/jdk18u/build/linux-x86_64-server-release/hotspot/variant-server/libjvm/objs/assembler_x86.o] Error 1</div>
<div>gmake[3]: *** Waiting for unfinished jobs....</div>
<div>Compiling 6 properties into resource bundles for java.base</div>
<div>gmake[2]: *** [make/Main.gmk:252: hotspot-server-libs] Error 2</div>
<div>gmake[2]: *** Waiting for unfinished jobs....</div>
<div><br>
</div>
<div>ERROR: Build failed for target 'images' in configuration 'linux-x86_64-server-release' (exit code 2)
</div>
<div>```</div>
<div><br>
</div>
<div><br>
</div>
<div>```</div>
<div>cat /usr/src/jdk18u/build/linux-x86_64-server-release/make-support/failure-logs/*</div>
<div>/usr/bin/g++ -MMD -MF /usr/src/jdk18u/build/linux-x86_64-server-release/hotspot/variant-server/libjvm/objs/assembler_x86.d.tmp -I/usr/src/jdk18u/build/linux-x86_64-server-release/hotspot/variant-server/libjvm/objs/precompiled -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
 -D__STDC_CONSTANT_MACROS -D_GNU_SOURCE -D_REENTRANT -pipe -fno-rtti -fno-exceptions -fvisibility=hidden -fno-strict-aliasing -fno-omit-frame-pointer -fcheck-new -fstack-protector -std=c++14 -DLIBC=gnu -DLINUX -Wall -Wextra -Wformat=2 -Wpointer-arith -Wsign-compare
 -Wunused-function -Wundef -Wunused-value -Wreturn-type -Wtrampolines -Woverloaded-virtual -Wreorder -fPIC -fmacro-prefix-map=/usr/src/jdk18u/= -DVM_LITTLE_ENDIAN -D_LP64=1 -fno-delete-null-pointer-checks -fno-lifetime-dse -Wno-format-zero-length -Wtype-limits
 -Wuninitialized -m64 -DPRODUCT -DTARGET_ARCH_x86 -DINCLUDE_SUFFIX_OS=_linux -DINCLUDE_SUFFIX_CPU=_x86 -DINCLUDE_SUFFIX_COMPILER=_gcc -DTARGET_COMPILER_gcc -DAMD64 -DHOTSPOT_LIB_ARCH='"amd64"' -DCOMPILER1 -DCOMPILER2 -I/usr/src/jdk18u/build/linux-x86_64-server-release/hotspot/variant-server/gensrc/adfiles
 -I/usr/src/jdk18u/src/hotspot/share -I/usr/src/jdk18u/src/hotspot/os/linux -I/usr/src/jdk18u/src/hotspot/os/posix -I/usr/src/jdk18u/src/hotspot/cpu/x86 -I/usr/src/jdk18u/src/hotspot/os_cpu/linux_x86 -I/usr/src/jdk18u/build/linux-x86_64-server-release/hotspot/variant-server/gensrc
 -I/usr/src/jdk18u/src/hotspot/share/precompiled -I/usr/src/jdk18u/src/hotspot/share/include -I/usr/src/jdk18u/src/hotspot/os/posix/include -I/usr/src/jdk18u/build/linux-x86_64-server-release/support/modules_include/java.base -I/usr/src/jdk18u/build/linux-x86_64-server-release/support/modules_include/java.base/linux
 -I/usr/src/jdk18u/src/java.base/share/native/libjimage -m64 -I/usr/src/jdk18u/build/linux-x86_64-server-release/hotspot/variant-server/gensrc/adfiles -I/usr/src/jdk18u/src/hotspot/share -I/usr/src/jdk18u/src/hotspot/os/linux -I/usr/src/jdk18u/src/hotspot/os/posix
 -I/usr/src/jdk18u/src/hotspot/cpu/x86 -I/usr/src/jdk18u/src/hotspot/os_cpu/linux_x86 -I/usr/src/jdk18u/build/linux-x86_64-server-release/hotspot/variant-server/gensrc -Wno-unused-parameter -Wno-unused -Wno-parentheses -Wno-comment -Wno-unknown-pragmas -Wno-address
 -Wno-delete-non-virtual-dtor -Wno-char-subscripts -Wno-array-bounds -Wno-int-in-bool-context -Wno-ignored-qualifiers -Wno-missing-field-initializers -Wno-implicit-fallthrough -Wno-empty-body -Wno-strict-overflow -Wno-sequence-point -Wno-maybe-uninitialized
 -Wno-misleading-indentation -Wno-cast-function-type -Wno-shift-negative-value -Werror -O3 -Wno-maybe-uninitialized -c -o /usr/src/jdk18u/build/linux-x86_64-server-release/hotspot/variant-server/libjvm/objs/assembler_x86.o /usr/src/jdk18u/src/hotspot/cpu/x86/assembler_x86.cpp</div>
<div>/usr/src/jdk18u/src/hotspot/cpu/x86/assembler_x86.cpp: In member function 'void Assembler::evprord(XMMRegister, KRegister, XMMRegister, int, bool, int)':</div>
<div>/usr/src/jdk18u/src/hotspot/cpu/x86/assembler_x86.cpp:11128:38: error: 'this' pointer is null [-Werror=nonnull]</div>
<div>11128 |   int encode = vex_prefix_and_encode(xmm0->encoding(), dst->encoding(), src->encoding(), VEX_SIMD_66, VEX_OPCODE_0F, &attributes);</div>
<div>      |                                      ^~~~</div>
<div>In file included from /usr/src/jdk18u/src/hotspot/share/asm/register.hpp:59,</div>
<div>                 from /usr/src/jdk18u/src/hotspot/share/asm/assembler.hpp:29,</div>
<div>                 from /usr/src/jdk18u/src/hotspot/cpu/x86/assembler_x86.cpp:26:</div>
<div>/usr/src/jdk18u/src/hotspot/cpu/x86/register_x86.hpp:160:9: note: in a call to non-static member function 'int XMMRegisterImpl::encoding() const'</div>
<div>  160 |   int   encoding() const                          { assert(is_valid(), "invalid register (%d)", (int)(intptr_t)this ); return (intptr_t)this; }</div>
<div>      |         ^~~~~~~~</div>
<div>/usr/src/jdk18u/src/hotspot/cpu/x86/assembler_x86.cpp: In member function 'void Assembler::evprorq(XMMRegister, KRegister, XMMRegister, int, bool, int)':</div>
<div>/usr/src/jdk18u/src/hotspot/cpu/x86/assembler_x86.cpp:11140:38: error: 'this' pointer is null [-Werror=nonnull]</div>
<div>11140 |   int encode = vex_prefix_and_encode(xmm0->encoding(), dst->encoding(), src->encoding(), VEX_SIMD_66, VEX_OPCODE_0F, &attributes);</div>
<div>      |                                      ^~~~</div>
<div>In file included from /usr/src/jdk18u/src/hotspot/share/asm/register.hpp:59,</div>
<div>                 from /usr/src/jdk18u/src/hotspot/share/asm/assembler.hpp:29,</div>
<div>                 from /usr/src/jdk18u/src/hotspot/cpu/x86/assembler_x86.cpp:26:</div>
<div>/usr/src/jdk18u/src/hotspot/cpu/x86/register_x86.hpp:160:9: note: in a call to non-static member function 'int XMMRegisterImpl::encoding() const'</div>
<div>  160 |   int   encoding() const                          { assert(is_valid(), "invalid register (%d)", (int)(intptr_t)this ); return (intptr_t)this; }</div>
<div>      |         ^~~~~~~~</div>
<div>cc1plus: all warnings being treated as errors</div>
<div>```</div>
<div><br>
</div>
<div>Has anyone tried compiling this on RHEL9 or Fedora >= 34 / GCC >= 11.3.1?</div>
<div>Does anyone know of a workaround to get this to compile on these platforms/with these compilers?</div>
<div><br>
</div>
<div><br>
</div>
<br>
</div>
</body>
</html>