[U-Boot] [PATCH v2 2/2] x86: Enforce toolchain to generate 64-bit codes for 64-bit U-Boot

Bin Meng bmeng.cn at gmail.com
Tue Aug 1 12:21:25 UTC 2017


On Tue, Aug 1, 2017 at 5:11 PM, Simon Glass <sjg at chromium.org> wrote:
> On 27 July 2017 at 07:12, Bin Meng <bmeng.cn at gmail.com> wrote:
>> 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 at gmail.com>
>>
>> ---
>>
>> Changes in v2:
>> - reword the commit message
>>
>>  arch/x86/config.mk | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> Reviewed-by: Simon Glass <sjg at chromium.org>

applied to u-boot-x86, thanks!


More information about the U-Boot mailing list