RFR: 8224214: [AIX] Remove support for legacy xlc compiler
Erik Joelsson
erik.joelsson at oracle.com
Fri Aug 30 15:08:49 UTC 2019
Build changes look good.
/Erik
On 2019-08-30 06:33, David Holmes wrote:
> Hi Matthias,
>
> On 30/08/2019 5:55 pm, Baesken, Matthias wrote:
>> Hi David , thanks for forwarding to build-dev + your comments . May
>> I add you as reviewer?
>
> Of course.
>
>>
>> New webrev :
>>
>> http://cr.openjdk.java.net/~mbaesken/webrevs/8224214.2/
>
> Updates look good.
>
> Thanks,
> David
> -----
>
>> -adjusted the copyright year in make/autoconf/toolchain.m4
>> -removed the comment as suggested by you
>>
>>> But that said, if __IBMCPP__ is no longer defined then it seems a
>>> fix is
>>> needed in ./share/runtime/vm_version.cpp as well.
>>
>> -removed __IBMCPP__ from share/runtime/vm_version.cpp (more a
>> cleanup than something that is really needed) ;
>> reason is that xlc16/xlclang++ comes with a very rich set of
>> compiler - macros, especially the "usual" clang and GNUC macros
>> are all set ; see :
>>
>> $fgrep GNUC xclangplus.txt
>> #define __GNUC_MINOR__ 2
>> #define __GNUC_PATCHLEVEL__ 1
>> #define __GNUC_STDC_INLINE__ 1
>> #define __GNUC__ 4
>>
>> $ fgrep clang xclangplus.txt
>> #define __clang__ 1
>> #define __clang_major__ 4
>> #define __clang_minor__ 0
>> #define __clang_patchlevel__ 1
>> #define __clang_version__ "4.0.1 (tags/RELEASE_401/final)"
>>
>>
>> $ fgrep __VERSION__ xclangplus.txt
>> #define __VERSION__ "IBM XL C/C++ for AIX, Version 16.1.0.1"
>>
>> So we would run into the clang -case in vm_version.cpp and
>> there use the __VERSION__ info that is pretty good IMHO .
>>
>> Best regards, Matthias
>>
>>
>>>
>>> Hi Matthias,
>>>
>>> cc'ing build-dev for build changes.
>>>
>>> But they look fine to me as do the main changes.
>>>
>>> A couple of nits:
>>>
>>> - ensure all copyright headers are updated for 2019
>>>
>>> - in globalDefinitions_xlc.hpp this comment seems no longer necessary
>>>
>>> // __IBMCPP__ is not defined any more with xlclang++
>>>
>>> But that said, if __IBMCPP__ is no longer defined then it seems a
>>> fix is
>>> needed in ./share/runtime/vm_version.cpp as well.
>>>
>>> Cheers,
>>> David
>>>
>>> On 30/08/2019 1:41 am, Baesken, Matthias wrote:
>>>> Hi Martin, I agree about the m4 files .
>>>> New webrev , this additionally touches toolchain.m4 and
>>>> flags-cflags.m4
>>>>
>>>> http://cr.openjdk.java.net/~mbaesken/webrevs/8224214.1/
>>>>
>>>> Thanks, Matthias
>>>>
>>>>> -----Original Message-----
>>>>> From: Doerr, Martin <martin.doerr at sap.com>
>>>>> Sent: Donnerstag, 29. August 2019 16:19
>>>>> To: Baesken, Matthias <matthias.baesken at sap.com>; 'hotspot-
>>>>> dev at openjdk.java.net' <hotspot-dev at openjdk.java.net>; 'ppc-aix-port-
>>>>> dev at openjdk.java.net' <ppc-aix-port-dev at openjdk.java.net>
>>>>> Subject: RE: RFR: 8224214: [AIX] Remove support for legacy xlc
>>>>> compiler
>>>>>
>>>>> Hi Matthias,
>>>>>
>>>>> nice cleanup. Looks good to me.
>>>>>
>>>>> We can also require availability of xlclang++ in toolchain.m4. I
>>>>> think some
>>> of
>>>>> the changes only work with this compiler.
>>>>>
>>>>> Thanks,
>>>>> Martin
>>>>>
>>>>>
>>>>>> -----Original Message-----
>>>>>> From: hotspot-dev <hotspot-dev-bounces at openjdk.java.net> On
>>> Behalf
>>>>> Of
>>>>>> Baesken, Matthias
>>>>>> Sent: Donnerstag, 29. August 2019 15:41
>>>>>> To: 'hotspot-dev at openjdk.java.net' <hotspot-dev at openjdk.java.net>;
>>>>>> 'ppc-aix-port-dev at openjdk.java.net' <ppc-aix-port-
>>>>> dev at openjdk.java.net>
>>>>>> Subject: RFR: 8224214: [AIX] Remove support for legacy xlc compiler
>>>>>>
>>>>>> Hello, please review the following change .
>>>>>> For OpenJDK 13 we've moved to XLC 16 as required compiler.
>>>>>> However we have still a lot of workarounds and checks in the
>>>>>> codebase
>>>>> for
>>>>>> the older xlc compilers.
>>>>>> This changes removes such changes .
>>>>>>
>>>>>> Additionally it adjusts the compiler version check in
>>>>>> hotspot/share/utilities/globalDefinitions_xlc.hpp
>>>>>> and 2 typos in os_aix are fixed .
>>>>>>
>>>>>>
>>>>>> When 8224214 was created a while ago , it was discussed on the
>>> mailing
>>>>> list
>>>>>> :
>>>>>>
>>>>>> "we still set some '-qlanglvl' options for C++ which aren't
>>>>>> supported by
>>> the
>>>>>> new compiler [xlc16/xlclang++] either" .
>>>>>> Those options generated lots of warnings , so they were removed
>>>>> already
>>>>>> so no need to remove them in this change .
>>>>>>
>>>>>> ( In jdk11 which is built with xlc12 they can still be found :
>>>>>> flags-cflags.m4:540: -qalias=noansi -qstrict -qtls=default
>>>>>> -qlanglvl=c99vla
>>> \
>>>>>> flags-cflags.m4:541: -qlanglvl=noredefmac -qnortti -qnoeh
>>>>>> -qignerrno"
>>>>>> )
>>>>>>
>>>>>>
>>>>>> Bug/webrev :
>>>>>>
>>>>>> https://bugs.openjdk.java.net/browse/JDK-8224214
>>>>>>
>>>>>> http://cr.openjdk.java.net/~mbaesken/webrevs/8224214.0/
>>>>>>
>>>>>>
>>>>>> Thanks, Matthias
More information about the ppc-aix-port-dev
mailing list