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

Arnout Vandecappelle arnout at mind.be
Sat Sep 21 13:31:34 UTC 2019



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 at 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
> 


More information about the buildroot mailing list