On Sun, Jul 23, 2017 at 12:37 PM, Bin Meng <bmeng...@gmail.com> wrote: > Attempting to use a 32-bit toolchain (eg: kernel.org 4.9 > i386-linux-gcc) to compile 64-bit U-Boot (qemu-x86_64_defconfig) > fails with the following errors: > > arch/x86/cpu/intel_common/microcode.c:79:2: error: PIC register > clobbered by 'ebx' in 'asm' > > The issue is with 32-bit toolchain compiling sources for 64-bit. > Using a 64-bit toolchain (eg: kernel.org 4.9 x86_64-linux-gcc) > works out of the box. When compiling sources for 32-bit, '-m32' is > passed to the toolchain (no matter it's 32-bit or 64-bit). > > Now do the same thing, passing '-m64' to the toolchain for 64-bit > sources build. >
The subject is a bit cofusing. As I read (and as I understand) we need to have 64-bit toolchain available (multilib package and so on). Basically what you do is "enforcing 64-bit toolchain to be used". Right? > Signed-off-by: Bin Meng <bmeng...@gmail.com> > --- > > arch/x86/config.mk | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/x86/config.mk b/arch/x86/config.mk > index 043425e..8835dcf 100644 > --- a/arch/x86/config.mk > +++ b/arch/x86/config.mk > @@ -26,7 +26,7 @@ endif > ifeq ($(IS_32BIT),y) > PLATFORM_CPPFLAGS += -march=i386 -m32 > else > -PLATFORM_CPPFLAGS += $(if $(CONFIG_SPL_BUILD),,-fpic) -fno-common > +PLATFORM_CPPFLAGS += $(if $(CONFIG_SPL_BUILD),,-fpic) -fno-common -m64 > endif > > PLATFORM_RELFLAGS += -ffunction-sections -fvisibility=hidden > -- > 2.9.2 > > _______________________________________________ > U-Boot mailing list > U-Boot@lists.denx.de > https://lists.denx.de/listinfo/u-boot -- With Best Regards, Andy Shevchenko _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot