u-boot-brain/arch/x86
Bin Meng e719b6b0f8 x86: Enforce toolchain to generate 64-bit codes for 64-bit U-Boot
64-bit U-Boot image is a combination of 32-bit U-Boot (SPL) plus
64-bit U-Boot (proper). For the U-Boot proper, it has be compiled
to 64-bit object codes. Attempting to use a toolchain to compile
64-bit U-Boot for qemu-x86_64, like kernel.org 4.9 i386-linux-gcc,
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 because toolchain is preconfigured to generate code
for the 32-bit architecture (i386), and currently '-m64' is missing
in the makefile fragment. Using kernel.org 4.9 x86_64-linux-gcc
works out of the box, since it is preconfigured to generate 64-bit
codes.

When compiling U-Boot SPL, '-m32' is passed to the toolchain, no
mater 32-bit (i386-linux-) or 64-bit (x86_64-linux) the toolchain
is preconfigured to generate.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2017-08-01 20:17:02 +08:00
..
cpu x86: acpi: Deduplicate acpi_fill_madt() implementation 2017-07-30 10:30:25 +08:00
dts x86: conga-qeval20-qa3-e3845.dts: Enable xHCI support in dts 2017-07-30 10:30:25 +08:00
include/asm x86: acpi: Export acpi_fill_mcfg() with __weak attribute 2017-07-30 10:30:25 +08:00
lib x86: acpi: Don't touch hardware on HW reduced platforms 2017-07-30 10:30:25 +08:00
config.mk x86: Enforce toolchain to generate 64-bit codes for 64-bit U-Boot 2017-08-01 20:17:02 +08:00
Kconfig x86: Add Intel Tangier support 2017-07-30 10:30:25 +08:00
Makefile x86: Add 64-bit start-up code 2017-02-06 11:38:46 +08:00