From a8a9b12766a434e7d70cd246689d4de11d440875 Mon Sep 17 00:00:00 2001 From: Giulio Benetti Date: Tue, 3 Aug 2021 10:42:45 +0200 Subject: [PATCH] package/pixman: fix build failure due to gcc bug 101737 The pixman package exhibits gcc bug 101737 when built for the SH4 architecture with optimization enabled, which causes a build failure. As done for other packages in Buildroot work around this gcc bug by setting optimization to -O0 if BR2_TOOLCHAIN_HAS_GCC_BUG_101737=y. Also let's add PIXMAN_CFLAGS and pass the Codesourcery work around CFLAGS to it for consistency like we do for the rest of the packages. Fixes: http://autobuild.buildroot.net/results/b20/b20869bbb48edb1f0a847ea9e2e1a0462d6350be/ Signed-off-by: Giulio Benetti Signed-off-by: Arnout Vandecappelle (Essensium/Mind) --- package/pixman/pixman.mk | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/package/pixman/pixman.mk b/package/pixman/pixman.mk index d99005ecb7..6fab539593 100644 --- a/package/pixman/pixman.mk +++ b/package/pixman/pixman.mk @@ -44,12 +44,20 @@ ifneq ($(BR2_iwmmxt),y) PIXMAN_CONF_OPTS += --disable-arm-iwmmxt endif +PIXMAN_CFLAGS = $(TARGET_CFLAGS) + # toolchain gets confused about TLS access through GOT (PIC), so disable TLS # movhi r4, %got_hiadj(%tls_ldo(fast_path_cache)) # {standard input}:172: Error: bad expression ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII),y) -PIXMAN_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -DPIXMAN_NO_TLS" +PIXMAN_CFLAGS += -DPIXMAN_NO_TLS +endif + +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_101737),y) +PIXMAN_CFLAGS += -O0 endif +PIXMAN_CONF_OPTS += CFLAGS="$(PIXMAN_CFLAGS)" + $(eval $(autotools-package)) $(eval $(host-autotools-package)) -- 2.30.2