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:
Christopher Ferris 2014-06-18 12:18:25 -07:00
parent 1d3d0360ee
commit 40bc7cd4ed
28 changed files with 28 additions and 0 deletions

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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