From: Liya Huang <1425075683@qq.com> Date: Tue, 28 Jan 2025 01:13:16 +0000 (+0800) Subject: examples: fix building on arm32 X-Git-Tag: v2025.04-rc2~28 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5cf9e61f0fa984c86d2ec59c843cd7b4c6220d34;p=pandora-u-boot.git examples: fix building on arm32 Refer to the commit a3c101a61348 ("examples: fix building on arm64") fix for arm32. crt0.S does not even build with: operating system and architecture: 5.15.0-130-generic x86_64 installed version of gcc and binutils: gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.3) GNU ld (GNU Binutils for Ubuntu) 2.34 used defconfig: stm32h750-art-pi_defconfig used commands for building: export CROSS_COMPILE=arm-none-eabi- ARCH=arm make stm32h750-art-pi_defconfig make menuconfig # to add make examples/api/crt0.S: Assembler messages: examples/api/crt0.S:32: Error: lo register required -- `ldr ip,=search_hint' examples/api/crt0.S:33: Error: lo register required -- `str sp,[ip]' examples/api/crt0.S:39: Error: lo register required -- `ldr ip,=syscall_ptr' examples/api/crt0.S:40: Error: lo register required -- `ldr pc,[ip]' make[2]: *** [scripts/Makefile.build:292:examples/api/crt0.o] Error 1 Use valid register names and instructions. Signed-off-by: Liya Huang <1425075683@qq.com> --- diff --git a/examples/api/crt0.S b/examples/api/crt0.S index d2a97557817..6899ebf8ac2 100644 --- a/examples/api/crt0.S +++ b/examples/api/crt0.S @@ -29,15 +29,17 @@ syscall: .text .globl _start _start: - ldr ip, =search_hint - str sp, [ip] + ldr r4, =search_hint + mov r5, sp + str r5, [r4] b main .globl syscall syscall: - ldr ip, =syscall_ptr - ldr pc, [ip] + ldr r4, =syscall_ptr + ldr r4, [r4] + bx r4 #elif defined(CONFIG_ARM64)