Browse Source

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>
Giulio Benetti 6 năm trước cách đây
mục cha
commit
b7c9a7d602

+ 0 - 5
package/assimp/Config.in

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

+ 4 - 0
package/assimp/assimp.mk

@@ -24,6 +24,10 @@ ifeq ($(BR2_sh):$(BR2_STATIC_LIBS):$(BR2_TOOLCHAIN_GCC_AT_LEAST_6),y:y:)
 ASSIMP_CXXFLAGS += -O2
 ASSIMP_CXXFLAGS += -O2
 endif
 endif
 
 
+ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y)
+ASSIMP_CXXFLAGS += -O0
+endif
+
 ASSIMP_CONF_OPTS += -DASSIMP_BUILD_TESTS=OFF \
 ASSIMP_CONF_OPTS += -DASSIMP_BUILD_TESTS=OFF \
 	-DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) $(ASSIMP_CXXFLAGS)"
 	-DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) $(ASSIMP_CXXFLAGS)"