DO NOT MERGE Re-add .save directive for arm assembler code.
Restored the .save directives so that the libcorkscrew unwinder continues to function. Bug: 15701117 Change-Id: I853695a299548b84c78ae8147b9757dbeacdb1ec
This commit is contained in:
parent
1d3d0360ee
commit
40bc7cd4ed
28 changed files with 28 additions and 0 deletions
|
@ -31,6 +31,7 @@
|
|||
// pid_t __bionic_clone(int flags, void* child_stack, pid_t* parent_tid, void* tls, pid_t* child_tid, int (*fn)(void*), void* arg);
|
||||
ENTRY(__bionic_clone)
|
||||
mov ip, sp
|
||||
.save {r4, r5, r6, r7}
|
||||
# save registers to parent stack
|
||||
stmfd sp!, {r4, r5, r6, r7}
|
||||
.cfi_def_cfa_offset 16
|
||||
|
|
|
@ -36,6 +36,7 @@
|
|||
* sequence when the crash happens.
|
||||
*/
|
||||
ENTRY(abort)
|
||||
.save {r3, r14}
|
||||
stmfd sp!, {r3, r14}
|
||||
.cfi_def_cfa_offset 8
|
||||
.cfi_rel_offset r3, 0
|
||||
|
|
|
@ -108,6 +108,7 @@ ENTRY(memcmp)
|
|||
#endif
|
||||
|
||||
/* save registers */
|
||||
.save {r4, lr}
|
||||
stmfd sp!, {r4, lr}
|
||||
.cfi_def_cfa_offset 8
|
||||
.cfi_rel_offset r4, 0
|
||||
|
|
|
@ -75,6 +75,7 @@ ENTRY(__memcmp16)
|
|||
|
||||
|
||||
/* save registers */
|
||||
.save {r4, lr}
|
||||
0: stmfd sp!, {r4, lr}
|
||||
.cfi_def_cfa_offset 8
|
||||
.cfi_rel_offset r4, 0
|
||||
|
|
|
@ -30,6 +30,7 @@
|
|||
|
||||
ENTRY(syscall)
|
||||
mov ip, sp
|
||||
.save {r4, r5, r6, r7}
|
||||
stmfd sp!, {r4, r5, r6, r7}
|
||||
.cfi_def_cfa_offset 16
|
||||
.cfi_rel_offset r4, 0
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
ENTRY(__epoll_pwait)
|
||||
mov ip, sp
|
||||
.save {r4, r5, r6, r7}
|
||||
stmfd sp!, {r4, r5, r6, r7}
|
||||
.cfi_def_cfa_offset 16
|
||||
.cfi_rel_offset r4, 0
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
ENTRY(__llseek)
|
||||
mov ip, sp
|
||||
.save {r4, r5, r6, r7}
|
||||
stmfd sp!, {r4, r5, r6, r7}
|
||||
.cfi_def_cfa_offset 16
|
||||
.cfi_rel_offset r4, 0
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
ENTRY(__mmap2)
|
||||
mov ip, sp
|
||||
.save {r4, r5, r6, r7}
|
||||
stmfd sp!, {r4, r5, r6, r7}
|
||||
.cfi_def_cfa_offset 16
|
||||
.cfi_rel_offset r4, 0
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
ENTRY(__ppoll)
|
||||
mov ip, sp
|
||||
.save {r4, r5, r6, r7}
|
||||
stmfd sp!, {r4, r5, r6, r7}
|
||||
.cfi_def_cfa_offset 16
|
||||
.cfi_rel_offset r4, 0
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
ENTRY(__pselect6)
|
||||
mov ip, sp
|
||||
.save {r4, r5, r6, r7}
|
||||
stmfd sp!, {r4, r5, r6, r7}
|
||||
.cfi_def_cfa_offset 16
|
||||
.cfi_rel_offset r4, 0
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
ENTRY(__waitid)
|
||||
mov ip, sp
|
||||
.save {r4, r5, r6, r7}
|
||||
stmfd sp!, {r4, r5, r6, r7}
|
||||
.cfi_def_cfa_offset 16
|
||||
.cfi_rel_offset r4, 0
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
ENTRY(fchownat)
|
||||
mov ip, sp
|
||||
.save {r4, r5, r6, r7}
|
||||
stmfd sp!, {r4, r5, r6, r7}
|
||||
.cfi_def_cfa_offset 16
|
||||
.cfi_rel_offset r4, 0
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
ENTRY(fsetxattr)
|
||||
mov ip, sp
|
||||
.save {r4, r5, r6, r7}
|
||||
stmfd sp!, {r4, r5, r6, r7}
|
||||
.cfi_def_cfa_offset 16
|
||||
.cfi_rel_offset r4, 0
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
ENTRY(futex)
|
||||
mov ip, sp
|
||||
.save {r4, r5, r6, r7}
|
||||
stmfd sp!, {r4, r5, r6, r7}
|
||||
.cfi_def_cfa_offset 16
|
||||
.cfi_rel_offset r4, 0
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
ENTRY(getsockopt)
|
||||
mov ip, sp
|
||||
.save {r4, r5, r6, r7}
|
||||
stmfd sp!, {r4, r5, r6, r7}
|
||||
.cfi_def_cfa_offset 16
|
||||
.cfi_rel_offset r4, 0
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
ENTRY(linkat)
|
||||
mov ip, sp
|
||||
.save {r4, r5, r6, r7}
|
||||
stmfd sp!, {r4, r5, r6, r7}
|
||||
.cfi_def_cfa_offset 16
|
||||
.cfi_rel_offset r4, 0
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
ENTRY(lsetxattr)
|
||||
mov ip, sp
|
||||
.save {r4, r5, r6, r7}
|
||||
stmfd sp!, {r4, r5, r6, r7}
|
||||
.cfi_def_cfa_offset 16
|
||||
.cfi_rel_offset r4, 0
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
ENTRY(mount)
|
||||
mov ip, sp
|
||||
.save {r4, r5, r6, r7}
|
||||
stmfd sp!, {r4, r5, r6, r7}
|
||||
.cfi_def_cfa_offset 16
|
||||
.cfi_rel_offset r4, 0
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
ENTRY(perf_event_open)
|
||||
mov ip, sp
|
||||
.save {r4, r5, r6, r7}
|
||||
stmfd sp!, {r4, r5, r6, r7}
|
||||
.cfi_def_cfa_offset 16
|
||||
.cfi_rel_offset r4, 0
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
ENTRY(prctl)
|
||||
mov ip, sp
|
||||
.save {r4, r5, r6, r7}
|
||||
stmfd sp!, {r4, r5, r6, r7}
|
||||
.cfi_def_cfa_offset 16
|
||||
.cfi_rel_offset r4, 0
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
ENTRY(pread64)
|
||||
mov ip, sp
|
||||
.save {r4, r5, r6, r7}
|
||||
stmfd sp!, {r4, r5, r6, r7}
|
||||
.cfi_def_cfa_offset 16
|
||||
.cfi_rel_offset r4, 0
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
ENTRY(pwrite64)
|
||||
mov ip, sp
|
||||
.save {r4, r5, r6, r7}
|
||||
stmfd sp!, {r4, r5, r6, r7}
|
||||
.cfi_def_cfa_offset 16
|
||||
.cfi_rel_offset r4, 0
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
ENTRY(readahead)
|
||||
mov ip, sp
|
||||
.save {r4, r5, r6, r7}
|
||||
stmfd sp!, {r4, r5, r6, r7}
|
||||
.cfi_def_cfa_offset 16
|
||||
.cfi_rel_offset r4, 0
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
ENTRY(recvfrom)
|
||||
mov ip, sp
|
||||
.save {r4, r5, r6, r7}
|
||||
stmfd sp!, {r4, r5, r6, r7}
|
||||
.cfi_def_cfa_offset 16
|
||||
.cfi_rel_offset r4, 0
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
ENTRY(sendto)
|
||||
mov ip, sp
|
||||
.save {r4, r5, r6, r7}
|
||||
stmfd sp!, {r4, r5, r6, r7}
|
||||
.cfi_def_cfa_offset 16
|
||||
.cfi_rel_offset r4, 0
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
ENTRY(setsockopt)
|
||||
mov ip, sp
|
||||
.save {r4, r5, r6, r7}
|
||||
stmfd sp!, {r4, r5, r6, r7}
|
||||
.cfi_def_cfa_offset 16
|
||||
.cfi_rel_offset r4, 0
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
ENTRY(setxattr)
|
||||
mov ip, sp
|
||||
.save {r4, r5, r6, r7}
|
||||
stmfd sp!, {r4, r5, r6, r7}
|
||||
.cfi_def_cfa_offset 16
|
||||
.cfi_rel_offset r4, 0
|
||||
|
|
|
@ -71,6 +71,7 @@ END(%(func)s)
|
|||
|
||||
arm_eabi_call_long = syscall_stub_header + """\
|
||||
mov ip, sp
|
||||
.save {r4, r5, r6, r7}
|
||||
stmfd sp!, {r4, r5, r6, r7}
|
||||
.cfi_def_cfa_offset 16
|
||||
.cfi_rel_offset r4, 0
|
||||
|
|
Loading…
Reference in a new issue