[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH for-4.15] xen: Bump the minimum version of GCC supported to 4.9 (5.1 on arm64)



On 10.03.2021 19:05, Julien Grall wrote:
> On 09/03/2021 11:20, Jan Beulich wrote:
>> On 08.03.2021 21:22, Julien Grall wrote:
>>> On 08/03/2021 11:20, Jan Beulich wrote:
>>>> On 08.03.2021 11:51, Julien Grall wrote:
>>>>> On 08/03/2021 08:09, Jan Beulich wrote:
>>>>>> Additionally - partly related to your own reply regarding the CI
>>>>>> failures - imo there needs to be an analysis of what older distros
>>>>>> will no longer build (at all or by default).
>>>>>
>>>>> Per the CI, this would be Ubuntu Trusty (and older), Centos 7 (and older)
>>>>>
>>>>> Do you have any other in mind?
>>>>
>>>> Our SLE12 (latest service pack is SP5 and still has a while to go
>>>> to at least reach LTSS state) comes with gcc 4.8 as the default
>>>> compiler.
>>>
>>> Thanks! That's good to know. Is it the old GCC Suse supports?
>>
>> Not sure I understand the question: The default compiler of this or
>> any distro is of course (expected to be) supported by the vendor
>> for the lifetime of the OS.
> 
> Sorry for the wording. I was asking whether Suse also supports compiler 
> older than GCC 4.8.

Oh, I see. SLES11 has another year to go for LTSS to end, and it's 4.3
which is used there.

>>>>>>> --- a/xen/include/xen/compiler.h
>>>>>>> +++ b/xen/include/xen/compiler.h
>>>>>>> @@ -5,6 +5,19 @@
>>>>>>>     #error Sorry, your compiler is too old/not recognized.
>>>>>>>     #endif
>>>>>>>     
>>>>>>> +#if CONFIG_CC_IS_GCC
>>>>>>> +# if CONFIG_GCC_VERSION < 40900
>>>>>>> +/* https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58145 */
>>>>>>
>>>>>> As per the bug report, the issue was determined to not be present
>>>>>> in e.g. 4.3. Hence while such a bug may influence our choice of
>>>>>> minimum version, I don't think it can reasonably be named here as
>>>>>> the apparent only reason for the choice. Personally I don't think
>>>>>> any justification should be put here.
>>>>>
>>>>> Ok.
>>>>>
>>>>>>
>>>>>>> +#  error Sorry, your version of GCC is too old - please use 4.9 or 
>>>>>>> newer.
>>>>>>> +# elif defined(CONFIG_ARM_64) && CONFIG_GCC_VERSION < 50100
>>>>>>> +/*
>>>>>>> + * https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63293
>>>>>>> + * 
>>>>>>> https://lore.kernel.org/r/20210107111841.GN1551@xxxxxxxxxxxxxxxxxxxxx
>>>>>>> + */
>>>>>>> +#  error Sorry, your version of GCC is too old - please use 5.1 or 
>>>>>>> newer.
>>>>>>
>>>>>>    From the bug entry the fix looks to have been backported to 4.9,
>>>>>> or at least some (important?) branches thereof.
>>>>>
>>>>> It is not clear what's you are trying to point out. Mind clarifying?
>>>>
>>>> Some 4.9 compilers (perhaps widely used ones) may not have the bad
>>>> issue, which puts under question their ruling out when the main
>>>> reason for doing so is that bug.
>>>
>>> Well... We could surely try to hunt which GCC 4.9 has been fixed. But I
>>> am not convinced this is useful, we would need to have an allowlist of
>>> GCC compiler.
>>
>> Or probe the compiler for the bug in question.
> 
> I thought about it but it is not clear to me whether the reproducer 
> would work on every GCC version and how to detect that this was miscompiled.
> 
> Do you have any suggestion?

To have one I'd have to study the problem in quite a bit more detail.
But I did say that what you do for Arm is largely up to you (and
Stefano did meanwhile ack the Arm side), so I'm not sure I want to
invest the time that would be needed.

Jan



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.