boot/uboot: fix build with host-gcc 10+
Some older versions of U-Boot, or custom versions (like forks for some
boards), fail to build with host-gcc 10+, because of redefined symbols:
HOSTLD scripts/dtc/dtc
/usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss+0x10): multiple definition
of `yylloc'; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0): first defined here
collect2: error: ld returned 1 exit status
make[4]: *** [scripts/Makefile.host:106: scripts/dtc/dtc] E
Since this has been fixed in recent-ish versions, we can't use an
unconditionaly patch, so we must have a conditional patch. However, a
patch may not always apply to arbitrary U-Boot versions or forks.
Upstream just dropped that line altogether:
018921ee79
So, we use a little sed-grep combo to do the exact same change.
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Tested-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
This commit is contained in:
parent
de0f5ba17a
commit
3b3859cc7d
@ -238,6 +238,13 @@ endef
|
||||
UBOOT_POST_EXTRACT_HOOKS += UBOOT_COPY_OLD_LICENSE_FILE
|
||||
UBOOT_POST_RSYNC_HOOKS += UBOOT_COPY_OLD_LICENSE_FILE
|
||||
|
||||
# Older versions break on gcc 10+ because of redefined symbols
|
||||
define UBOOT_DROP_YYLLOC
|
||||
$(Q)grep -Z -l -r -E '^YYLTYPE yylloc;$$' $(@D) \
|
||||
|xargs -0 -r $(SED) '/^YYLTYPE yylloc;$$/d'
|
||||
endef
|
||||
UBOOT_POST_PATCH_HOOKS += UBOOT_DROP_YYLLOC
|
||||
|
||||
ifneq ($(ARCH_XTENSA_OVERLAY_FILE),)
|
||||
define UBOOT_XTENSA_OVERLAY_EXTRACT
|
||||
$(call arch-xtensa-overlay-extract,$(@D),u-boot)
|
||||
|
Loading…
Reference in New Issue
Block a user