[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