Message ID | 5022350E.4050509@arm.com |
---|---|
State | RFC |
Headers | show |
diff --git a/examples/api/crt0.S b/examples/api/crt0.S index 6daf127..5f956e4 100644 --- a/examples/api/crt0.S +++ b/examples/api/crt0.S @@ -49,13 +49,21 @@ syscall: _start: ldr ip, =search_hint str sp, [ip] + ldr ip, =gd_backup + str r8, [ip] b main .globl syscall syscall: + push {r6-r8, lr} + ldr r6, =gd_backup + ldr r8, [r6] ldr ip, =syscall_ptr + mov lr, pc ldr pc, [ip] + str r8, [r6] + pop {r6-r8, pc} #else #error No support for this arch! @@ -69,3 +77,7 @@ syscall_ptr: .globl search_hint search_hint: .long 0 + + .globl gd_backup +gd_backup: + .long 0