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

Giulio Benetti giulio.benetti at micronovasrl.com
Thu Jun 13 16:43:49 UTC 2019


Hi Arnout, Thomas H.,

Il 08/06/2019 15:00, Giulio Benetti ha scritto:
> Il 08/06/2019 14:46, Giulio Benetti ha scritto:
>> Il 08/06/2019 13:51, Giulio Benetti ha scritto:
>>> 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 :)
>>
>> I've given a try with kmsxx using -fno-dse, unfortunately it's a NOK.
>> -fno-dse still hangs while -O0 is ok.
>>
>> Thomas H.:
>> Can you please double check with this defconfig substituting '-O0' with
>> '-fno-dse'?
>> R2_microblazeel=y
>> BR2_ENABLE_DEBUG=y
>> BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
>> BR2_GCC_VERSION_4_9_X=y
>> BR2_TOOLCHAIN_BUILDROOT_CXX=y
>> BR2_PACKAGE_KMSXX=y
>>
>> Thanks!
>>
> 
> Hmm, now it works...
> 
> I will check for every toolchain and every package affected by Gcc Bug 
> 85180 and if it's ok I proceed creating new patches.

Just checked and even if this is true for "kmsxx" package, it's not for 
"atop","chocolate-doom","ddrescue","jasper" packages. And "kismet" 
package is NOK for Gcc 4.9/5 but OK for 6/7 with -fno-dse, so it seems 
only a case it worked for "kmsxx".
So they still hangs during building with -fno-dse instead of -O0 override.
As discussed on IRC with Arnout let's proceed using -O0 per-package.

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