RFR: 8224214: [AIX] Remove support for legacy xlc compiler

David Holmes david.holmes at oracle.com
Fri Aug 30 13:33:44 UTC 2019


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