summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libc/arch-arm/bionic/__bionic_clone.S1
-rw-r--r--libc/arch-arm/bionic/abort_arm.S1
-rw-r--r--libc/arch-arm/bionic/memcmp.S1
-rw-r--r--libc/arch-arm/bionic/memcmp16.S1
-rw-r--r--libc/arch-arm/bionic/syscall.S1
-rw-r--r--libc/arch-arm/syscalls/__epoll_pwait.S1
-rw-r--r--libc/arch-arm/syscalls/__llseek.S1
-rw-r--r--libc/arch-arm/syscalls/__mmap2.S1
-rw-r--r--libc/arch-arm/syscalls/__ppoll.S1
-rw-r--r--libc/arch-arm/syscalls/__pselect6.S1
-rw-r--r--libc/arch-arm/syscalls/__waitid.S1
-rw-r--r--libc/arch-arm/syscalls/fchownat.S1
-rw-r--r--libc/arch-arm/syscalls/fsetxattr.S1
-rw-r--r--libc/arch-arm/syscalls/futex.S1
-rw-r--r--libc/arch-arm/syscalls/getsockopt.S1
-rw-r--r--libc/arch-arm/syscalls/linkat.S1
-rw-r--r--libc/arch-arm/syscalls/lsetxattr.S1
-rw-r--r--libc/arch-arm/syscalls/mount.S1
-rw-r--r--libc/arch-arm/syscalls/perf_event_open.S1
-rw-r--r--libc/arch-arm/syscalls/prctl.S1
-rw-r--r--libc/arch-arm/syscalls/pread64.S1
-rw-r--r--libc/arch-arm/syscalls/pwrite64.S1
-rw-r--r--libc/arch-arm/syscalls/readahead.S1
-rw-r--r--libc/arch-arm/syscalls/recvfrom.S1
-rw-r--r--libc/arch-arm/syscalls/sendto.S1
-rw-r--r--libc/arch-arm/syscalls/setsockopt.S1
-rw-r--r--libc/arch-arm/syscalls/setxattr.S1
-rwxr-xr-xlibc/tools/gensyscalls.py1
28 files changed, 28 insertions, 0 deletions
diff --git a/libc/arch-arm/bionic/__bionic_clone.S b/libc/arch-arm/bionic/__bionic_clone.S
index 7b76f5e9f..72f48920a 100644
--- a/libc/arch-arm/bionic/__bionic_clone.S
+++ b/libc/arch-arm/bionic/__bionic_clone.S
@@ -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
diff --git a/libc/arch-arm/bionic/abort_arm.S b/libc/arch-arm/bionic/abort_arm.S
index 1aaf21ad8..2fc29134c 100644
--- a/libc/arch-arm/bionic/abort_arm.S
+++ b/libc/arch-arm/bionic/abort_arm.S
@@ -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
diff --git a/libc/arch-arm/bionic/memcmp.S b/libc/arch-arm/bionic/memcmp.S
index 0dc3af0ca..921f8efb6 100644
--- a/libc/arch-arm/bionic/memcmp.S
+++ b/libc/arch-arm/bionic/memcmp.S
@@ -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
diff --git a/libc/arch-arm/bionic/memcmp16.S b/libc/arch-arm/bionic/memcmp16.S
index afbb1b047..26a1bf364 100644
--- a/libc/arch-arm/bionic/memcmp16.S
+++ b/libc/arch-arm/bionic/memcmp16.S
@@ -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
diff --git a/libc/arch-arm/bionic/syscall.S b/libc/arch-arm/bionic/syscall.S
index 864771841..5a6627bb0 100644
--- a/libc/arch-arm/bionic/syscall.S
+++ b/libc/arch-arm/bionic/syscall.S
@@ -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
diff --git a/libc/arch-arm/syscalls/__epoll_pwait.S b/libc/arch-arm/syscalls/__epoll_pwait.S
index b2d8d48f0..a90254a6c 100644
--- a/libc/arch-arm/syscalls/__epoll_pwait.S
+++ b/libc/arch-arm/syscalls/__epoll_pwait.S
@@ -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
diff --git a/libc/arch-arm/syscalls/__llseek.S b/libc/arch-arm/syscalls/__llseek.S
index ec307d291..1a3e4c77d 100644
--- a/libc/arch-arm/syscalls/__llseek.S
+++ b/libc/arch-arm/syscalls/__llseek.S
@@ -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
diff --git a/libc/arch-arm/syscalls/__mmap2.S b/libc/arch-arm/syscalls/__mmap2.S
index 8a179977d..7d989e936 100644
--- a/libc/arch-arm/syscalls/__mmap2.S
+++ b/libc/arch-arm/syscalls/__mmap2.S
@@ -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
diff --git a/libc/arch-arm/syscalls/__ppoll.S b/libc/arch-arm/syscalls/__ppoll.S
index d9fb3d9fb..7cdbe517c 100644
--- a/libc/arch-arm/syscalls/__ppoll.S
+++ b/libc/arch-arm/syscalls/__ppoll.S
@@ -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
diff --git a/libc/arch-arm/syscalls/__pselect6.S b/libc/arch-arm/syscalls/__pselect6.S
index 05fea543e..4c5b51329 100644
--- a/libc/arch-arm/syscalls/__pselect6.S
+++ b/libc/arch-arm/syscalls/__pselect6.S
@@ -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
diff --git a/libc/arch-arm/syscalls/__waitid.S b/libc/arch-arm/syscalls/__waitid.S
index e5e1f54dc..ad9ad167e 100644
--- a/libc/arch-arm/syscalls/__waitid.S
+++ b/libc/arch-arm/syscalls/__waitid.S
@@ -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
diff --git a/libc/arch-arm/syscalls/fchownat.S b/libc/arch-arm/syscalls/fchownat.S
index ea8193f43..4397a2234 100644
--- a/libc/arch-arm/syscalls/fchownat.S
+++ b/libc/arch-arm/syscalls/fchownat.S
@@ -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
diff --git a/libc/arch-arm/syscalls/fsetxattr.S b/libc/arch-arm/syscalls/fsetxattr.S
index 64b8d031e..39b97f99c 100644
--- a/libc/arch-arm/syscalls/fsetxattr.S
+++ b/libc/arch-arm/syscalls/fsetxattr.S
@@ -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
diff --git a/libc/arch-arm/syscalls/futex.S b/libc/arch-arm/syscalls/futex.S
index 1646ca207..45e6fa6e2 100644
--- a/libc/arch-arm/syscalls/futex.S
+++ b/libc/arch-arm/syscalls/futex.S
@@ -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
diff --git a/libc/arch-arm/syscalls/getsockopt.S b/libc/arch-arm/syscalls/getsockopt.S
index 2ded34fd3..735efbb60 100644
--- a/libc/arch-arm/syscalls/getsockopt.S
+++ b/libc/arch-arm/syscalls/getsockopt.S
@@ -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
diff --git a/libc/arch-arm/syscalls/linkat.S b/libc/arch-arm/syscalls/linkat.S
index 27f1e0098..c612d0276 100644
--- a/libc/arch-arm/syscalls/linkat.S
+++ b/libc/arch-arm/syscalls/linkat.S
@@ -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
diff --git a/libc/arch-arm/syscalls/lsetxattr.S b/libc/arch-arm/syscalls/lsetxattr.S
index fb3f75fdc..67639f649 100644
--- a/libc/arch-arm/syscalls/lsetxattr.S
+++ b/libc/arch-arm/syscalls/lsetxattr.S
@@ -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
diff --git a/libc/arch-arm/syscalls/mount.S b/libc/arch-arm/syscalls/mount.S
index d56682c63..b18411416 100644
--- a/libc/arch-arm/syscalls/mount.S
+++ b/libc/arch-arm/syscalls/mount.S
@@ -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
diff --git a/libc/arch-arm/syscalls/perf_event_open.S b/libc/arch-arm/syscalls/perf_event_open.S
index 2821ac5d9..e0cf91eec 100644
--- a/libc/arch-arm/syscalls/perf_event_open.S
+++ b/libc/arch-arm/syscalls/perf_event_open.S
@@ -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
diff --git a/libc/arch-arm/syscalls/prctl.S b/libc/arch-arm/syscalls/prctl.S
index 615a2fa2e..40acb611c 100644
--- a/libc/arch-arm/syscalls/prctl.S
+++ b/libc/arch-arm/syscalls/prctl.S
@@ -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
diff --git a/libc/arch-arm/syscalls/pread64.S b/libc/arch-arm/syscalls/pread64.S
index 0bfb6d051..a33018c70 100644
--- a/libc/arch-arm/syscalls/pread64.S
+++ b/libc/arch-arm/syscalls/pread64.S
@@ -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
diff --git a/libc/arch-arm/syscalls/pwrite64.S b/libc/arch-arm/syscalls/pwrite64.S
index 03247b100..5ae992199 100644
--- a/libc/arch-arm/syscalls/pwrite64.S
+++ b/libc/arch-arm/syscalls/pwrite64.S
@@ -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
diff --git a/libc/arch-arm/syscalls/readahead.S b/libc/arch-arm/syscalls/readahead.S
index 83d84424f..326ed6f21 100644
--- a/libc/arch-arm/syscalls/readahead.S
+++ b/libc/arch-arm/syscalls/readahead.S
@@ -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
diff --git a/libc/arch-arm/syscalls/recvfrom.S b/libc/arch-arm/syscalls/recvfrom.S
index cb89f7230..367790bac 100644
--- a/libc/arch-arm/syscalls/recvfrom.S
+++ b/libc/arch-arm/syscalls/recvfrom.S
@@ -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
diff --git a/libc/arch-arm/syscalls/sendto.S b/libc/arch-arm/syscalls/sendto.S
index bd0ec1d4c..533d95e6b 100644
--- a/libc/arch-arm/syscalls/sendto.S
+++ b/libc/arch-arm/syscalls/sendto.S
@@ -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
diff --git a/libc/arch-arm/syscalls/setsockopt.S b/libc/arch-arm/syscalls/setsockopt.S
index b2d759790..c4f7a01c5 100644
--- a/libc/arch-arm/syscalls/setsockopt.S
+++ b/libc/arch-arm/syscalls/setsockopt.S
@@ -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
diff --git a/libc/arch-arm/syscalls/setxattr.S b/libc/arch-arm/syscalls/setxattr.S
index 022195d01..6987215c8 100644
--- a/libc/arch-arm/syscalls/setxattr.S
+++ b/libc/arch-arm/syscalls/setxattr.S
@@ -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
diff --git a/libc/tools/gensyscalls.py b/libc/tools/gensyscalls.py
index cea350848..97dc628da 100755
--- a/libc/tools/gensyscalls.py
+++ b/libc/tools/gensyscalls.py
@@ -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