![Giulio Benetti](/assets/img/avatar_default.png)
Building fxload on Microblaze with gcc < 8.x and optimization enabled fails with: Error: operation combines symbols in different segments This is due to gcc bug 63261 (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63261). To work around this, the fxload package has a !BR2_microblaze dependency. However, gcc bug 63261 only triggers when optimization is enabled, so a better work around is to pass -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_63261, and re-enables fxload on Microblaze. Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
28 lines
749 B
Makefile
28 lines
749 B
Makefile
################################################################################
|
|
#
|
|
# fxload
|
|
#
|
|
################################################################################
|
|
|
|
FXLOAD_VERSION = 2008_10_13
|
|
FXLOAD_SITE = http://downloads.sourceforge.net/project/linux-hotplug/fxload/$(FXLOAD_VERSION)
|
|
FXLOAD_LICENSE = GPL-2.0+
|
|
FXLOAD_LICENSE_FILES = COPYING
|
|
|
|
FXLOAD_CFLAGS = $(TARGET_CFLAGS)
|
|
|
|
ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_63261),y)
|
|
FXLOAD_CFLAGS += -O0
|
|
endif
|
|
|
|
define FXLOAD_BUILD_CMDS
|
|
$(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \
|
|
CFLAGS="$(FXLOAD_CFLAGS)" -C $(@D) all
|
|
endef
|
|
|
|
define FXLOAD_INSTALL_TARGET_CMDS
|
|
$(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) prefix=$(TARGET_DIR) -C $(@D) install
|
|
endef
|
|
|
|
$(eval $(generic-package))
|