All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [git commit branch/2019.11.x] package/grpc: add workaround for gcc<5
@ 2020-01-12 10:09 Peter Korsgaard
  0 siblings, 0 replies; only message in thread
From: Peter Korsgaard @ 2020-01-12 10:09 UTC (permalink / raw)
  To: buildroot

commit: https://git.buildroot.net/buildroot/commit/?id=e049de5f7c6dac2b884b493d6cf4f733323b0eb3
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/2019.11.x

Fixes:
http://autobuild.buildroot.net/results/3d5/3d5e0b2b8c6670cf9a43ceac4b8173760e1f933c/

Commit e0e54afd0cf7 (package/grpc: bump to version 1.25.0) bumped the grpc
version and added a workaround for 'failure memory model cannot be stronger
than success memory model for '__atomic_compare_exchange'.  This workaround
is also needed for 1.23.0, so add it here as well.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
---
 package/grpc/grpc.mk | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/package/grpc/grpc.mk b/package/grpc/grpc.mk
index 569db12089..b3d5433105 100644
--- a/package/grpc/grpc.mk
+++ b/package/grpc/grpc.mk
@@ -48,6 +48,14 @@ GRPC_CFLAGS += -O0
 GRPC_CXXFLAGS += -O0
 endif
 
+# Toolchains older than gcc5 will fail to compile with -0s due to:
+# error: failure memory model cannot be stronger than success memory model for
+# '__atomic_compare_exchange', so we use -O2 in these cases
+ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_5):$(BR2_OPTIMIZE_S),:y)
+GRPC_CFLAGS += -O2
+GRPC_CXXFLAGS += -O2
+endif
+
 GRPC_CONF_OPTS += \
 	-DCMAKE_C_FLAGS="$(GRPC_CFLAGS)" \
 	-DCMAKE_CXX_FLAGS="$(GRPC_CXXFLAGS)"

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2020-01-12 10:09 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-12 10:09 [Buildroot] [git commit branch/2019.11.x] package/grpc: add workaround for gcc<5 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.