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>
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.
comment "bullet needs a toolchain w/ C++"
depends on !BR2_INSTALL_LIBSTDCPP
- depends on !BR2_microblaze
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))