On Thu, 15 Feb 2024 11:10:32 GMT, Joachim Kern <jk...@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