RFR: 8325880: Require minimum Open XL C/C++ version 17.1.1
Julian Waters
jwaters at openjdk.org
Thu Feb 15 12:26:04 UTC 2024
On Thu, 15 Feb 2024 11:10:32 GMT, Joachim Kern <jkern at openjdk.org> wrote:
>> What does this mean? That you are not using xlc at all? Or is it clang but still with an xlc frontend, so all xlc flags etc need to stay?
>
>> What does this mean? That you are not using xlc at all? Or is it clang but still with an xlc frontend, so all xlc flags etc need to stay?
>
>
> The `xlc` toolchain is for the compiler versions up to 16 (xlclang++); the `clang` toolchain is for the compiler versions 17 (ibm-clang++_r) and higher. For the 17 Compiler the frontend is `clang`-ish and we are using the `clang` flags instead of the `xlc` flags.
> `toolchain.m4` decides on the basis of the found compiler which toolchain to use as default.
>
> # On AIX the default toolchain depends on the installed (found) compiler
> # xlclang++ -> xlc toolchain
> # ibm-clang++_r -> clang toolchain
> # The compiler is searched on the PATH and TOOLCHAIN_PATH
> # xlclang++ has precedence over ibm-clang++_r if both are installed
>
> So, if we set the minimum compiler level for AIX to 17, we can remove the xlc toolchain at all.
> We cannot remove every reference to xlc, because at least some headers we still use the xlc version (globalDefinitions_xlc.hpp)
> @JoKern65 Thanks for the explanation! It would be nice to clear out the xlc stuff. Let's open a separate issue for that once this is integrated.
>
> I also believe that the selection of `globalDefinitions_xlc.hpp` is done by #ifdefs in Hotspot source code, and has no relation to the build systems concept of toolchains.
There is one spot in the build system where clang is forcefully labelled as xlc, in the place where the HotSpot toolchain type is set
https://github.com/openjdk/jdk/blob/a0e5e16afbd19f6396f0af2cba954225a357eca8/make/autoconf/toolchain.m4#L1015
-------------
PR Comment: https://git.openjdk.org/jdk/pull/17857#issuecomment-1945992143
More information about the build-dev
mailing list