package/assimp: re-enable package on Microblaze

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>
(cherry picked from commit b7c9a7d602)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Giulio Benetti 2019-05-22 15:59:02 +02:00 committed by Peter Korsgaard
parent 7c875d3faf
commit c64c2c362c
2 changed files with 4 additions and 5 deletions

View File

@ -1,9 +1,5 @@
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
@ -16,5 +12,4 @@ config BR2_PACKAGE_ASSIMP
http://www.assimp.org
comment "assimp needs a toolchain w/ C++"
depends on !BR2_microblaze
depends on !BR2_INSTALL_LIBSTDCPP

View File

@ -24,6 +24,10 @@ ifeq ($(BR2_sh):$(BR2_STATIC_LIBS):$(BR2_TOOLCHAIN_GCC_AT_LEAST_6),y:y:)
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)"