[Buildroot] [PATCH] package/kmsxx: work around gcc bug 85180

Giulio Benetti giulio.benetti at micronovasrl.com
Sat Jun 8 11:51:07 UTC 2019


Hi Arnout, Thomas H.,

Il 08/06/2019 12:56, Arnout Vandecappelle ha scritto:
> 
> 
> On 07/06/2019 09:19, Thomas Huth wrote:
>> Am Fri, 7 Jun 2019 08:39:07 +0200
>> schrieb Giulio Benetti <giulio.benetti at micronovasrl.com>:
>>
>>> Hello Thomas H.,
>>>
>>> adding Thomas P.+
>>>
>>> Il 07/06/2019 08:08, Thomas Huth ha scritto:
>>>> Am Thu,  6 Jun 2019 15:10:35 +0200
>>>> schrieb Giulio Benetti <giulio.benetti at micronovasrl.com>:
>>>>    
>>>>> With Microblaze Gcc version < 8.x the build hangs due to gcc bug
>>>>> 85180: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180. The bug
>>>>> shows up when building kmsxx with optimization but not when
>>>>> building with -O0. To work around this, if
>>>>> BR2_TOOLCHAIN_HAS_GCC_BUG_85180=y we force using -O0.
>>>>
>>>> According to the description in the bugzilla, the bug should also go
>>>> away when compiling with -fno-dse ... so wouldn't it be better to
>>>> use "-fno-dse" here instead of disabling the optimizations
>>>> completely?
>>>
>>> Honestly I've completely missed that possible solution and didn't
>>> even tested.
>>>
>>> Anyway it's been discussed on IRC channel to keep a common work
>>> around for every different GCC_BUG_*, so since many packages are
>>> affected by Bug 85180 and -O0 seemed to work every time Thomas P.
>>> suggested to always keep that flag as solution.
> 
>   It's not the same solution for every GCC_BUG_* that we want, it is the same
> solution for every package. So we don't want to use -O2 -g0 in one package and
> -O0 in another package.

Yes you'r right.

>   If the -fno-dse also works, that would be an even better solution.

Yes, I was thinking about it and you've beaten me on time :)

>> Well, if -fno-dse is also "fixing" this bug, maybe you could add
>> "-fno-dse" to the global compiler flags instead of manually fixing each
>> and every package with -O0? ... anyway, just my 0.02 €.
> 
>   That's a good idea, actually...

Yes, Thomas H. is totally right.

>   And very easy to test if it works: just remove the definition of GCC_BUG_85180
> (so the -O0 is never passed), add -fno-dse to the toolchain wrapper flags, and
> build all affected packages with a toolchain that is known to be broken.

Yep, I'm going to do that starting from Monday.

>   Great for Giulio's patch count: so many patches adding this stuff, and then the
> same number of patches removing it again :-)

:) yes, 10 patches more, more or less. This way easier to produce them 
though.

Best regards
-- 
Giulio Benetti
CTO

MICRONOVA SRL
Sede: Via A. Niedda 3 - 35010 Vigonza (PD)
Tel. 049/8931563 - Fax 049/8931346
Cod.Fiscale - P.IVA 02663420285
Capitale Sociale € 26.000 i.v.
Iscritta al Reg. Imprese di Padova N. 02663420285
Numero R.E.A. 258642



More information about the buildroot mailing list