All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] package/protobuf: work around gcc bug 85180
@ 2019-09-18  9:11 Giulio Benetti
  2019-09-21 13:31 ` Arnout Vandecappelle
  2019-09-30 12:26 ` Peter Korsgaard
  0 siblings, 2 replies; 4+ messages in thread
From: Giulio Benetti @ 2019-09-18  9:11 UTC (permalink / raw)
  To: buildroot

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 protobuf with optimization but not when building
with -O0. To work around this, if BR2_TOOLCHAIN_HAS_GCC_BUG_85180=y we
force using -O0.

Fixes:

http://autobuild.buildroot.net/results/73dc9610a13d6e14eec58d529617210d93d5dec4/

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
 package/protobuf/protobuf.mk | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/package/protobuf/protobuf.mk b/package/protobuf/protobuf.mk
index e698bac228..699735ce37 100644
--- a/package/protobuf/protobuf.mk
+++ b/package/protobuf/protobuf.mk
@@ -17,6 +17,14 @@ PROTOBUF_LICENSE_FILES = LICENSE
 PROTOBUF_DEPENDENCIES = host-protobuf
 PROTOBUF_CONF_OPTS = --with-protoc=$(HOST_DIR)/bin/protoc
 
+PROTOBUF_CXXFLAGS = $(TARGET_CXXFLAGS)
+
+ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y)
+PROTOBUF_CXXFLAGS += -O0
+endif
+
+PROTOBUF_CONF_ENV = CXXFLAGS="$(OPUS_CFXXLAGS)"
+
 ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
 PROTOBUF_CONF_ENV += LIBS=-latomic
 endif
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH] package/protobuf: work around gcc bug 85180
  2019-09-18  9:11 [Buildroot] [PATCH] package/protobuf: work around gcc bug 85180 Giulio Benetti
@ 2019-09-21 13:31 ` Arnout Vandecappelle
  2019-09-21 22:29   ` Giulio Benetti
  2019-09-30 12:26 ` Peter Korsgaard
  1 sibling, 1 reply; 4+ messages in thread
From: Arnout Vandecappelle @ 2019-09-21 13:31 UTC (permalink / raw)
  To: buildroot



On 18/09/2019 11:11, Giulio Benetti wrote:
> 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 protobuf with optimization but not when building
> with -O0. To work around this, if BR2_TOOLCHAIN_HAS_GCC_BUG_85180=y we
> force using -O0.
> 
> Fixes:
> 
> http://autobuild.buildroot.net/results/73dc9610a13d6e14eec58d529617210d93d5dec4/
> 
> Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
> ---
>  package/protobuf/protobuf.mk | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/package/protobuf/protobuf.mk b/package/protobuf/protobuf.mk
> index e698bac228..699735ce37 100644
> --- a/package/protobuf/protobuf.mk
> +++ b/package/protobuf/protobuf.mk
> @@ -17,6 +17,14 @@ PROTOBUF_LICENSE_FILES = LICENSE
>  PROTOBUF_DEPENDENCIES = host-protobuf
>  PROTOBUF_CONF_OPTS = --with-protoc=$(HOST_DIR)/bin/protoc
>  
> +PROTOBUF_CXXFLAGS = $(TARGET_CXXFLAGS)
> +
> +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y)
> +PROTOBUF_CXXFLAGS += -O0
> +endif
> +
> +PROTOBUF_CONF_ENV = CXXFLAGS="$(OPUS_CFXXLAGS)"

 OPUS_CFXXLAGS is obviously wrong. I guess it accidentally still fixed the
issue, because it causes the CXXFLAGS to be empty instead of TARGET_CXXFLAGS, so
it gets built without optimisation options.

 I fixed that and applied to master, thanks.

 Regards,
 Arnout

> +
>  ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
>  PROTOBUF_CONF_ENV += LIBS=-latomic
>  endif
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH] package/protobuf: work around gcc bug 85180
  2019-09-21 13:31 ` Arnout Vandecappelle
@ 2019-09-21 22:29   ` Giulio Benetti
  0 siblings, 0 replies; 4+ messages in thread
From: Giulio Benetti @ 2019-09-21 22:29 UTC (permalink / raw)
  To: buildroot

Hi Arnout,

On 9/21/19 3:31 PM, Arnout Vandecappelle wrote:
> 
> 
> On 18/09/2019 11:11, Giulio Benetti wrote:
>> 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 protobuf with optimization but not when building
>> with -O0. To work around this, if BR2_TOOLCHAIN_HAS_GCC_BUG_85180=y we
>> force using -O0.
>>
>> Fixes:
>>
>> http://autobuild.buildroot.net/results/73dc9610a13d6e14eec58d529617210d93d5dec4/
>>
>> Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
>> ---
>>   package/protobuf/protobuf.mk | 8 ++++++++
>>   1 file changed, 8 insertions(+)
>>
>> diff --git a/package/protobuf/protobuf.mk b/package/protobuf/protobuf.mk
>> index e698bac228..699735ce37 100644
>> --- a/package/protobuf/protobuf.mk
>> +++ b/package/protobuf/protobuf.mk
>> @@ -17,6 +17,14 @@ PROTOBUF_LICENSE_FILES = LICENSE
>>   PROTOBUF_DEPENDENCIES = host-protobuf
>>   PROTOBUF_CONF_OPTS = --with-protoc=$(HOST_DIR)/bin/protoc
>>   
>> +PROTOBUF_CXXFLAGS = $(TARGET_CXXFLAGS)
>> +
>> +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y)
>> +PROTOBUF_CXXFLAGS += -O0
>> +endif
>> +
>> +PROTOBUF_CONF_ENV = CXXFLAGS="$(OPUS_CFXXLAGS)"
> 
>   OPUS_CFXXLAGS is obviously wrong. I guess it accidentally still fixed the
> issue, because it causes the CXXFLAGS to be empty instead of TARGET_CXXFLAGS, so
> it gets built without optimisation options.

Oops, yes, sorry.

>   I fixed that and applied to master, thanks.

Thank you

-- 
Giulio Benetti
Benetti Engineering sas

>   Regards,
>   Arnout
> 
>> +
>>   ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
>>   PROTOBUF_CONF_ENV += LIBS=-latomic
>>   endif
>>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH] package/protobuf: work around gcc bug 85180
  2019-09-18  9:11 [Buildroot] [PATCH] package/protobuf: work around gcc bug 85180 Giulio Benetti
  2019-09-21 13:31 ` Arnout Vandecappelle
@ 2019-09-30 12:26 ` Peter Korsgaard
  1 sibling, 0 replies; 4+ messages in thread
From: Peter Korsgaard @ 2019-09-30 12:26 UTC (permalink / raw)
  To: buildroot

>>>>> "Giulio" == Giulio Benetti <giulio.benetti@benettiengineering.com> writes:

 > 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 protobuf with optimization but not when building
 > with -O0. To work around this, if BR2_TOOLCHAIN_HAS_GCC_BUG_85180=y we
 > force using -O0.

 > Fixes:

 > http://autobuild.buildroot.net/results/73dc9610a13d6e14eec58d529617210d93d5dec4/

 > Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>

Committed to 2019.02.x, 2019.05.x and 2019.08.x, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-09-30 12:26 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-18  9:11 [Buildroot] [PATCH] package/protobuf: work around gcc bug 85180 Giulio Benetti
2019-09-21 13:31 ` Arnout Vandecappelle
2019-09-21 22:29   ` Giulio Benetti
2019-09-30 12:26 ` Peter Korsgaard

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.