
Hello, Le dim. 25 août 2019 à 13:44, Jan Kiszka jan.kiszka@web.de a écrit :
On 01.05.19 15:08, Fabrice Fontaine wrote:
When CROSS_BUILD_TOOLS is set, set HOSTCFLAGS to CFLAGS otherwise CC will be used with HOSTCFLAGS which seems wrong
Signed-off-by: Fabrice Fontaine fontaine.fabrice@gmail.com
tools/Makefile | 1 + 1 file changed, 1 insertion(+)
diff --git a/tools/Makefile b/tools/Makefile index 12a3027e23..eadeba417d 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -272,6 +272,7 @@ subdir- += env
ifneq ($(CROSS_BUILD_TOOLS),) override HOSTCC = $(CC) +override HOSTCFLAGS = $(CFLAGS)
quiet_cmd_crosstools_strip = STRIP $^ cmd_crosstools_strip = $(STRIP) $^; touch $@
This eats - among other things - -O2, normally set in /Makefile. And that breaks CROSS_BUILD_TOOLS=y with CONFIG_FIT but without CONFIG_FIT_SIGNATURE because "if (!IMAGE_ENABLE_SIGN)" is no longer optimized. I tend to believe this should simply be reverted (which is what I'm doing locally in order to fix my builds).
I don't think this patch should be reverted, I sent it to fix a cross-compilation build issue with host-openssl.
Indeed, without this patch, with CROSS_BUILD_TOOLS=y, tools/Makefile sets HOSTCC=$(CC) but it forgets to override HOSTCFLAGS, though, so the tools are built with target compiler but host CFLAGS.
This raises a build failure if host-openssl is built before uboot-tools because uboot-tools links with openssl headers from host which depends on pthread.h
More information can be found on buildroot's patchwork here: - https://patchwork.ozlabs.org/patch/1092227 - https://patchwork.ozlabs.org/patch/1093385
Jan
Best Regards,
Fabrice