package/ddrescue: work around gcc bug 85180

With Microblaze Gcc version < 8.x the build hangs due to gcc bug
85180: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180. The bug
shows up when building ddrescue with optimization but not when
building with -O0. To work around this, if
BR2_TOOLCHAIN_HAS_GCC_BUG_85180=y we force using -O0.

Fixes:

  http://autobuild.buildroot.net/results/2af69401acb76be3d3fd427d1c58fed3af33bf9b/

Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
[Thomas: tweak CFLAGS logic, improve commit log]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>

(cherry picked from commit 2f5d554f4d)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Giulio Benetti 2019-05-21 15:39:24 +02:00 committed by Peter Korsgaard
parent 2e6dfbd611
commit 1424278f2e

View File

@ -18,8 +18,14 @@ define DDRESCUE_CONFIGURE_CMDS
)
endef
DDRESCUE_CXXFLAGS = $(TARGET_CXXFLAGS)
ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y)
DDRESCUE_CXXFLAGS += -O0
endif
define DDRESCUE_BUILD_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
$(TARGET_MAKE_ENV) $(MAKE) CXXFLAGS="$(DDRESCUE_CXXFLAGS)" -C $(@D)
endef
define DDRESCUE_INSTALL_TARGET_CMDS