aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Giulio Benetti <giulio.benetti@micronovasrl.com>2019-06-14 23:03:45 +0200
committerGravatar Thomas Petazzoni <thomas.petazzoni@bootlin.com>2019-06-20 16:39:35 +0200
commit79bea6cf60665c4a17a5066a2043b05aa45eca85 (patch)
treedd31809404d3ef1976f57041ecb9a95bd30b6ec9
parenta2cee5037f9a7dcb732c7cddb873537dae718068 (diff)
downloadbuildroot-79bea6cf60665c4a17a5066a2043b05aa45eca85.tar.gz
buildroot-79bea6cf60665c4a17a5066a2043b05aa45eca85.tar.bz2
package/sqlite: work around build timeout on Microblaze
With Microblaze Gcc version 4.9 build hangs due to a bug discovered for Gcc 4.9 only. Since Gcc 4.9 is not maintaned anymore it doesn't make sense to report this bug in Gcc bugzilla and use BR2_TOOLCHAIN_HAS_GCC_BUG_. So let's check if we're building for Microblaze with Gcc version < 5.x and work around the bug forcing the use of -O0. To reproduce this bug build with following defconfig: ' BR2_microblazeel=y BR2_ENABLE_DEBUG=y BR2_OPTIMIZE_2=y BR2_KERNEL_HEADERS_5_0=y BR2_TOOLCHAIN_BUILDROOT_LOCALE=y BR2_GCC_VERSION_4_9_X=y BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_TOOLCHAIN_BUILDROOT_FORTRAN=y BR2_GCC_ENABLE_LTO=y BR2_PACKAGE_SQLITE=y ' Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
-rw-r--r--package/sqlite/sqlite.mk6
1 files changed, 6 insertions, 0 deletions
diff --git a/package/sqlite/sqlite.mk b/package/sqlite/sqlite.mk
index 7e97c966b7..d4cdefe34d 100644
--- a/package/sqlite/sqlite.mk
+++ b/package/sqlite/sqlite.mk
@@ -39,8 +39,14 @@ ifeq ($(BR2_PACKAGE_SQLITE_NO_SYNC),y)
SQLITE_CFLAGS += -DSQLITE_NO_SYNC
endif
+# Building with Microblaze Gcc 4.9 makes compiling to hang.
+# Work around using -O0
+ifeq ($(BR2_microblaze):$(BR2_TOOLCHAIN_GCC_AT_LEAST_5),y:)
+SQLITE_CFLAGS += $(TARGET_CFLAGS) -O0
+else
# fallback to standard -O3 when -Ofast is present to avoid -ffast-math
SQLITE_CFLAGS += $(subst -Ofast,-O3,$(TARGET_CFLAGS))
+endif
SQLITE_CONF_ENV = CFLAGS="$(SQLITE_CFLAGS)"