From: Liya Huang <1425075...@qq.com> Refer to the commit a3c101a61348 ("examples: fix building on arm64") fix for arm32. crt0.S does not even build with CONFIG_API=y, CONFIG_EXAMPLES=y:
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 <1425075...@qq.com> --- examples/api/crt0.S | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/examples/api/crt0.S b/examples/api/crt0.S index d2a97557817..d33e1c4aa4d 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 r0, =search_hint + mov r1, sp + str r1, [r0] b main .globl syscall syscall: - ldr ip, =syscall_ptr - ldr pc, [ip] + ldr r0, =syscall_ptr + ldr r0, [r0] + bx r0 #elif defined(CONFIG_ARM64) -- 2.25.1