
Hello Albert,
Thanks for your quick response. The error message disappeared after I switched to use gcc-linaro-aarch64-linux-gnu-4.8-2014.04_linux tool chain from Linaro in either u-boot-2015.07-rc2 branch or latest u-boot-2015.07 branch.
I have one question: why the following build generated a statically linked u-boot as showed by "$ file u-boot" followed, and also it doesn't show "ARM" after " u-boot: ELF 64-bit LSB shared object," : $ make distclean $ make vexpress_aemv8a_juno_defconfig ARCH=arm CROSS_COMPILE=aarch64-linux-gnu- $ make all ARCH=arm CROSS_COMPILE=aarch64-linux-gnu- $ file u-boot u-boot: ELF 64-bit LSB shared object, version 1 (SYSV), statically linked, not stripped
But when I built a 32-bit arm u-boot using following command, it generated a dynamically linked u-boot, and "file u-boot" shows "ARM" after " u-boot: ELF 32-bit LSB shared object,": $ make distclean $ make vexpress_ca15_tc2_defconfig ARCH=arm CROSS_COMPILE=arm-eabi- $ make all ARCH=arm CROSS_COMPILE=arm-eabi- $ file u-boot u-boot: ELF 32-bit LSB shared object, ARM, version 1 (SYSV), dynamically linked (uses shared libs), not stripped
Is there anything wrong in my commands (shown in following" again to make a 64 bit aarch64 u-boot, what commands you use to generated 64 bits u-boot ? $ make distclean $ make vexpress_aemv8a_juno_defconfig ARCH=arm CROSS_COMPILE=aarch64-linux-gnu- $ make all ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-
Is the 64bits u-boot you generated statically linked or dynamically linked when you use "file u-boot" to check it? Does "file u-boot" show "ARM" after " u-boot: ELF 64-bit LSB shared object,"? Can you show the "file u-boot" result for your 64 bit u-boot?
Thanks.
Best Regards, David Chou
-----Original Message----- From: Albert ARIBAUD [mailto:albert.u.boot@aribaud.net] Sent: Saturday, July 18, 2015 1:44 AM To: Chou, David J Cc: u-boot@lists.denx.de Subject: Re: [U-Boot] checkarmreloc error for AArch64 (using vexpress_aemv8a_defconfig)
Hello David,
On Fri, 17 Jul 2015 22:13:32 +0000, Chou, David J david.j.chou@intel.com wrote:
Hi,
I am using u-boot-2015.07-rc2, using vexpress_aemv8a_defconfig as following: $ make vexpress_aemv8a_juno_defconfig ARCH=arm CROSS_COMPILE=aarch64-linux-android- $ make all ARCH=arm CROSS_COMPILE=aarch64-linux-android-
And I got "make: *** [checkarmreloc] Error 1" at the end of the build as following:
OBJCOPY examples/standalone/hello_world.srec OBJCOPY examples/standalone/smc911x_eeprom.srec OBJCOPY examples/standalone/hello_world.bin OBJCOPY examples/standalone/smc911x_eeprom.bin LDS u-boot.lds LD u-boot u-boot contains unexpected relocations: R_AARCH64_ABS64 R_AARCH64_RELATIVE make: *** [checkarmreloc] Error 1
But it generated an ELF 64-bit LSB executable, version 1 (SYSV), statically linked u-boot. Does this u-boot still useful or how to fix the issue?
This build error has been mentioned in http://lists.denx.de/pipermail/u-boot/2015-February/206440.html , has it been fixe?
This error does not appear with the aarmch64 toolchain used by buildman or with the aarmch64 toolchain from Ubuntu repositories, either for v2015.07-rc2 or for current top of branch u-boot[-arm]/master.
Is the code you are building pure v2015.07-rc3 or does it contain any local changes?
Thanks a lot for your help.
Best Regards, David Chou
Amicalement, -- Albert.