Message ID | 20190514211526.26467-1-fontaine.fabrice@gmail.com |
---|---|
State | Superseded |
Headers | show |
Series | [1/1] package/brotli: fix build on microblazewith -02 | expand |
Hi, On Tue, 14 May 2019 23:15:26 +0200, Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote: > Fixes: > - http://autobuild.buildroot.org/results/4790c30b75cdec18f67cda9c6afcb6971ee27608 > > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> Reviewed-by: Adrian Perez de Castro <aperez@igalia.com> > --- > package/brotli/brotli.mk | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/package/brotli/brotli.mk b/package/brotli/brotli.mk > index 2c1ad48753..4afd3628a8 100644 > --- a/package/brotli/brotli.mk > +++ b/package/brotli/brotli.mk > @@ -14,4 +14,11 @@ BROTLI_CONF_OPTS = \ > -DBROTLI_DISABLE_TESTS=ON \ > -DBROTLI_BUNDLED_MODE=OFF > > +# prevents from triggering GCC ICE > +# A bug was reported to the gcc bug tracker: > +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68485 > +ifeq ($(BR2_microblaze),y) > +BROTLI_CONF_OPTS += -DCMAKE_C_FLAGS="$(TARGET_CFLAGS) -O0" > +endif This is not a great fix, but still better than not being able to build the package at all, so I think it's okay to merge it. ¯\_(ツ)_/¯ > $(eval $(cmake-package)) > -- > 2.20.1 >
Hello All, Arnout, Thomas, Il 15/05/2019 11:27, Adrian Perez de Castro ha scritto: > Hi, > > On Tue, 14 May 2019 23:15:26 +0200, Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote: >> Fixes: >> - http://autobuild.buildroot.org/results/4790c30b75cdec18f67cda9c6afcb6971ee27608 >> >> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> > > Reviewed-by: Adrian Perez de Castro <aperez@igalia.com> > >> --- >> package/brotli/brotli.mk | 7 +++++++ >> 1 file changed, 7 insertions(+) >> >> diff --git a/package/brotli/brotli.mk b/package/brotli/brotli.mk >> index 2c1ad48753..4afd3628a8 100644 >> --- a/package/brotli/brotli.mk >> +++ b/package/brotli/brotli.mk >> @@ -14,4 +14,11 @@ BROTLI_CONF_OPTS = \ >> -DBROTLI_DISABLE_TESTS=ON \ >> -DBROTLI_BUNDLED_MODE=OFF >> >> +# prevents from triggering GCC ICE >> +# A bug was reported to the gcc bug tracker: >> +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68485 >> +ifeq ($(BR2_microblaze),y) >> +BROTLI_CONF_OPTS += -DCMAKE_C_FLAGS="$(TARGET_CFLAGS) -O0" >> +endif > > This is not a great fix, but still better than not being able to build the > package at all, so I think it's okay to merge it. ¯\_(ツ)_/¯ This is another package added to the list of Microblaze GCC6/7 bug 85180. List now is: - atop - flare-engine - boost - gst-ffmpeg - glibmm - qt5sensors - (and this) brotli I don't think this is the way to solve it. I mean, it would be ok for -O0, but at this point I'm going to make a patch that impose it at toolchain's Config.in, otherwise we need to wait every package to fail and patch it. Another easier way is what Arnout suggested here: http://lists.busybox.net/pipermail/buildroot/2019-May/250212.html What I'm going to can check today is if there's a common fix for C and C++ compilation. And it seems at the moment to be using -O0. What about the 2 choices?
Hello, On Wed, 15 May 2019 11:42:12 +0200 Giulio Benetti <giulio.benetti@micronovasrl.com> wrote: > >> +# prevents from triggering GCC ICE > >> +# A bug was reported to the gcc bug tracker: > >> +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68485 > >> +ifeq ($(BR2_microblaze),y) > >> +BROTLI_CONF_OPTS += -DCMAKE_C_FLAGS="$(TARGET_CFLAGS) -O0" > >> +endif > > > > This is not a great fix, but still better than not being able to build the > > package at all, so I think it's okay to merge it. ¯\_(ツ)_/¯ > > This is another package added to the list of Microblaze GCC6/7 bug 85180. Be careful: we have two separate issues. Gcc bug 85180 and gcc bug 68485. gcc bug 85180, which you were working on, causes the compiler to got in an infinite loop gcc bug 68485, which this patch is about, causes the compiler to throw an ICE (Internal Compiler Error). I.e the compiler aborts, it does not enter in an infinite loop. It would be interesting to see if bug 68485 stills exists with gcc 8.x or 9.x. Best regards, Thomas
Il 15/05/2019 11:50, Thomas Petazzoni ha scritto: > Hello, > > On Wed, 15 May 2019 11:42:12 +0200 > Giulio Benetti <giulio.benetti@micronovasrl.com> wrote: > >>>> +# prevents from triggering GCC ICE >>>> +# A bug was reported to the gcc bug tracker: >>>> +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68485 >>>> +ifeq ($(BR2_microblaze),y) >>>> +BROTLI_CONF_OPTS += -DCMAKE_C_FLAGS="$(TARGET_CFLAGS) -O0" >>>> +endif >>> >>> This is not a great fix, but still better than not being able to build the >>> package at all, so I think it's okay to merge it. ¯\_(ツ)_/¯ >> >> This is another package added to the list of Microblaze GCC6/7 bug 85180. > > Be careful: we have two separate issues. Gcc bug 85180 and gcc bug 68485. > > gcc bug 85180, which you were working on, causes the compiler to got in > an infinite loop > > gcc bug 68485, which this patch is about, causes the compiler to throw > an ICE (Internal Compiler Error). I.e the compiler aborts, it does not > enter in an infinite loop. Right. > It would be interesting to see if bug 68485 stills exists with gcc 8.x > or 9.x. Then I'm going to test both 8.x and 9.x right now for both bugs. It seems hard to find a fix for GCC < 8.x and Microblaze is a niche. So IMHO it seems a waste of time now with all these packages that fail. Best regards
On 15/05/2019 12:42, Giulio Benetti wrote: > > > Il 15/05/2019 11:50, Thomas Petazzoni ha scritto: >> Hello, >> >> On Wed, 15 May 2019 11:42:12 +0200 >> Giulio Benetti <giulio.benetti@micronovasrl.com> wrote: >> >>>>> +# prevents from triggering GCC ICE >>>>> +# A bug was reported to the gcc bug tracker: >>>>> +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68485 >>>>> +ifeq ($(BR2_microblaze),y) >>>>> +BROTLI_CONF_OPTS += -DCMAKE_C_FLAGS="$(TARGET_CFLAGS) -O0" >>>>> +endif >>>> >>>> This is not a great fix, but still better than not being able to build the >>>> package at all, so I think it's okay to merge it. ¯\_(ツ)_/¯ >>> >>> This is another package added to the list of Microblaze GCC6/7 bug 85180. >> >> Be careful: we have two separate issues. Gcc bug 85180 and gcc bug 68485. >> >> gcc bug 85180, which you were working on, causes the compiler to got in >> an infinite loop >> >> gcc bug 68485, which this patch is about, causes the compiler to throw >> an ICE (Internal Compiler Error). I.e the compiler aborts, it does not >> enter in an infinite loop. > > Right. > >> It would be interesting to see if bug 68485 stills exists with gcc 8.x >> or 9.x. IIUC it was actually introduced in GCC8.x, and we backported the patch that broke it: 0892-microblaze-Revert.patch So, my idea of requiring GCC8 for microblaze may not work out for all failures. Regards, Arnout > > Then I'm going to test both 8.x and 9.x right now for both bugs. > > It seems hard to find a fix for GCC < 8.x and Microblaze is a niche. > So IMHO it seems a waste of time now with all these packages that fail. > > Best regards
Hello Il 15/05/2019 11:50, Thomas Petazzoni ha scritto: > Hello, > > On Wed, 15 May 2019 11:42:12 +0200 > Giulio Benetti <giulio.benetti@micronovasrl.com> wrote: > >>>> +# prevents from triggering GCC ICE >>>> +# A bug was reported to the gcc bug tracker: >>>> +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68485 >>>> +ifeq ($(BR2_microblaze),y) >>>> +BROTLI_CONF_OPTS += -DCMAKE_C_FLAGS="$(TARGET_CFLAGS) -O0" >>>> +endif >>> >>> This is not a great fix, but still better than not being able to build the >>> package at all, so I think it's okay to merge it. ¯\_(ツ)_/¯ >> >> This is another package added to the list of Microblaze GCC6/7 bug 85180. > > Be careful: we have two separate issues. Gcc bug 85180 and gcc bug 68485. > > gcc bug 85180, which you were working on, causes the compiler to got in > an infinite loop Yes > gcc bug 68485, which this patch is about, causes the compiler to throw > an ICE (Internal Compiler Error). I.e the compiler aborts, it does not > enter in an infinite loop. Right. Thank you. > It would be interesting to see if bug 68485 stills exists with gcc 8.x > or 9.x. Gcc bug 68485 still exists with gcc 8.x and 9.x Need to add specific bug in toolchain Config.in and treat it package per package as discussed in IRC. Kind regards
diff --git a/package/brotli/brotli.mk b/package/brotli/brotli.mk index 2c1ad48753..4afd3628a8 100644 --- a/package/brotli/brotli.mk +++ b/package/brotli/brotli.mk @@ -14,4 +14,11 @@ BROTLI_CONF_OPTS = \ -DBROTLI_DISABLE_TESTS=ON \ -DBROTLI_BUNDLED_MODE=OFF +# prevents from triggering GCC ICE +# A bug was reported to the gcc bug tracker: +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68485 +ifeq ($(BR2_microblaze),y) +BROTLI_CONF_OPTS += -DCMAKE_C_FLAGS="$(TARGET_CFLAGS) -O0" +endif + $(eval $(cmake-package))
Fixes: - http://autobuild.buildroot.org/results/4790c30b75cdec18f67cda9c6afcb6971ee27608 Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> --- package/brotli/brotli.mk | 7 +++++++ 1 file changed, 7 insertions(+)