瀏覽代碼

package/bullet: re-enable package when gcc bug 85180 is present

With Microblaze Gcc version < 8.x the build hangs due to gcc bug
85180: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180. This
package has been excluded from building on Microblaze due to this.

To be consistent with how we deal with this issue in other packages,
we re-enable the package and instead work around the issue by building
with -O0, since gcc bug 85180 manifests itself only when optimization
is enabled.

To achieve this pass -O0 in CMAKE_CXX_FLAGS and remove 'depends on
!BR2_microblaze' and its comment if not available from Config.in.

Note that the comment was talking about gcc bug 68476, 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
bullet.

Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Giulio Benetti 6 年之前
父節點
當前提交
28a9aec018
共有 2 個文件被更改,包括 8 次插入4 次删除
  1. 0 4
      package/bullet/Config.in
  2. 8 0
      package/bullet/bullet.mk

+ 0 - 4
package/bullet/Config.in

@@ -1,9 +1,6 @@
 config BR2_PACKAGE_BULLET
 	bool "bullet"
 	depends on BR2_INSTALL_LIBSTDCPP
-	# Affected by
-	# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68476
-	depends on !BR2_microblaze
 	help
 	  Bullet is a Collision Detection and Rigid Body Dynamics
 	  Library.
@@ -12,4 +9,3 @@ config BR2_PACKAGE_BULLET
 
 comment "bullet needs a toolchain w/ C++"
 	depends on !BR2_INSTALL_LIBSTDCPP
-	depends on !BR2_microblaze

+ 8 - 0
package/bullet/bullet.mk

@@ -23,4 +23,12 @@ else
 BULLET_CONF_OPTS += -DBUILD_EXTRAS=OFF
 endif
 
+BULLET_CXXFLAGS = $(TARGET_CXXFLAGS)
+
+ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y)
+BULLET_CXXFLAGS += -O0
+endif
+
+BULLET_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(BULLET_CXXFLAGS)"
+
 $(eval $(cmake-package))