diff options
Diffstat (limited to 'ports/sysdeps/unix/sysv/linux/arm/mmap.S')
-rw-r--r-- | ports/sysdeps/unix/sysv/linux/arm/mmap.S | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/ports/sysdeps/unix/sysv/linux/arm/mmap.S b/ports/sysdeps/unix/sysv/linux/arm/mmap.S index fa8a2b86c8..06b737eebe 100644 --- a/ports/sysdeps/unix/sysv/linux/arm/mmap.S +++ b/ports/sysdeps/unix/sysv/linux/arm/mmap.S @@ -23,11 +23,11 @@ ENTRY (__mmap) /* shuffle args */ - str r5, [sp, #-4]! + push { r5 } cfi_adjust_cfa_offset (4) cfi_rel_offset (r5, 0) ldr r5, [sp, #8] - str r4, [sp, #-4]! + push { r4 } cfi_adjust_cfa_offset (4) cfi_rel_offset (r4, 0) cfi_remember_state @@ -43,14 +43,15 @@ ENTRY (__mmap) /* restore registers */ 2: - ldr r4, [sp], #4 + pop { r4 } cfi_adjust_cfa_offset (-4) cfi_restore (r4) - ldr r5, [sp], #4 + pop { r5 } cfi_adjust_cfa_offset (-4) cfi_restore (r5) cmn r0, $4096 + it cc RETINSTR(cc, lr) b PLTJMP(syscall_error) |