[jdk8u-dev] RFR: 8342822: jdk8u432-b06 does not compile on AIX [v4]

Francisco Ferrari Bihurriet fferrari at openjdk.org
Wed Dec 18 20:39:44 UTC 2024


On Wed, 18 Dec 2024 15:59:22 GMT, Varada M <varadam at openjdk.org> wrote:

>> Use of llabs() for jlong resolves the build error on AIX.
>> Performed jtreg testing for hotspot/test on both aix-ppc64 and linux-ppc64le and no related failures observed 
>> 
>> JBS : [JDK-8342822](https://bugs.openjdk.org/browse/JDK-8342822)
>
> Varada M has updated the pull request incrementally with one additional commit since the last revision:
> 
>   8342822: jdk8u432-b06 does not compile on AIX

# Bonus

> For 11u, I would discard the compiler version as a possible reason why we aren't experiencing this issue (given all the previous tests were identical in both versions). I would lean towards a different preprocessor result, due to a different topology of the includes graph.

I was wrong, after a quick trick to ignore a missing `fontconfig` dependency, I was able to start a 11u build (I'm not interested in finishing it). By executing with `make_64 LOG=debug CONF=aix-ppc64-normal-server-release images`, I was able to retrieve the build command, and discovered that the compiler employed is `/opt/IBM/xlC/16.1.0/bin/xlclang++` (not `/opt/IBM/xlC/16.1.0/bin/xlC_r`).

So the previous tests were wrong, and in fact `xlclang++` 16.1.0 is not affected by the issue, the following snippet builds without problems:


cat >test.cpp <<'EOF'
#include <cmath>
#include <stdlib.h>

long test() {
    return abs((long)1);
}
EOF
/opt/IBM/xlC/16.1.0/bin/xlclang++ -q64 -c -o/dev/null test.cpp
rm -f test.cpp


So we won't hit this in 11u. For reference, here is the full `loopnode.o` build command:


/opt/IBM/xlC/16.1.0/bin/xlclang++ -qmakedep=gcc \
  -MF ./build/aix-ppc64-normal-server-release/hotspot/variant-server/libjvm/objs/loopnode.d.tmp \
  -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -D_REENTRANT \
  -qtbtable=full -qtune=balanced -qalias=noansi -qstrict -qtls=default -qnortti -qnoeh \
  -qignerrno -qstackprotect -DLIBC=default -DSUPPORTS_CLOCK_MONOTONIC -DAIX \
  -qpic=large -qarch=ppc64 -q64 -DNDEBUG -DPRODUCT -DTARGET_ARCH_ppc -DINCLUDE_SUFFIX_OS=_aix \
  -DINCLUDE_SUFFIX_CPU=_ppc -DINCLUDE_SUFFIX_COMPILER=_xlc -DTARGET_COMPILER_xlc -DPPC64 \
  -DHOTSPOT_LIB_ARCH='"ppc64"' -DCOMPILER1 -DCOMPILER2 -DINCLUDE_JVMCI=0 -DINCLUDE_CDS=0 \
  -DINCLUDE_AOT=0 -DINCLUDE_ZGC=0 -DINCLUDE_SHENANDOAHGC=0 -DINCLUDE_JFR=0 \
  -I ./build/aix-ppc64-normal-server-release/hotspot/variant-server/gensrc/adfiles \
  -I ./src/hotspot/share \
  -I ./src/hotspot/os/aix \
  -I ./src/hotspot/os/posix \
  -I ./src/hotspot/cpu/ppc \
  -I ./src/hotspot/os_cpu/aix_ppc \
  -I ./build/aix-ppc64-normal-server-release/hotspot/variant-server/gensrc \
  -I ./src/hotspot/share/precompiled \
  -I ./src/hotspot/share/include \
  -I ./src/hotspot/os/posix/include \
  -I ./build/aix-ppc64-normal-server-release/support/modules_include/java.base \
  -I ./build/aix-ppc64-normal-server-release/support/modules_include/java.base/aix \
  -I ./src/java.base/share/native/libjimage -q64 -DDONT_USE_PRECOMPILED_HEADER -g1 \
  -qsuppress=1540-0216 -qsuppress=1540-0198 -qsuppress=1540-1090 -qsuppress=1540-1639 \
  -qsuppress=1540-1088 -qsuppress=1500-010 -O3 -qhot=level=1 -qinline -qinlglue -c \
  -o ./build/aix-ppc64-normal-server-release/hotspot/variant-server/libjvm/objs/loopnode.o \
  ./src/hotspot/share/opto/loopnode.cpp

-------------

PR Comment: https://git.openjdk.org/jdk8u-dev/pull/600#issuecomment-2552223741


More information about the jdk8u-dev mailing list