RFR : 8218965: aix: support xlclang++ in the compiler detection

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Mon Feb 18 10:17:36 UTC 2019



On 2019-02-15 14:30, Baesken, Matthias wrote:
>> Are they both pointing to the same binary, and the mode of operation
>> (legacy xlc vs xlclang) is determined by the name of the executable?
>>
> Hello, in the installation I use   I have separate  binaries .
>
>
>> Is xlclang++ always available for version 16+ of xlc?
>>
> I think so,  as least I am not  aware of an installation mode with separate  binaries .
> However I am not an XLC  installation guru �� .
>
>> If so, maybe we should just make sure we call the compiler with the
>> correct name if version 16+ is detected?
>>
> I thought  that we currently  first set  the  toolchain  name and then  set a fix  name for the binary  and check the version .
> But I might be wrong.  Maybe  we need  to adjust this .
> Or just at some future  point in time  declare  xlc16   as minimum   requirement  (this makes things  easier , we can then use  the new binary names   ).

Yeah, we can adjust the process if needed. And to solve this *properly*, 
we should. I still think this looks like the wrong way to do it. But...

If we're talking about a short migration story, where soon XLC 16 will 
be required, and we can just replace

TOOLCHAIN_CC_BINARY_xlc="xlc_r"

with

TOOLCHAIN_CC_BINARY_xlc="xlclang"

then I can accept it anyway, so we don't need to complicate things.

I also don't like how xlclang is just run from the path, but OTOH it's 
only you guys who are going to run that in practice, and it's just going 
to be temporary, so, whatever.

The name AIX_USE_CLANG is not really correct, though. This is not about 
AIX. It should be XLC_USE_CLANG (or maybe better XLC_USES_CLANG, even 
perhaps XLC_IS_CLANG?!). And, as I said, it should use true/false, not 0/1.

If you fix this, and we agree that this is a temporary measure, I'm OK 
with the patch.

/Magnus


>
> Best regards, Matthias
>
>
>> -----Original Message-----
>> From: Magnus Ihse Bursie <magnus.ihse.bursie at oracle.com>
>> Sent: Freitag, 15. Februar 2019 13:32
>> To: Baesken, Matthias <matthias.baesken at sap.com>; 'build-
>> dev at openjdk.java.net' <build-dev at openjdk.java.net>
>> Cc: Doerr, Martin <martin.doerr at sap.com>
>> Subject: Re: RFR : 8218965: aix: support xlclang++ in the compiler detection
>>
>> On 2019-02-15 12:53, Baesken, Matthias wrote:
>>> Hi Magnus,
>>>
>>> we are currently  able to build (+ test �� )    jdk/jdk   on AIX   with the
>> xlclang++  based build .
>>> Only needed  are  this change ,
>>> plus   a one-liner  in harfhuzz  is needed   (we try to get this upstream  into
>> harbuzz directly,  in case the next harfhuzz update to jdk/jdk  is in the mid/far
>> future ,  I would add this one liner to my patch).
>>> So I  hope  that  there will be not so many follow ups   (but you never know
>> ).
>>
>> Ok, that's good to hear.
>>>> If so, could the choice between -g ang -g1 be handled with the normal
>>>> TOOLCHAIN_CHECK_COMPILER_VERSION?
>>>>
>>> I'll look into this .   Unfortunately  the  version output is the  same for  both
>> frontends :
>>> New one:
>>>
>>> bash-4.4$ xlclang++ -qversion
>>> IBM XL C/C++ for AIX, V16.1.0  (some-strange-hex-string)
>>> Version: 16.01.0000.0001
>>>
>>> Legacy xlc:
>>>
>>> bash-4.4$ xlC_r -qversion
>>> IBM XL C/C++ for AIX, V16.1.0  (some-strange-hex-string)
>>> Version: 16.01.0000.0001
>>>
>>>
>>> (and  some-strange-hex-string  is  the same for both)
>> Hm.
>>
>> Are they both pointing to the same binary, and the mode of operation
>> (legacy xlc vs xlclang) is determined by the name of the executable?
>>
>> Is xlclang++ always available for version 16+ of xlc?
>>
>> If so, maybe we should just make sure we call the compiler with the
>> correct name if version 16+ is detected?
>>
>> Or is there a way to force xlclang mode using a flag?
>>
>> /Magnus
>>



More information about the build-dev mailing list