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