With Microblaze ccc version < 8.x the build hangs due to bug 85180:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180. To avoid this, the
assimp package has a !BR2_microblaze dependency. However, gcc bug
85180 only triggers when optimization is enabled, so we can work
around the issue by passing -O0, which is what we do in other
Buildroot packages to work around this bug.
So, this commit passes -O0 when BR2_TOOLCHAIN_HAS_GCC_BUG_85180, and
re-enables assimp on Microblaze.
Note that the comment was talking about gcc bug 71124, but this gcc
bug is a duplicate of 85180. Since all Buildroot packages now use the
reference to gcc bug 85180 and the option is named
BR2_TOOLCHAIN_HAS_GCC_BUG_85180, we use this naming as well for
assimp.
Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
config BR2_PACKAGE_ASSIMP
bool "assimp"
- # All gcc versions affected by
- # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71124, that
- # cause an infinite loop in gcc when building this package.
- depends on !BR2_microblaze
depends on BR2_INSTALL_LIBSTDCPP
select BR2_PACKAGE_ZLIB
help
http://www.assimp.org
comment "assimp needs a toolchain w/ C++"
- depends on !BR2_microblaze
depends on !BR2_INSTALL_LIBSTDCPP
ASSIMP_CXXFLAGS += -O2
endif
+ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y)
+ASSIMP_CXXFLAGS += -O0
+endif
+
ASSIMP_CONF_OPTS += -DASSIMP_BUILD_TESTS=OFF \
-DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) $(ASSIMP_CXXFLAGS)"