From 15b91e92a0bb4a15b4f2258bea332f4a67fa94d7 Mon Sep 17 00:00:00 2001 From: Christopher Ferris Date: Thu, 29 May 2014 18:17:09 -0700 Subject: [PATCH] Fix x86 cfi directives for syscalls. The syscall generation always used 4 bytes for each push cfi directive. However, the first push should always use an offset of 8 bytes, each subsequent push after that is only 4 bytes though. Change-Id: Ibaabd107f399ef67010b9a08213783957c2f74a9 --- libc/arch-x86/syscalls/__accept4.S | 5 ++-- libc/arch-x86/syscalls/__brk.S | 2 +- libc/arch-x86/syscalls/__connect.S | 5 ++-- libc/arch-x86/syscalls/__epoll_pwait.S | 27 +++++++++++-------- libc/arch-x86/syscalls/__exit.S | 2 +- libc/arch-x86/syscalls/__fcntl64.S | 12 +++++---- libc/arch-x86/syscalls/__fstatfs64.S | 12 +++++---- libc/arch-x86/syscalls/__getcpu.S | 12 +++++---- libc/arch-x86/syscalls/__getcwd.S | 5 ++-- libc/arch-x86/syscalls/__getpriority.S | 5 ++-- libc/arch-x86/syscalls/__ioctl.S | 12 +++++---- libc/arch-x86/syscalls/__llseek.S | 22 ++++++++------- libc/arch-x86/syscalls/__mmap2.S | 27 +++++++++++-------- libc/arch-x86/syscalls/__openat.S | 17 +++++++----- libc/arch-x86/syscalls/__ppoll.S | 22 ++++++++------- libc/arch-x86/syscalls/__pselect6.S | 27 +++++++++++-------- libc/arch-x86/syscalls/__ptrace.S | 17 +++++++----- libc/arch-x86/syscalls/__reboot.S | 17 +++++++----- libc/arch-x86/syscalls/__rt_sigaction.S | 17 +++++++----- libc/arch-x86/syscalls/__rt_sigpending.S | 5 ++-- libc/arch-x86/syscalls/__rt_sigprocmask.S | 17 +++++++----- libc/arch-x86/syscalls/__rt_sigsuspend.S | 5 ++-- libc/arch-x86/syscalls/__rt_sigtimedwait.S | 17 +++++++----- libc/arch-x86/syscalls/__sched_getaffinity.S | 12 +++++---- libc/arch-x86/syscalls/__set_thread_area.S | 2 +- libc/arch-x86/syscalls/__set_tid_address.S | 2 +- libc/arch-x86/syscalls/__sigaction.S | 12 +++++---- libc/arch-x86/syscalls/__signalfd4.S | 17 +++++++----- libc/arch-x86/syscalls/__socket.S | 5 ++-- libc/arch-x86/syscalls/__statfs64.S | 12 +++++---- libc/arch-x86/syscalls/__timer_create.S | 12 +++++---- libc/arch-x86/syscalls/__timer_delete.S | 2 +- libc/arch-x86/syscalls/__timer_getoverrun.S | 2 +- libc/arch-x86/syscalls/__timer_gettime.S | 5 ++-- libc/arch-x86/syscalls/__timer_settime.S | 17 +++++++----- libc/arch-x86/syscalls/__waitid.S | 22 ++++++++------- libc/arch-x86/syscalls/_exit.S | 2 +- libc/arch-x86/syscalls/acct.S | 2 +- libc/arch-x86/syscalls/bind.S | 5 ++-- libc/arch-x86/syscalls/capget.S | 5 ++-- libc/arch-x86/syscalls/capset.S | 5 ++-- libc/arch-x86/syscalls/chdir.S | 2 +- libc/arch-x86/syscalls/chroot.S | 2 +- libc/arch-x86/syscalls/clock_getres.S | 5 ++-- libc/arch-x86/syscalls/clock_gettime.S | 5 ++-- libc/arch-x86/syscalls/clock_nanosleep.S | 17 +++++++----- libc/arch-x86/syscalls/clock_settime.S | 5 ++-- libc/arch-x86/syscalls/close.S | 2 +- libc/arch-x86/syscalls/delete_module.S | 5 ++-- libc/arch-x86/syscalls/dup.S | 2 +- libc/arch-x86/syscalls/dup3.S | 12 +++++---- libc/arch-x86/syscalls/epoll_create1.S | 2 +- libc/arch-x86/syscalls/epoll_ctl.S | 17 +++++++----- libc/arch-x86/syscalls/eventfd.S | 5 ++-- libc/arch-x86/syscalls/execve.S | 12 +++++---- libc/arch-x86/syscalls/faccessat.S | 17 +++++++----- libc/arch-x86/syscalls/fallocate64.S | 27 +++++++++++-------- libc/arch-x86/syscalls/fchdir.S | 2 +- libc/arch-x86/syscalls/fchmod.S | 5 ++-- libc/arch-x86/syscalls/fchmodat.S | 17 +++++++----- libc/arch-x86/syscalls/fchown.S | 12 +++++---- libc/arch-x86/syscalls/fchownat.S | 22 ++++++++------- libc/arch-x86/syscalls/fdatasync.S | 2 +- libc/arch-x86/syscalls/fgetxattr.S | 17 +++++++----- libc/arch-x86/syscalls/flistxattr.S | 12 +++++---- libc/arch-x86/syscalls/flock.S | 5 ++-- libc/arch-x86/syscalls/fremovexattr.S | 5 ++-- libc/arch-x86/syscalls/fsetxattr.S | 22 ++++++++------- libc/arch-x86/syscalls/fstat64.S | 5 ++-- libc/arch-x86/syscalls/fstatat64.S | 17 +++++++----- libc/arch-x86/syscalls/fsync.S | 2 +- libc/arch-x86/syscalls/ftruncate.S | 5 ++-- libc/arch-x86/syscalls/ftruncate64.S | 12 +++++---- libc/arch-x86/syscalls/getdents.S | 12 +++++---- libc/arch-x86/syscalls/getgroups.S | 5 ++-- libc/arch-x86/syscalls/getitimer.S | 5 ++-- libc/arch-x86/syscalls/getpeername.S | 5 ++-- libc/arch-x86/syscalls/getpgid.S | 2 +- libc/arch-x86/syscalls/getresgid.S | 12 +++++---- libc/arch-x86/syscalls/getresuid.S | 12 +++++---- libc/arch-x86/syscalls/getrlimit.S | 5 ++-- libc/arch-x86/syscalls/getrusage.S | 5 ++-- libc/arch-x86/syscalls/getsid.S | 2 +- libc/arch-x86/syscalls/getsockname.S | 5 ++-- libc/arch-x86/syscalls/getsockopt.S | 5 ++-- libc/arch-x86/syscalls/gettimeofday.S | 5 ++-- libc/arch-x86/syscalls/getxattr.S | 17 +++++++----- libc/arch-x86/syscalls/init_module.S | 12 +++++---- libc/arch-x86/syscalls/inotify_add_watch.S | 12 +++++---- libc/arch-x86/syscalls/inotify_init1.S | 2 +- libc/arch-x86/syscalls/inotify_rm_watch.S | 5 ++-- libc/arch-x86/syscalls/ioprio_get.S | 5 ++-- libc/arch-x86/syscalls/ioprio_set.S | 12 +++++---- libc/arch-x86/syscalls/kill.S | 5 ++-- libc/arch-x86/syscalls/klogctl.S | 12 +++++---- libc/arch-x86/syscalls/lgetxattr.S | 17 +++++++----- libc/arch-x86/syscalls/linkat.S | 22 ++++++++------- libc/arch-x86/syscalls/listen.S | 5 ++-- libc/arch-x86/syscalls/listxattr.S | 12 +++++---- libc/arch-x86/syscalls/llistxattr.S | 12 +++++---- libc/arch-x86/syscalls/lremovexattr.S | 5 ++-- libc/arch-x86/syscalls/lseek.S | 12 +++++---- libc/arch-x86/syscalls/lsetxattr.S | 22 ++++++++------- libc/arch-x86/syscalls/madvise.S | 12 +++++---- libc/arch-x86/syscalls/mincore.S | 12 +++++---- libc/arch-x86/syscalls/mkdirat.S | 12 +++++---- libc/arch-x86/syscalls/mknodat.S | 17 +++++++----- libc/arch-x86/syscalls/mlock.S | 5 ++-- libc/arch-x86/syscalls/mlockall.S | 2 +- libc/arch-x86/syscalls/mount.S | 22 ++++++++------- libc/arch-x86/syscalls/mprotect.S | 12 +++++---- libc/arch-x86/syscalls/mremap.S | 17 +++++++----- libc/arch-x86/syscalls/msync.S | 12 +++++---- libc/arch-x86/syscalls/munlock.S | 5 ++-- libc/arch-x86/syscalls/munmap.S | 5 ++-- libc/arch-x86/syscalls/nanosleep.S | 5 ++-- libc/arch-x86/syscalls/personality.S | 2 +- libc/arch-x86/syscalls/pipe2.S | 5 ++-- libc/arch-x86/syscalls/prctl.S | 22 ++++++++------- libc/arch-x86/syscalls/pread64.S | 22 ++++++++------- libc/arch-x86/syscalls/prlimit64.S | 17 +++++++----- libc/arch-x86/syscalls/pwrite64.S | 22 ++++++++------- libc/arch-x86/syscalls/read.S | 12 +++++---- libc/arch-x86/syscalls/readahead.S | 17 +++++++----- libc/arch-x86/syscalls/readlinkat.S | 17 +++++++----- libc/arch-x86/syscalls/readv.S | 12 +++++---- libc/arch-x86/syscalls/recvfrom.S | 5 ++-- libc/arch-x86/syscalls/recvmmsg.S | 5 ++-- libc/arch-x86/syscalls/recvmsg.S | 5 ++-- libc/arch-x86/syscalls/removexattr.S | 5 ++-- libc/arch-x86/syscalls/renameat.S | 17 +++++++----- .../syscalls/sched_get_priority_max.S | 2 +- .../syscalls/sched_get_priority_min.S | 2 +- libc/arch-x86/syscalls/sched_getparam.S | 5 ++-- libc/arch-x86/syscalls/sched_getscheduler.S | 2 +- .../arch-x86/syscalls/sched_rr_get_interval.S | 5 ++-- libc/arch-x86/syscalls/sched_setaffinity.S | 12 +++++---- libc/arch-x86/syscalls/sched_setparam.S | 5 ++-- libc/arch-x86/syscalls/sched_setscheduler.S | 12 +++++---- libc/arch-x86/syscalls/sched_yield.S | 2 +- libc/arch-x86/syscalls/sendfile.S | 17 +++++++----- libc/arch-x86/syscalls/sendfile64.S | 17 +++++++----- libc/arch-x86/syscalls/sendmmsg.S | 5 ++-- libc/arch-x86/syscalls/sendmsg.S | 5 ++-- libc/arch-x86/syscalls/sendto.S | 5 ++-- libc/arch-x86/syscalls/setgid.S | 2 +- libc/arch-x86/syscalls/setgroups.S | 5 ++-- libc/arch-x86/syscalls/setitimer.S | 12 +++++---- libc/arch-x86/syscalls/setns.S | 5 ++-- libc/arch-x86/syscalls/setpgid.S | 5 ++-- libc/arch-x86/syscalls/setpriority.S | 12 +++++---- libc/arch-x86/syscalls/setregid.S | 5 ++-- libc/arch-x86/syscalls/setresgid.S | 12 +++++---- libc/arch-x86/syscalls/setresuid.S | 12 +++++---- libc/arch-x86/syscalls/setreuid.S | 5 ++-- libc/arch-x86/syscalls/setrlimit.S | 5 ++-- libc/arch-x86/syscalls/setsockopt.S | 5 ++-- libc/arch-x86/syscalls/settimeofday.S | 5 ++-- libc/arch-x86/syscalls/setuid.S | 2 +- libc/arch-x86/syscalls/setxattr.S | 22 ++++++++------- libc/arch-x86/syscalls/shutdown.S | 5 ++-- libc/arch-x86/syscalls/sigaltstack.S | 5 ++-- libc/arch-x86/syscalls/socketpair.S | 5 ++-- libc/arch-x86/syscalls/swapoff.S | 2 +- libc/arch-x86/syscalls/swapon.S | 5 ++-- libc/arch-x86/syscalls/symlinkat.S | 12 +++++---- libc/arch-x86/syscalls/sync.S | 2 +- libc/arch-x86/syscalls/sysinfo.S | 2 +- libc/arch-x86/syscalls/tgkill.S | 12 +++++---- libc/arch-x86/syscalls/timerfd_create.S | 5 ++-- libc/arch-x86/syscalls/timerfd_gettime.S | 5 ++-- libc/arch-x86/syscalls/timerfd_settime.S | 17 +++++++----- libc/arch-x86/syscalls/times.S | 2 +- libc/arch-x86/syscalls/truncate.S | 5 ++-- libc/arch-x86/syscalls/truncate64.S | 12 +++++---- libc/arch-x86/syscalls/umask.S | 2 +- libc/arch-x86/syscalls/umount2.S | 5 ++-- libc/arch-x86/syscalls/uname.S | 2 +- libc/arch-x86/syscalls/unlinkat.S | 12 +++++---- libc/arch-x86/syscalls/unshare.S | 2 +- libc/arch-x86/syscalls/utimensat.S | 17 +++++++----- libc/arch-x86/syscalls/wait4.S | 17 +++++++----- libc/arch-x86/syscalls/write.S | 12 +++++---- libc/arch-x86/syscalls/writev.S | 12 +++++---- libc/tools/gensyscalls.py | 20 ++++++++------ 185 files changed, 1025 insertions(+), 723 deletions(-) diff --git a/libc/arch-x86/syscalls/__accept4.S b/libc/arch-x86/syscalls/__accept4.S index 573eddbd3..18a76a1d7 100644 --- a/libc/arch-x86/syscalls/__accept4.S +++ b/libc/arch-x86/syscalls/__accept4.S @@ -4,10 +4,11 @@ ENTRY(__accept4) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov $18, %ebx mov %esp, %ecx addl $12, %ecx diff --git a/libc/arch-x86/syscalls/__brk.S b/libc/arch-x86/syscalls/__brk.S index 728bf8115..2439752be 100644 --- a/libc/arch-x86/syscalls/__brk.S +++ b/libc/arch-x86/syscalls/__brk.S @@ -4,7 +4,7 @@ ENTRY(__brk) pushl %ebx - .cfi_def_cfa_offset 4 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_brk, %eax diff --git a/libc/arch-x86/syscalls/__connect.S b/libc/arch-x86/syscalls/__connect.S index 2f53b3318..3149e8c35 100644 --- a/libc/arch-x86/syscalls/__connect.S +++ b/libc/arch-x86/syscalls/__connect.S @@ -4,10 +4,11 @@ ENTRY(__connect) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov $3, %ebx mov %esp, %ecx addl $12, %ecx diff --git a/libc/arch-x86/syscalls/__epoll_pwait.S b/libc/arch-x86/syscalls/__epoll_pwait.S index 9bcc1421b..67545b1c4 100644 --- a/libc/arch-x86/syscalls/__epoll_pwait.S +++ b/libc/arch-x86/syscalls/__epoll_pwait.S @@ -4,18 +4,23 @@ ENTRY(__epoll_pwait) pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - pushl %edi - pushl %ebp - .cfi_def_cfa_offset 24 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 - .cfi_rel_offset esi, 12 - .cfi_rel_offset edi, 16 - .cfi_rel_offset ebp, 20 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 + pushl %esi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset esi, 0 + pushl %edi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edi, 0 + pushl %ebp + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ebp, 0 mov 28(%esp), %ebx mov 32(%esp), %ecx mov 36(%esp), %edx diff --git a/libc/arch-x86/syscalls/__exit.S b/libc/arch-x86/syscalls/__exit.S index eaddc5e7b..d768306f6 100644 --- a/libc/arch-x86/syscalls/__exit.S +++ b/libc/arch-x86/syscalls/__exit.S @@ -4,7 +4,7 @@ ENTRY(__exit) pushl %ebx - .cfi_def_cfa_offset 4 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_exit, %eax diff --git a/libc/arch-x86/syscalls/__fcntl64.S b/libc/arch-x86/syscalls/__fcntl64.S index faefa65d7..b2d5664cc 100644 --- a/libc/arch-x86/syscalls/__fcntl64.S +++ b/libc/arch-x86/syscalls/__fcntl64.S @@ -4,12 +4,14 @@ ENTRY(__fcntl64) pushl %ebx - pushl %ecx - pushl %edx - .cfi_def_cfa_offset 12 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/__fstatfs64.S b/libc/arch-x86/syscalls/__fstatfs64.S index dfd04af3d..d80ecc59d 100644 --- a/libc/arch-x86/syscalls/__fstatfs64.S +++ b/libc/arch-x86/syscalls/__fstatfs64.S @@ -4,12 +4,14 @@ ENTRY(__fstatfs64) pushl %ebx - pushl %ecx - pushl %edx - .cfi_def_cfa_offset 12 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/__getcpu.S b/libc/arch-x86/syscalls/__getcpu.S index d1da87146..23ce3f01d 100644 --- a/libc/arch-x86/syscalls/__getcpu.S +++ b/libc/arch-x86/syscalls/__getcpu.S @@ -4,12 +4,14 @@ ENTRY(__getcpu) pushl %ebx - pushl %ecx - pushl %edx - .cfi_def_cfa_offset 12 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/__getcwd.S b/libc/arch-x86/syscalls/__getcwd.S index a9834e256..5454d7a43 100644 --- a/libc/arch-x86/syscalls/__getcwd.S +++ b/libc/arch-x86/syscalls/__getcwd.S @@ -4,10 +4,11 @@ ENTRY(__getcwd) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_getcwd, %eax diff --git a/libc/arch-x86/syscalls/__getpriority.S b/libc/arch-x86/syscalls/__getpriority.S index 99d33bbcb..2d97f0dea 100644 --- a/libc/arch-x86/syscalls/__getpriority.S +++ b/libc/arch-x86/syscalls/__getpriority.S @@ -4,10 +4,11 @@ ENTRY(__getpriority) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_getpriority, %eax diff --git a/libc/arch-x86/syscalls/__ioctl.S b/libc/arch-x86/syscalls/__ioctl.S index ad617f0bd..eb248fb67 100644 --- a/libc/arch-x86/syscalls/__ioctl.S +++ b/libc/arch-x86/syscalls/__ioctl.S @@ -4,12 +4,14 @@ ENTRY(__ioctl) pushl %ebx - pushl %ecx - pushl %edx - .cfi_def_cfa_offset 12 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/__llseek.S b/libc/arch-x86/syscalls/__llseek.S index 2dab8a9f1..7a1ea83ff 100644 --- a/libc/arch-x86/syscalls/__llseek.S +++ b/libc/arch-x86/syscalls/__llseek.S @@ -4,16 +4,20 @@ ENTRY(__llseek) pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - pushl %edi - .cfi_def_cfa_offset 20 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 - .cfi_rel_offset esi, 12 - .cfi_rel_offset edi, 16 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 + pushl %esi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset esi, 0 + pushl %edi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edi, 0 mov 24(%esp), %ebx mov 28(%esp), %ecx mov 32(%esp), %edx diff --git a/libc/arch-x86/syscalls/__mmap2.S b/libc/arch-x86/syscalls/__mmap2.S index 963abf311..603ee2b44 100644 --- a/libc/arch-x86/syscalls/__mmap2.S +++ b/libc/arch-x86/syscalls/__mmap2.S @@ -4,18 +4,23 @@ ENTRY(__mmap2) pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - pushl %edi - pushl %ebp - .cfi_def_cfa_offset 24 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 - .cfi_rel_offset esi, 12 - .cfi_rel_offset edi, 16 - .cfi_rel_offset ebp, 20 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 + pushl %esi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset esi, 0 + pushl %edi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edi, 0 + pushl %ebp + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ebp, 0 mov 28(%esp), %ebx mov 32(%esp), %ecx mov 36(%esp), %edx diff --git a/libc/arch-x86/syscalls/__openat.S b/libc/arch-x86/syscalls/__openat.S index 6b05bec27..a6db672a8 100644 --- a/libc/arch-x86/syscalls/__openat.S +++ b/libc/arch-x86/syscalls/__openat.S @@ -4,14 +4,17 @@ ENTRY(__openat) pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - .cfi_def_cfa_offset 16 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 - .cfi_rel_offset esi, 12 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 + pushl %esi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset esi, 0 mov 20(%esp), %ebx mov 24(%esp), %ecx mov 28(%esp), %edx diff --git a/libc/arch-x86/syscalls/__ppoll.S b/libc/arch-x86/syscalls/__ppoll.S index e5af93c0e..d8ac98a19 100644 --- a/libc/arch-x86/syscalls/__ppoll.S +++ b/libc/arch-x86/syscalls/__ppoll.S @@ -4,16 +4,20 @@ ENTRY(__ppoll) pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - pushl %edi - .cfi_def_cfa_offset 20 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 - .cfi_rel_offset esi, 12 - .cfi_rel_offset edi, 16 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 + pushl %esi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset esi, 0 + pushl %edi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edi, 0 mov 24(%esp), %ebx mov 28(%esp), %ecx mov 32(%esp), %edx diff --git a/libc/arch-x86/syscalls/__pselect6.S b/libc/arch-x86/syscalls/__pselect6.S index 984a67e1a..9c66a3cc3 100644 --- a/libc/arch-x86/syscalls/__pselect6.S +++ b/libc/arch-x86/syscalls/__pselect6.S @@ -4,18 +4,23 @@ ENTRY(__pselect6) pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - pushl %edi - pushl %ebp - .cfi_def_cfa_offset 24 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 - .cfi_rel_offset esi, 12 - .cfi_rel_offset edi, 16 - .cfi_rel_offset ebp, 20 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 + pushl %esi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset esi, 0 + pushl %edi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edi, 0 + pushl %ebp + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ebp, 0 mov 28(%esp), %ebx mov 32(%esp), %ecx mov 36(%esp), %edx diff --git a/libc/arch-x86/syscalls/__ptrace.S b/libc/arch-x86/syscalls/__ptrace.S index d3b803163..54e822141 100644 --- a/libc/arch-x86/syscalls/__ptrace.S +++ b/libc/arch-x86/syscalls/__ptrace.S @@ -4,14 +4,17 @@ ENTRY(__ptrace) pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - .cfi_def_cfa_offset 16 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 - .cfi_rel_offset esi, 12 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 + pushl %esi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset esi, 0 mov 20(%esp), %ebx mov 24(%esp), %ecx mov 28(%esp), %edx diff --git a/libc/arch-x86/syscalls/__reboot.S b/libc/arch-x86/syscalls/__reboot.S index b64490677..daea66e63 100644 --- a/libc/arch-x86/syscalls/__reboot.S +++ b/libc/arch-x86/syscalls/__reboot.S @@ -4,14 +4,17 @@ ENTRY(__reboot) pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - .cfi_def_cfa_offset 16 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 - .cfi_rel_offset esi, 12 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 + pushl %esi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset esi, 0 mov 20(%esp), %ebx mov 24(%esp), %ecx mov 28(%esp), %edx diff --git a/libc/arch-x86/syscalls/__rt_sigaction.S b/libc/arch-x86/syscalls/__rt_sigaction.S index 1c5fdccbf..d182a8293 100644 --- a/libc/arch-x86/syscalls/__rt_sigaction.S +++ b/libc/arch-x86/syscalls/__rt_sigaction.S @@ -4,14 +4,17 @@ ENTRY(__rt_sigaction) pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - .cfi_def_cfa_offset 16 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 - .cfi_rel_offset esi, 12 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 + pushl %esi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset esi, 0 mov 20(%esp), %ebx mov 24(%esp), %ecx mov 28(%esp), %edx diff --git a/libc/arch-x86/syscalls/__rt_sigpending.S b/libc/arch-x86/syscalls/__rt_sigpending.S index 552219516..d83ccc00a 100644 --- a/libc/arch-x86/syscalls/__rt_sigpending.S +++ b/libc/arch-x86/syscalls/__rt_sigpending.S @@ -4,10 +4,11 @@ ENTRY(__rt_sigpending) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_rt_sigpending, %eax diff --git a/libc/arch-x86/syscalls/__rt_sigprocmask.S b/libc/arch-x86/syscalls/__rt_sigprocmask.S index 0df7301b2..4ca94433b 100644 --- a/libc/arch-x86/syscalls/__rt_sigprocmask.S +++ b/libc/arch-x86/syscalls/__rt_sigprocmask.S @@ -4,14 +4,17 @@ ENTRY(__rt_sigprocmask) pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - .cfi_def_cfa_offset 16 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 - .cfi_rel_offset esi, 12 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 + pushl %esi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset esi, 0 mov 20(%esp), %ebx mov 24(%esp), %ecx mov 28(%esp), %edx diff --git a/libc/arch-x86/syscalls/__rt_sigsuspend.S b/libc/arch-x86/syscalls/__rt_sigsuspend.S index 0e7dbdf04..f1a4cf3a1 100644 --- a/libc/arch-x86/syscalls/__rt_sigsuspend.S +++ b/libc/arch-x86/syscalls/__rt_sigsuspend.S @@ -4,10 +4,11 @@ ENTRY(__rt_sigsuspend) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_rt_sigsuspend, %eax diff --git a/libc/arch-x86/syscalls/__rt_sigtimedwait.S b/libc/arch-x86/syscalls/__rt_sigtimedwait.S index cfbc7a64e..4fae0f7a8 100644 --- a/libc/arch-x86/syscalls/__rt_sigtimedwait.S +++ b/libc/arch-x86/syscalls/__rt_sigtimedwait.S @@ -4,14 +4,17 @@ ENTRY(__rt_sigtimedwait) pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - .cfi_def_cfa_offset 16 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 - .cfi_rel_offset esi, 12 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 + pushl %esi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset esi, 0 mov 20(%esp), %ebx mov 24(%esp), %ecx mov 28(%esp), %edx diff --git a/libc/arch-x86/syscalls/__sched_getaffinity.S b/libc/arch-x86/syscalls/__sched_getaffinity.S index a9b9f790a..bddbab50b 100644 --- a/libc/arch-x86/syscalls/__sched_getaffinity.S +++ b/libc/arch-x86/syscalls/__sched_getaffinity.S @@ -4,12 +4,14 @@ ENTRY(__sched_getaffinity) pushl %ebx - pushl %ecx - pushl %edx - .cfi_def_cfa_offset 12 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/__set_thread_area.S b/libc/arch-x86/syscalls/__set_thread_area.S index ce0623369..0772ffebd 100644 --- a/libc/arch-x86/syscalls/__set_thread_area.S +++ b/libc/arch-x86/syscalls/__set_thread_area.S @@ -4,7 +4,7 @@ ENTRY(__set_thread_area) pushl %ebx - .cfi_def_cfa_offset 4 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_set_thread_area, %eax diff --git a/libc/arch-x86/syscalls/__set_tid_address.S b/libc/arch-x86/syscalls/__set_tid_address.S index 6a3943d10..e61c2ac0a 100644 --- a/libc/arch-x86/syscalls/__set_tid_address.S +++ b/libc/arch-x86/syscalls/__set_tid_address.S @@ -4,7 +4,7 @@ ENTRY(__set_tid_address) pushl %ebx - .cfi_def_cfa_offset 4 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_set_tid_address, %eax diff --git a/libc/arch-x86/syscalls/__sigaction.S b/libc/arch-x86/syscalls/__sigaction.S index 8824a85d8..b4ca29259 100644 --- a/libc/arch-x86/syscalls/__sigaction.S +++ b/libc/arch-x86/syscalls/__sigaction.S @@ -4,12 +4,14 @@ ENTRY(__sigaction) pushl %ebx - pushl %ecx - pushl %edx - .cfi_def_cfa_offset 12 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/__signalfd4.S b/libc/arch-x86/syscalls/__signalfd4.S index 7cbe4742e..1faafac3a 100644 --- a/libc/arch-x86/syscalls/__signalfd4.S +++ b/libc/arch-x86/syscalls/__signalfd4.S @@ -4,14 +4,17 @@ ENTRY(__signalfd4) pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - .cfi_def_cfa_offset 16 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 - .cfi_rel_offset esi, 12 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 + pushl %esi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset esi, 0 mov 20(%esp), %ebx mov 24(%esp), %ecx mov 28(%esp), %edx diff --git a/libc/arch-x86/syscalls/__socket.S b/libc/arch-x86/syscalls/__socket.S index 5e52d8f70..2386b983e 100644 --- a/libc/arch-x86/syscalls/__socket.S +++ b/libc/arch-x86/syscalls/__socket.S @@ -4,10 +4,11 @@ ENTRY(__socket) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov $1, %ebx mov %esp, %ecx addl $12, %ecx diff --git a/libc/arch-x86/syscalls/__statfs64.S b/libc/arch-x86/syscalls/__statfs64.S index 7a91f1d4e..69dd87ed6 100644 --- a/libc/arch-x86/syscalls/__statfs64.S +++ b/libc/arch-x86/syscalls/__statfs64.S @@ -4,12 +4,14 @@ ENTRY(__statfs64) pushl %ebx - pushl %ecx - pushl %edx - .cfi_def_cfa_offset 12 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/__timer_create.S b/libc/arch-x86/syscalls/__timer_create.S index 68480d1c2..520046fc5 100644 --- a/libc/arch-x86/syscalls/__timer_create.S +++ b/libc/arch-x86/syscalls/__timer_create.S @@ -4,12 +4,14 @@ ENTRY(__timer_create) pushl %ebx - pushl %ecx - pushl %edx - .cfi_def_cfa_offset 12 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/__timer_delete.S b/libc/arch-x86/syscalls/__timer_delete.S index a2732e120..8fff727cf 100644 --- a/libc/arch-x86/syscalls/__timer_delete.S +++ b/libc/arch-x86/syscalls/__timer_delete.S @@ -4,7 +4,7 @@ ENTRY(__timer_delete) pushl %ebx - .cfi_def_cfa_offset 4 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_timer_delete, %eax diff --git a/libc/arch-x86/syscalls/__timer_getoverrun.S b/libc/arch-x86/syscalls/__timer_getoverrun.S index a340bfe44..372625b6d 100644 --- a/libc/arch-x86/syscalls/__timer_getoverrun.S +++ b/libc/arch-x86/syscalls/__timer_getoverrun.S @@ -4,7 +4,7 @@ ENTRY(__timer_getoverrun) pushl %ebx - .cfi_def_cfa_offset 4 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_timer_getoverrun, %eax diff --git a/libc/arch-x86/syscalls/__timer_gettime.S b/libc/arch-x86/syscalls/__timer_gettime.S index 4aeb8eb5e..9588bf777 100644 --- a/libc/arch-x86/syscalls/__timer_gettime.S +++ b/libc/arch-x86/syscalls/__timer_gettime.S @@ -4,10 +4,11 @@ ENTRY(__timer_gettime) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_timer_gettime, %eax diff --git a/libc/arch-x86/syscalls/__timer_settime.S b/libc/arch-x86/syscalls/__timer_settime.S index f93bca4af..7b0ab43ea 100644 --- a/libc/arch-x86/syscalls/__timer_settime.S +++ b/libc/arch-x86/syscalls/__timer_settime.S @@ -4,14 +4,17 @@ ENTRY(__timer_settime) pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - .cfi_def_cfa_offset 16 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 - .cfi_rel_offset esi, 12 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 + pushl %esi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset esi, 0 mov 20(%esp), %ebx mov 24(%esp), %ecx mov 28(%esp), %edx diff --git a/libc/arch-x86/syscalls/__waitid.S b/libc/arch-x86/syscalls/__waitid.S index cda523875..7e63f8af7 100644 --- a/libc/arch-x86/syscalls/__waitid.S +++ b/libc/arch-x86/syscalls/__waitid.S @@ -4,16 +4,20 @@ ENTRY(__waitid) pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - pushl %edi - .cfi_def_cfa_offset 20 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 - .cfi_rel_offset esi, 12 - .cfi_rel_offset edi, 16 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 + pushl %esi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset esi, 0 + pushl %edi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edi, 0 mov 24(%esp), %ebx mov 28(%esp), %ecx mov 32(%esp), %edx diff --git a/libc/arch-x86/syscalls/_exit.S b/libc/arch-x86/syscalls/_exit.S index 793c9d59c..5b569b977 100644 --- a/libc/arch-x86/syscalls/_exit.S +++ b/libc/arch-x86/syscalls/_exit.S @@ -4,7 +4,7 @@ ENTRY(_exit) pushl %ebx - .cfi_def_cfa_offset 4 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_exit_group, %eax diff --git a/libc/arch-x86/syscalls/acct.S b/libc/arch-x86/syscalls/acct.S index 6abaffc51..7fa4508b2 100644 --- a/libc/arch-x86/syscalls/acct.S +++ b/libc/arch-x86/syscalls/acct.S @@ -4,7 +4,7 @@ ENTRY(acct) pushl %ebx - .cfi_def_cfa_offset 4 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_acct, %eax diff --git a/libc/arch-x86/syscalls/bind.S b/libc/arch-x86/syscalls/bind.S index 7c2acb544..c99ada151 100644 --- a/libc/arch-x86/syscalls/bind.S +++ b/libc/arch-x86/syscalls/bind.S @@ -4,10 +4,11 @@ ENTRY(bind) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov $2, %ebx mov %esp, %ecx addl $12, %ecx diff --git a/libc/arch-x86/syscalls/capget.S b/libc/arch-x86/syscalls/capget.S index aa7b43224..82065cfe0 100644 --- a/libc/arch-x86/syscalls/capget.S +++ b/libc/arch-x86/syscalls/capget.S @@ -4,10 +4,11 @@ ENTRY(capget) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_capget, %eax diff --git a/libc/arch-x86/syscalls/capset.S b/libc/arch-x86/syscalls/capset.S index 6c3108350..8c9367fed 100644 --- a/libc/arch-x86/syscalls/capset.S +++ b/libc/arch-x86/syscalls/capset.S @@ -4,10 +4,11 @@ ENTRY(capset) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_capset, %eax diff --git a/libc/arch-x86/syscalls/chdir.S b/libc/arch-x86/syscalls/chdir.S index a51ac6eeb..00986d45d 100644 --- a/libc/arch-x86/syscalls/chdir.S +++ b/libc/arch-x86/syscalls/chdir.S @@ -4,7 +4,7 @@ ENTRY(chdir) pushl %ebx - .cfi_def_cfa_offset 4 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_chdir, %eax diff --git a/libc/arch-x86/syscalls/chroot.S b/libc/arch-x86/syscalls/chroot.S index be8f68686..cb8a09988 100644 --- a/libc/arch-x86/syscalls/chroot.S +++ b/libc/arch-x86/syscalls/chroot.S @@ -4,7 +4,7 @@ ENTRY(chroot) pushl %ebx - .cfi_def_cfa_offset 4 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_chroot, %eax diff --git a/libc/arch-x86/syscalls/clock_getres.S b/libc/arch-x86/syscalls/clock_getres.S index ce7e6f755..5fef51a03 100644 --- a/libc/arch-x86/syscalls/clock_getres.S +++ b/libc/arch-x86/syscalls/clock_getres.S @@ -4,10 +4,11 @@ ENTRY(clock_getres) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_clock_getres, %eax diff --git a/libc/arch-x86/syscalls/clock_gettime.S b/libc/arch-x86/syscalls/clock_gettime.S index b1cdb1a20..4275edcde 100644 --- a/libc/arch-x86/syscalls/clock_gettime.S +++ b/libc/arch-x86/syscalls/clock_gettime.S @@ -4,10 +4,11 @@ ENTRY(clock_gettime) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_clock_gettime, %eax diff --git a/libc/arch-x86/syscalls/clock_nanosleep.S b/libc/arch-x86/syscalls/clock_nanosleep.S index 6c025e39a..1f0fcc609 100644 --- a/libc/arch-x86/syscalls/clock_nanosleep.S +++ b/libc/arch-x86/syscalls/clock_nanosleep.S @@ -4,14 +4,17 @@ ENTRY(clock_nanosleep) pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - .cfi_def_cfa_offset 16 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 - .cfi_rel_offset esi, 12 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 + pushl %esi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset esi, 0 mov 20(%esp), %ebx mov 24(%esp), %ecx mov 28(%esp), %edx diff --git a/libc/arch-x86/syscalls/clock_settime.S b/libc/arch-x86/syscalls/clock_settime.S index 7c863e1a0..4f59a1056 100644 --- a/libc/arch-x86/syscalls/clock_settime.S +++ b/libc/arch-x86/syscalls/clock_settime.S @@ -4,10 +4,11 @@ ENTRY(clock_settime) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_clock_settime, %eax diff --git a/libc/arch-x86/syscalls/close.S b/libc/arch-x86/syscalls/close.S index 3eb3be14f..3f4e03474 100644 --- a/libc/arch-x86/syscalls/close.S +++ b/libc/arch-x86/syscalls/close.S @@ -4,7 +4,7 @@ ENTRY(close) pushl %ebx - .cfi_def_cfa_offset 4 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_close, %eax diff --git a/libc/arch-x86/syscalls/delete_module.S b/libc/arch-x86/syscalls/delete_module.S index 11ff762d1..8923f466d 100644 --- a/libc/arch-x86/syscalls/delete_module.S +++ b/libc/arch-x86/syscalls/delete_module.S @@ -4,10 +4,11 @@ ENTRY(delete_module) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_delete_module, %eax diff --git a/libc/arch-x86/syscalls/dup.S b/libc/arch-x86/syscalls/dup.S index 98070e245..ed922de40 100644 --- a/libc/arch-x86/syscalls/dup.S +++ b/libc/arch-x86/syscalls/dup.S @@ -4,7 +4,7 @@ ENTRY(dup) pushl %ebx - .cfi_def_cfa_offset 4 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_dup, %eax diff --git a/libc/arch-x86/syscalls/dup3.S b/libc/arch-x86/syscalls/dup3.S index 4380e6a50..d1a714d83 100644 --- a/libc/arch-x86/syscalls/dup3.S +++ b/libc/arch-x86/syscalls/dup3.S @@ -4,12 +4,14 @@ ENTRY(dup3) pushl %ebx - pushl %ecx - pushl %edx - .cfi_def_cfa_offset 12 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/epoll_create1.S b/libc/arch-x86/syscalls/epoll_create1.S index ca5d4d109..69ddd9bc0 100644 --- a/libc/arch-x86/syscalls/epoll_create1.S +++ b/libc/arch-x86/syscalls/epoll_create1.S @@ -4,7 +4,7 @@ ENTRY(epoll_create1) pushl %ebx - .cfi_def_cfa_offset 4 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_epoll_create1, %eax diff --git a/libc/arch-x86/syscalls/epoll_ctl.S b/libc/arch-x86/syscalls/epoll_ctl.S index df345cdca..2a50db8f6 100644 --- a/libc/arch-x86/syscalls/epoll_ctl.S +++ b/libc/arch-x86/syscalls/epoll_ctl.S @@ -4,14 +4,17 @@ ENTRY(epoll_ctl) pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - .cfi_def_cfa_offset 16 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 - .cfi_rel_offset esi, 12 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 + pushl %esi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset esi, 0 mov 20(%esp), %ebx mov 24(%esp), %ecx mov 28(%esp), %edx diff --git a/libc/arch-x86/syscalls/eventfd.S b/libc/arch-x86/syscalls/eventfd.S index 333bca48c..48a07a2c7 100644 --- a/libc/arch-x86/syscalls/eventfd.S +++ b/libc/arch-x86/syscalls/eventfd.S @@ -4,10 +4,11 @@ ENTRY(eventfd) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_eventfd2, %eax diff --git a/libc/arch-x86/syscalls/execve.S b/libc/arch-x86/syscalls/execve.S index 95523bc2c..345b5a49d 100644 --- a/libc/arch-x86/syscalls/execve.S +++ b/libc/arch-x86/syscalls/execve.S @@ -4,12 +4,14 @@ ENTRY(execve) pushl %ebx - pushl %ecx - pushl %edx - .cfi_def_cfa_offset 12 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/faccessat.S b/libc/arch-x86/syscalls/faccessat.S index 0ad622411..1f340f782 100644 --- a/libc/arch-x86/syscalls/faccessat.S +++ b/libc/arch-x86/syscalls/faccessat.S @@ -4,14 +4,17 @@ ENTRY(faccessat) pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - .cfi_def_cfa_offset 16 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 - .cfi_rel_offset esi, 12 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 + pushl %esi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset esi, 0 mov 20(%esp), %ebx mov 24(%esp), %ecx mov 28(%esp), %edx diff --git a/libc/arch-x86/syscalls/fallocate64.S b/libc/arch-x86/syscalls/fallocate64.S index 7e03c548c..be3d45bc4 100644 --- a/libc/arch-x86/syscalls/fallocate64.S +++ b/libc/arch-x86/syscalls/fallocate64.S @@ -4,18 +4,23 @@ ENTRY(fallocate64) pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - pushl %edi - pushl %ebp - .cfi_def_cfa_offset 24 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 - .cfi_rel_offset esi, 12 - .cfi_rel_offset edi, 16 - .cfi_rel_offset ebp, 20 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 + pushl %esi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset esi, 0 + pushl %edi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edi, 0 + pushl %ebp + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ebp, 0 mov 28(%esp), %ebx mov 32(%esp), %ecx mov 36(%esp), %edx diff --git a/libc/arch-x86/syscalls/fchdir.S b/libc/arch-x86/syscalls/fchdir.S index 4298c2a40..da95c0ba2 100644 --- a/libc/arch-x86/syscalls/fchdir.S +++ b/libc/arch-x86/syscalls/fchdir.S @@ -4,7 +4,7 @@ ENTRY(fchdir) pushl %ebx - .cfi_def_cfa_offset 4 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_fchdir, %eax diff --git a/libc/arch-x86/syscalls/fchmod.S b/libc/arch-x86/syscalls/fchmod.S index d4ef36f62..fe189f4ed 100644 --- a/libc/arch-x86/syscalls/fchmod.S +++ b/libc/arch-x86/syscalls/fchmod.S @@ -4,10 +4,11 @@ ENTRY(fchmod) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_fchmod, %eax diff --git a/libc/arch-x86/syscalls/fchmodat.S b/libc/arch-x86/syscalls/fchmodat.S index 4fb6995b3..794450b68 100644 --- a/libc/arch-x86/syscalls/fchmodat.S +++ b/libc/arch-x86/syscalls/fchmodat.S @@ -4,14 +4,17 @@ ENTRY(fchmodat) pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - .cfi_def_cfa_offset 16 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 - .cfi_rel_offset esi, 12 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 + pushl %esi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset esi, 0 mov 20(%esp), %ebx mov 24(%esp), %ecx mov 28(%esp), %edx diff --git a/libc/arch-x86/syscalls/fchown.S b/libc/arch-x86/syscalls/fchown.S index 326fe16e6..5e8238865 100644 --- a/libc/arch-x86/syscalls/fchown.S +++ b/libc/arch-x86/syscalls/fchown.S @@ -4,12 +4,14 @@ ENTRY(fchown) pushl %ebx - pushl %ecx - pushl %edx - .cfi_def_cfa_offset 12 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/fchownat.S b/libc/arch-x86/syscalls/fchownat.S index 802dc44cf..bfe61e9d0 100644 --- a/libc/arch-x86/syscalls/fchownat.S +++ b/libc/arch-x86/syscalls/fchownat.S @@ -4,16 +4,20 @@ ENTRY(fchownat) pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - pushl %edi - .cfi_def_cfa_offset 20 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 - .cfi_rel_offset esi, 12 - .cfi_rel_offset edi, 16 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 + pushl %esi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset esi, 0 + pushl %edi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edi, 0 mov 24(%esp), %ebx mov 28(%esp), %ecx mov 32(%esp), %edx diff --git a/libc/arch-x86/syscalls/fdatasync.S b/libc/arch-x86/syscalls/fdatasync.S index 02e09bee2..17846cecf 100644 --- a/libc/arch-x86/syscalls/fdatasync.S +++ b/libc/arch-x86/syscalls/fdatasync.S @@ -4,7 +4,7 @@ ENTRY(fdatasync) pushl %ebx - .cfi_def_cfa_offset 4 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_fdatasync, %eax diff --git a/libc/arch-x86/syscalls/fgetxattr.S b/libc/arch-x86/syscalls/fgetxattr.S index 99a920d5a..335d2983d 100644 --- a/libc/arch-x86/syscalls/fgetxattr.S +++ b/libc/arch-x86/syscalls/fgetxattr.S @@ -4,14 +4,17 @@ ENTRY(fgetxattr) pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - .cfi_def_cfa_offset 16 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 - .cfi_rel_offset esi, 12 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 + pushl %esi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset esi, 0 mov 20(%esp), %ebx mov 24(%esp), %ecx mov 28(%esp), %edx diff --git a/libc/arch-x86/syscalls/flistxattr.S b/libc/arch-x86/syscalls/flistxattr.S index a1691fc77..5cab5ad8b 100644 --- a/libc/arch-x86/syscalls/flistxattr.S +++ b/libc/arch-x86/syscalls/flistxattr.S @@ -4,12 +4,14 @@ ENTRY(flistxattr) pushl %ebx - pushl %ecx - pushl %edx - .cfi_def_cfa_offset 12 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/flock.S b/libc/arch-x86/syscalls/flock.S index a4388e988..277dd2ad0 100644 --- a/libc/arch-x86/syscalls/flock.S +++ b/libc/arch-x86/syscalls/flock.S @@ -4,10 +4,11 @@ ENTRY(flock) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_flock, %eax diff --git a/libc/arch-x86/syscalls/fremovexattr.S b/libc/arch-x86/syscalls/fremovexattr.S index 637797428..a60e0312e 100644 --- a/libc/arch-x86/syscalls/fremovexattr.S +++ b/libc/arch-x86/syscalls/fremovexattr.S @@ -4,10 +4,11 @@ ENTRY(fremovexattr) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_fremovexattr, %eax diff --git a/libc/arch-x86/syscalls/fsetxattr.S b/libc/arch-x86/syscalls/fsetxattr.S index 2f926a56e..c4d485462 100644 --- a/libc/arch-x86/syscalls/fsetxattr.S +++ b/libc/arch-x86/syscalls/fsetxattr.S @@ -4,16 +4,20 @@ ENTRY(fsetxattr) pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - pushl %edi - .cfi_def_cfa_offset 20 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 - .cfi_rel_offset esi, 12 - .cfi_rel_offset edi, 16 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 + pushl %esi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset esi, 0 + pushl %edi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edi, 0 mov 24(%esp), %ebx mov 28(%esp), %ecx mov 32(%esp), %edx diff --git a/libc/arch-x86/syscalls/fstat64.S b/libc/arch-x86/syscalls/fstat64.S index 4e85c711f..054f6de9a 100644 --- a/libc/arch-x86/syscalls/fstat64.S +++ b/libc/arch-x86/syscalls/fstat64.S @@ -4,10 +4,11 @@ ENTRY(fstat64) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_fstat64, %eax diff --git a/libc/arch-x86/syscalls/fstatat64.S b/libc/arch-x86/syscalls/fstatat64.S index 05cec7bf7..928d07137 100644 --- a/libc/arch-x86/syscalls/fstatat64.S +++ b/libc/arch-x86/syscalls/fstatat64.S @@ -4,14 +4,17 @@ ENTRY(fstatat64) pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - .cfi_def_cfa_offset 16 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 - .cfi_rel_offset esi, 12 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 + pushl %esi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset esi, 0 mov 20(%esp), %ebx mov 24(%esp), %ecx mov 28(%esp), %edx diff --git a/libc/arch-x86/syscalls/fsync.S b/libc/arch-x86/syscalls/fsync.S index 71183cb57..f12d01090 100644 --- a/libc/arch-x86/syscalls/fsync.S +++ b/libc/arch-x86/syscalls/fsync.S @@ -4,7 +4,7 @@ ENTRY(fsync) pushl %ebx - .cfi_def_cfa_offset 4 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_fsync, %eax diff --git a/libc/arch-x86/syscalls/ftruncate.S b/libc/arch-x86/syscalls/ftruncate.S index 100307757..062982cfa 100644 --- a/libc/arch-x86/syscalls/ftruncate.S +++ b/libc/arch-x86/syscalls/ftruncate.S @@ -4,10 +4,11 @@ ENTRY(ftruncate) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_ftruncate, %eax diff --git a/libc/arch-x86/syscalls/ftruncate64.S b/libc/arch-x86/syscalls/ftruncate64.S index 586086d48..71920be10 100644 --- a/libc/arch-x86/syscalls/ftruncate64.S +++ b/libc/arch-x86/syscalls/ftruncate64.S @@ -4,12 +4,14 @@ ENTRY(ftruncate64) pushl %ebx - pushl %ecx - pushl %edx - .cfi_def_cfa_offset 12 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/getdents.S b/libc/arch-x86/syscalls/getdents.S index 9823feb97..0b045b22c 100644 --- a/libc/arch-x86/syscalls/getdents.S +++ b/libc/arch-x86/syscalls/getdents.S @@ -4,12 +4,14 @@ ENTRY(getdents) pushl %ebx - pushl %ecx - pushl %edx - .cfi_def_cfa_offset 12 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/getgroups.S b/libc/arch-x86/syscalls/getgroups.S index e4247e72a..d9b7d80c9 100644 --- a/libc/arch-x86/syscalls/getgroups.S +++ b/libc/arch-x86/syscalls/getgroups.S @@ -4,10 +4,11 @@ ENTRY(getgroups) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_getgroups32, %eax diff --git a/libc/arch-x86/syscalls/getitimer.S b/libc/arch-x86/syscalls/getitimer.S index 2deebc99c..8f3a0eed0 100644 --- a/libc/arch-x86/syscalls/getitimer.S +++ b/libc/arch-x86/syscalls/getitimer.S @@ -4,10 +4,11 @@ ENTRY(getitimer) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_getitimer, %eax diff --git a/libc/arch-x86/syscalls/getpeername.S b/libc/arch-x86/syscalls/getpeername.S index e894093a3..1ea42a0a0 100644 --- a/libc/arch-x86/syscalls/getpeername.S +++ b/libc/arch-x86/syscalls/getpeername.S @@ -4,10 +4,11 @@ ENTRY(getpeername) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov $7, %ebx mov %esp, %ecx addl $12, %ecx diff --git a/libc/arch-x86/syscalls/getpgid.S b/libc/arch-x86/syscalls/getpgid.S index c50a09f7a..179c7db97 100644 --- a/libc/arch-x86/syscalls/getpgid.S +++ b/libc/arch-x86/syscalls/getpgid.S @@ -4,7 +4,7 @@ ENTRY(getpgid) pushl %ebx - .cfi_def_cfa_offset 4 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_getpgid, %eax diff --git a/libc/arch-x86/syscalls/getresgid.S b/libc/arch-x86/syscalls/getresgid.S index ad74e56f5..ce8d89a03 100644 --- a/libc/arch-x86/syscalls/getresgid.S +++ b/libc/arch-x86/syscalls/getresgid.S @@ -4,12 +4,14 @@ ENTRY(getresgid) pushl %ebx - pushl %ecx - pushl %edx - .cfi_def_cfa_offset 12 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/getresuid.S b/libc/arch-x86/syscalls/getresuid.S index 6cf60b337..f444d16b7 100644 --- a/libc/arch-x86/syscalls/getresuid.S +++ b/libc/arch-x86/syscalls/getresuid.S @@ -4,12 +4,14 @@ ENTRY(getresuid) pushl %ebx - pushl %ecx - pushl %edx - .cfi_def_cfa_offset 12 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/getrlimit.S b/libc/arch-x86/syscalls/getrlimit.S index 5e75b6bcb..66f4e6fc6 100644 --- a/libc/arch-x86/syscalls/getrlimit.S +++ b/libc/arch-x86/syscalls/getrlimit.S @@ -4,10 +4,11 @@ ENTRY(getrlimit) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_ugetrlimit, %eax diff --git a/libc/arch-x86/syscalls/getrusage.S b/libc/arch-x86/syscalls/getrusage.S index 2dfd00527..8d4fd7b85 100644 --- a/libc/arch-x86/syscalls/getrusage.S +++ b/libc/arch-x86/syscalls/getrusage.S @@ -4,10 +4,11 @@ ENTRY(getrusage) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_getrusage, %eax diff --git a/libc/arch-x86/syscalls/getsid.S b/libc/arch-x86/syscalls/getsid.S index 1f6030914..39e55517e 100644 --- a/libc/arch-x86/syscalls/getsid.S +++ b/libc/arch-x86/syscalls/getsid.S @@ -4,7 +4,7 @@ ENTRY(getsid) pushl %ebx - .cfi_def_cfa_offset 4 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_getsid, %eax diff --git a/libc/arch-x86/syscalls/getsockname.S b/libc/arch-x86/syscalls/getsockname.S index 5c22bdfdc..ec0cc84f2 100644 --- a/libc/arch-x86/syscalls/getsockname.S +++ b/libc/arch-x86/syscalls/getsockname.S @@ -4,10 +4,11 @@ ENTRY(getsockname) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov $6, %ebx mov %esp, %ecx addl $12, %ecx diff --git a/libc/arch-x86/syscalls/getsockopt.S b/libc/arch-x86/syscalls/getsockopt.S index 9c02d23ad..cf109f159 100644 --- a/libc/arch-x86/syscalls/getsockopt.S +++ b/libc/arch-x86/syscalls/getsockopt.S @@ -4,10 +4,11 @@ ENTRY(getsockopt) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov $15, %ebx mov %esp, %ecx addl $12, %ecx diff --git a/libc/arch-x86/syscalls/gettimeofday.S b/libc/arch-x86/syscalls/gettimeofday.S index 10c5de986..801e7ab81 100644 --- a/libc/arch-x86/syscalls/gettimeofday.S +++ b/libc/arch-x86/syscalls/gettimeofday.S @@ -4,10 +4,11 @@ ENTRY(gettimeofday) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_gettimeofday, %eax diff --git a/libc/arch-x86/syscalls/getxattr.S b/libc/arch-x86/syscalls/getxattr.S index f491a0cd7..5bd1ab89d 100644 --- a/libc/arch-x86/syscalls/getxattr.S +++ b/libc/arch-x86/syscalls/getxattr.S @@ -4,14 +4,17 @@ ENTRY(getxattr) pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - .cfi_def_cfa_offset 16 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 - .cfi_rel_offset esi, 12 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 + pushl %esi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset esi, 0 mov 20(%esp), %ebx mov 24(%esp), %ecx mov 28(%esp), %edx diff --git a/libc/arch-x86/syscalls/init_module.S b/libc/arch-x86/syscalls/init_module.S index 1a159d32d..8afd64403 100644 --- a/libc/arch-x86/syscalls/init_module.S +++ b/libc/arch-x86/syscalls/init_module.S @@ -4,12 +4,14 @@ ENTRY(init_module) pushl %ebx - pushl %ecx - pushl %edx - .cfi_def_cfa_offset 12 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/inotify_add_watch.S b/libc/arch-x86/syscalls/inotify_add_watch.S index 424698dfb..0de8f8870 100644 --- a/libc/arch-x86/syscalls/inotify_add_watch.S +++ b/libc/arch-x86/syscalls/inotify_add_watch.S @@ -4,12 +4,14 @@ ENTRY(inotify_add_watch) pushl %ebx - pushl %ecx - pushl %edx - .cfi_def_cfa_offset 12 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/inotify_init1.S b/libc/arch-x86/syscalls/inotify_init1.S index 1b437c64e..092061825 100644 --- a/libc/arch-x86/syscalls/inotify_init1.S +++ b/libc/arch-x86/syscalls/inotify_init1.S @@ -4,7 +4,7 @@ ENTRY(inotify_init1) pushl %ebx - .cfi_def_cfa_offset 4 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_inotify_init1, %eax diff --git a/libc/arch-x86/syscalls/inotify_rm_watch.S b/libc/arch-x86/syscalls/inotify_rm_watch.S index 18ec3ca6a..37394c502 100644 --- a/libc/arch-x86/syscalls/inotify_rm_watch.S +++ b/libc/arch-x86/syscalls/inotify_rm_watch.S @@ -4,10 +4,11 @@ ENTRY(inotify_rm_watch) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_inotify_rm_watch, %eax diff --git a/libc/arch-x86/syscalls/ioprio_get.S b/libc/arch-x86/syscalls/ioprio_get.S index 6dfc76796..ff78773cf 100644 --- a/libc/arch-x86/syscalls/ioprio_get.S +++ b/libc/arch-x86/syscalls/ioprio_get.S @@ -4,10 +4,11 @@ ENTRY(ioprio_get) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_ioprio_get, %eax diff --git a/libc/arch-x86/syscalls/ioprio_set.S b/libc/arch-x86/syscalls/ioprio_set.S index bcefacbb3..7a3e91987 100644 --- a/libc/arch-x86/syscalls/ioprio_set.S +++ b/libc/arch-x86/syscalls/ioprio_set.S @@ -4,12 +4,14 @@ ENTRY(ioprio_set) pushl %ebx - pushl %ecx - pushl %edx - .cfi_def_cfa_offset 12 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/kill.S b/libc/arch-x86/syscalls/kill.S index 499158b0e..fbf5fa858 100644 --- a/libc/arch-x86/syscalls/kill.S +++ b/libc/arch-x86/syscalls/kill.S @@ -4,10 +4,11 @@ ENTRY(kill) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_kill, %eax diff --git a/libc/arch-x86/syscalls/klogctl.S b/libc/arch-x86/syscalls/klogctl.S index f422ac892..03f24b80e 100644 --- a/libc/arch-x86/syscalls/klogctl.S +++ b/libc/arch-x86/syscalls/klogctl.S @@ -4,12 +4,14 @@ ENTRY(klogctl) pushl %ebx - pushl %ecx - pushl %edx - .cfi_def_cfa_offset 12 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/lgetxattr.S b/libc/arch-x86/syscalls/lgetxattr.S index def7c6682..6ee2c5580 100644 --- a/libc/arch-x86/syscalls/lgetxattr.S +++ b/libc/arch-x86/syscalls/lgetxattr.S @@ -4,14 +4,17 @@ ENTRY(lgetxattr) pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - .cfi_def_cfa_offset 16 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 - .cfi_rel_offset esi, 12 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 + pushl %esi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset esi, 0 mov 20(%esp), %ebx mov 24(%esp), %ecx mov 28(%esp), %edx diff --git a/libc/arch-x86/syscalls/linkat.S b/libc/arch-x86/syscalls/linkat.S index ffb1b5d41..d9876ebdb 100644 --- a/libc/arch-x86/syscalls/linkat.S +++ b/libc/arch-x86/syscalls/linkat.S @@ -4,16 +4,20 @@ ENTRY(linkat) pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - pushl %edi - .cfi_def_cfa_offset 20 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 - .cfi_rel_offset esi, 12 - .cfi_rel_offset edi, 16 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 + pushl %esi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset esi, 0 + pushl %edi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edi, 0 mov 24(%esp), %ebx mov 28(%esp), %ecx mov 32(%esp), %edx diff --git a/libc/arch-x86/syscalls/listen.S b/libc/arch-x86/syscalls/listen.S index 7e4d2f33f..b671b2594 100644 --- a/libc/arch-x86/syscalls/listen.S +++ b/libc/arch-x86/syscalls/listen.S @@ -4,10 +4,11 @@ ENTRY(listen) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov $4, %ebx mov %esp, %ecx addl $12, %ecx diff --git a/libc/arch-x86/syscalls/listxattr.S b/libc/arch-x86/syscalls/listxattr.S index 5b94a7234..e86b82e36 100644 --- a/libc/arch-x86/syscalls/listxattr.S +++ b/libc/arch-x86/syscalls/listxattr.S @@ -4,12 +4,14 @@ ENTRY(listxattr) pushl %ebx - pushl %ecx - pushl %edx - .cfi_def_cfa_offset 12 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/llistxattr.S b/libc/arch-x86/syscalls/llistxattr.S index 1c645916b..8d13da8d8 100644 --- a/libc/arch-x86/syscalls/llistxattr.S +++ b/libc/arch-x86/syscalls/llistxattr.S @@ -4,12 +4,14 @@ ENTRY(llistxattr) pushl %ebx - pushl %ecx - pushl %edx - .cfi_def_cfa_offset 12 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/lremovexattr.S b/libc/arch-x86/syscalls/lremovexattr.S index d67b221c0..9dab0a33f 100644 --- a/libc/arch-x86/syscalls/lremovexattr.S +++ b/libc/arch-x86/syscalls/lremovexattr.S @@ -4,10 +4,11 @@ ENTRY(lremovexattr) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_lremovexattr, %eax diff --git a/libc/arch-x86/syscalls/lseek.S b/libc/arch-x86/syscalls/lseek.S index 5a58b8174..2d03f46b8 100644 --- a/libc/arch-x86/syscalls/lseek.S +++ b/libc/arch-x86/syscalls/lseek.S @@ -4,12 +4,14 @@ ENTRY(lseek) pushl %ebx - pushl %ecx - pushl %edx - .cfi_def_cfa_offset 12 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/lsetxattr.S b/libc/arch-x86/syscalls/lsetxattr.S index f2dba3989..1452298c2 100644 --- a/libc/arch-x86/syscalls/lsetxattr.S +++ b/libc/arch-x86/syscalls/lsetxattr.S @@ -4,16 +4,20 @@ ENTRY(lsetxattr) pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - pushl %edi - .cfi_def_cfa_offset 20 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 - .cfi_rel_offset esi, 12 - .cfi_rel_offset edi, 16 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 + pushl %esi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset esi, 0 + pushl %edi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edi, 0 mov 24(%esp), %ebx mov 28(%esp), %ecx mov 32(%esp), %edx diff --git a/libc/arch-x86/syscalls/madvise.S b/libc/arch-x86/syscalls/madvise.S index edd37b5f5..fd4af115d 100644 --- a/libc/arch-x86/syscalls/madvise.S +++ b/libc/arch-x86/syscalls/madvise.S @@ -4,12 +4,14 @@ ENTRY(madvise) pushl %ebx - pushl %ecx - pushl %edx - .cfi_def_cfa_offset 12 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/mincore.S b/libc/arch-x86/syscalls/mincore.S index 44ea3648f..01eb5194b 100644 --- a/libc/arch-x86/syscalls/mincore.S +++ b/libc/arch-x86/syscalls/mincore.S @@ -4,12 +4,14 @@ ENTRY(mincore) pushl %ebx - pushl %ecx - pushl %edx - .cfi_def_cfa_offset 12 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/mkdirat.S b/libc/arch-x86/syscalls/mkdirat.S index d80e3fbde..b022838b3 100644 --- a/libc/arch-x86/syscalls/mkdirat.S +++ b/libc/arch-x86/syscalls/mkdirat.S @@ -4,12 +4,14 @@ ENTRY(mkdirat) pushl %ebx - pushl %ecx - pushl %edx - .cfi_def_cfa_offset 12 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/mknodat.S b/libc/arch-x86/syscalls/mknodat.S index 20560dfa9..233c0b268 100644 --- a/libc/arch-x86/syscalls/mknodat.S +++ b/libc/arch-x86/syscalls/mknodat.S @@ -4,14 +4,17 @@ ENTRY(mknodat) pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - .cfi_def_cfa_offset 16 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 - .cfi_rel_offset esi, 12 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 + pushl %esi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset esi, 0 mov 20(%esp), %ebx mov 24(%esp), %ecx mov 28(%esp), %edx diff --git a/libc/arch-x86/syscalls/mlock.S b/libc/arch-x86/syscalls/mlock.S index 78cfa5867..fb4641fae 100644 --- a/libc/arch-x86/syscalls/mlock.S +++ b/libc/arch-x86/syscalls/mlock.S @@ -4,10 +4,11 @@ ENTRY(mlock) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_mlock, %eax diff --git a/libc/arch-x86/syscalls/mlockall.S b/libc/arch-x86/syscalls/mlockall.S index 4e78fefbe..9403351e3 100644 --- a/libc/arch-x86/syscalls/mlockall.S +++ b/libc/arch-x86/syscalls/mlockall.S @@ -4,7 +4,7 @@ ENTRY(mlockall) pushl %ebx - .cfi_def_cfa_offset 4 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_mlockall, %eax diff --git a/libc/arch-x86/syscalls/mount.S b/libc/arch-x86/syscalls/mount.S index cc1a5187b..d99f5f44c 100644 --- a/libc/arch-x86/syscalls/mount.S +++ b/libc/arch-x86/syscalls/mount.S @@ -4,16 +4,20 @@ ENTRY(mount) pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - pushl %edi - .cfi_def_cfa_offset 20 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 - .cfi_rel_offset esi, 12 - .cfi_rel_offset edi, 16 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 + pushl %esi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset esi, 0 + pushl %edi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edi, 0 mov 24(%esp), %ebx mov 28(%esp), %ecx mov 32(%esp), %edx diff --git a/libc/arch-x86/syscalls/mprotect.S b/libc/arch-x86/syscalls/mprotect.S index 9c30af4f4..3205f833e 100644 --- a/libc/arch-x86/syscalls/mprotect.S +++ b/libc/arch-x86/syscalls/mprotect.S @@ -4,12 +4,14 @@ ENTRY(mprotect) pushl %ebx - pushl %ecx - pushl %edx - .cfi_def_cfa_offset 12 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/mremap.S b/libc/arch-x86/syscalls/mremap.S index 1439ef5b9..2b2007975 100644 --- a/libc/arch-x86/syscalls/mremap.S +++ b/libc/arch-x86/syscalls/mremap.S @@ -4,14 +4,17 @@ ENTRY(mremap) pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - .cfi_def_cfa_offset 16 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 - .cfi_rel_offset esi, 12 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 + pushl %esi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset esi, 0 mov 20(%esp), %ebx mov 24(%esp), %ecx mov 28(%esp), %edx diff --git a/libc/arch-x86/syscalls/msync.S b/libc/arch-x86/syscalls/msync.S index d330967d6..339e3815f 100644 --- a/libc/arch-x86/syscalls/msync.S +++ b/libc/arch-x86/syscalls/msync.S @@ -4,12 +4,14 @@ ENTRY(msync) pushl %ebx - pushl %ecx - pushl %edx - .cfi_def_cfa_offset 12 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/munlock.S b/libc/arch-x86/syscalls/munlock.S index ce6197dec..5fb29cb80 100644 --- a/libc/arch-x86/syscalls/munlock.S +++ b/libc/arch-x86/syscalls/munlock.S @@ -4,10 +4,11 @@ ENTRY(munlock) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_munlock, %eax diff --git a/libc/arch-x86/syscalls/munmap.S b/libc/arch-x86/syscalls/munmap.S index be7eec629..2d348db28 100644 --- a/libc/arch-x86/syscalls/munmap.S +++ b/libc/arch-x86/syscalls/munmap.S @@ -4,10 +4,11 @@ ENTRY(munmap) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_munmap, %eax diff --git a/libc/arch-x86/syscalls/nanosleep.S b/libc/arch-x86/syscalls/nanosleep.S index 9faa06b28..9d8ae9dec 100644 --- a/libc/arch-x86/syscalls/nanosleep.S +++ b/libc/arch-x86/syscalls/nanosleep.S @@ -4,10 +4,11 @@ ENTRY(nanosleep) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_nanosleep, %eax diff --git a/libc/arch-x86/syscalls/personality.S b/libc/arch-x86/syscalls/personality.S index 8116e2df4..412bbed34 100644 --- a/libc/arch-x86/syscalls/personality.S +++ b/libc/arch-x86/syscalls/personality.S @@ -4,7 +4,7 @@ ENTRY(personality) pushl %ebx - .cfi_def_cfa_offset 4 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_personality, %eax diff --git a/libc/arch-x86/syscalls/pipe2.S b/libc/arch-x86/syscalls/pipe2.S index c2e11a24f..bfe03a2c6 100644 --- a/libc/arch-x86/syscalls/pipe2.S +++ b/libc/arch-x86/syscalls/pipe2.S @@ -4,10 +4,11 @@ ENTRY(pipe2) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_pipe2, %eax diff --git a/libc/arch-x86/syscalls/prctl.S b/libc/arch-x86/syscalls/prctl.S index 1a5daca23..fca343f59 100644 --- a/libc/arch-x86/syscalls/prctl.S +++ b/libc/arch-x86/syscalls/prctl.S @@ -4,16 +4,20 @@ ENTRY(prctl) pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - pushl %edi - .cfi_def_cfa_offset 20 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 - .cfi_rel_offset esi, 12 - .cfi_rel_offset edi, 16 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 + pushl %esi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset esi, 0 + pushl %edi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edi, 0 mov 24(%esp), %ebx mov 28(%esp), %ecx mov 32(%esp), %edx diff --git a/libc/arch-x86/syscalls/pread64.S b/libc/arch-x86/syscalls/pread64.S index 32a76c5eb..6cf4e4bb8 100644 --- a/libc/arch-x86/syscalls/pread64.S +++ b/libc/arch-x86/syscalls/pread64.S @@ -4,16 +4,20 @@ ENTRY(pread64) pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - pushl %edi - .cfi_def_cfa_offset 20 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 - .cfi_rel_offset esi, 12 - .cfi_rel_offset edi, 16 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 + pushl %esi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset esi, 0 + pushl %edi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edi, 0 mov 24(%esp), %ebx mov 28(%esp), %ecx mov 32(%esp), %edx diff --git a/libc/arch-x86/syscalls/prlimit64.S b/libc/arch-x86/syscalls/prlimit64.S index 225642524..65316a76b 100644 --- a/libc/arch-x86/syscalls/prlimit64.S +++ b/libc/arch-x86/syscalls/prlimit64.S @@ -4,14 +4,17 @@ ENTRY(prlimit64) pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - .cfi_def_cfa_offset 16 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 - .cfi_rel_offset esi, 12 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 + pushl %esi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset esi, 0 mov 20(%esp), %ebx mov 24(%esp), %ecx mov 28(%esp), %edx diff --git a/libc/arch-x86/syscalls/pwrite64.S b/libc/arch-x86/syscalls/pwrite64.S index b003435a2..cccea8b4f 100644 --- a/libc/arch-x86/syscalls/pwrite64.S +++ b/libc/arch-x86/syscalls/pwrite64.S @@ -4,16 +4,20 @@ ENTRY(pwrite64) pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - pushl %edi - .cfi_def_cfa_offset 20 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 - .cfi_rel_offset esi, 12 - .cfi_rel_offset edi, 16 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 + pushl %esi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset esi, 0 + pushl %edi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edi, 0 mov 24(%esp), %ebx mov 28(%esp), %ecx mov 32(%esp), %edx diff --git a/libc/arch-x86/syscalls/read.S b/libc/arch-x86/syscalls/read.S index ad1c19a39..f80db310a 100644 --- a/libc/arch-x86/syscalls/read.S +++ b/libc/arch-x86/syscalls/read.S @@ -4,12 +4,14 @@ ENTRY(read) pushl %ebx - pushl %ecx - pushl %edx - .cfi_def_cfa_offset 12 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/readahead.S b/libc/arch-x86/syscalls/readahead.S index a4d634f17..f53769a45 100644 --- a/libc/arch-x86/syscalls/readahead.S +++ b/libc/arch-x86/syscalls/readahead.S @@ -4,14 +4,17 @@ ENTRY(readahead) pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - .cfi_def_cfa_offset 16 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 - .cfi_rel_offset esi, 12 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 + pushl %esi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset esi, 0 mov 20(%esp), %ebx mov 24(%esp), %ecx mov 28(%esp), %edx diff --git a/libc/arch-x86/syscalls/readlinkat.S b/libc/arch-x86/syscalls/readlinkat.S index 37df8d8a3..229dafe5a 100644 --- a/libc/arch-x86/syscalls/readlinkat.S +++ b/libc/arch-x86/syscalls/readlinkat.S @@ -4,14 +4,17 @@ ENTRY(readlinkat) pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - .cfi_def_cfa_offset 16 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 - .cfi_rel_offset esi, 12 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 + pushl %esi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset esi, 0 mov 20(%esp), %ebx mov 24(%esp), %ecx mov 28(%esp), %edx diff --git a/libc/arch-x86/syscalls/readv.S b/libc/arch-x86/syscalls/readv.S index 05445c0ae..8cb01a0d3 100644 --- a/libc/arch-x86/syscalls/readv.S +++ b/libc/arch-x86/syscalls/readv.S @@ -4,12 +4,14 @@ ENTRY(readv) pushl %ebx - pushl %ecx - pushl %edx - .cfi_def_cfa_offset 12 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/recvfrom.S b/libc/arch-x86/syscalls/recvfrom.S index df489c86d..dd99a0948 100644 --- a/libc/arch-x86/syscalls/recvfrom.S +++ b/libc/arch-x86/syscalls/recvfrom.S @@ -4,10 +4,11 @@ ENTRY(recvfrom) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov $12, %ebx mov %esp, %ecx addl $12, %ecx diff --git a/libc/arch-x86/syscalls/recvmmsg.S b/libc/arch-x86/syscalls/recvmmsg.S index a7adac823..f916fcdcc 100644 --- a/libc/arch-x86/syscalls/recvmmsg.S +++ b/libc/arch-x86/syscalls/recvmmsg.S @@ -4,10 +4,11 @@ ENTRY(recvmmsg) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov $19, %ebx mov %esp, %ecx addl $12, %ecx diff --git a/libc/arch-x86/syscalls/recvmsg.S b/libc/arch-x86/syscalls/recvmsg.S index a587b00ae..12dad2868 100644 --- a/libc/arch-x86/syscalls/recvmsg.S +++ b/libc/arch-x86/syscalls/recvmsg.S @@ -4,10 +4,11 @@ ENTRY(recvmsg) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov $17, %ebx mov %esp, %ecx addl $12, %ecx diff --git a/libc/arch-x86/syscalls/removexattr.S b/libc/arch-x86/syscalls/removexattr.S index 99192f03e..3974a0710 100644 --- a/libc/arch-x86/syscalls/removexattr.S +++ b/libc/arch-x86/syscalls/removexattr.S @@ -4,10 +4,11 @@ ENTRY(removexattr) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_removexattr, %eax diff --git a/libc/arch-x86/syscalls/renameat.S b/libc/arch-x86/syscalls/renameat.S index 831b24c36..2982f51b1 100644 --- a/libc/arch-x86/syscalls/renameat.S +++ b/libc/arch-x86/syscalls/renameat.S @@ -4,14 +4,17 @@ ENTRY(renameat) pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - .cfi_def_cfa_offset 16 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 - .cfi_rel_offset esi, 12 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 + pushl %esi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset esi, 0 mov 20(%esp), %ebx mov 24(%esp), %ecx mov 28(%esp), %edx diff --git a/libc/arch-x86/syscalls/sched_get_priority_max.S b/libc/arch-x86/syscalls/sched_get_priority_max.S index 0b7c26949..3205c72ec 100644 --- a/libc/arch-x86/syscalls/sched_get_priority_max.S +++ b/libc/arch-x86/syscalls/sched_get_priority_max.S @@ -4,7 +4,7 @@ ENTRY(sched_get_priority_max) pushl %ebx - .cfi_def_cfa_offset 4 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_sched_get_priority_max, %eax diff --git a/libc/arch-x86/syscalls/sched_get_priority_min.S b/libc/arch-x86/syscalls/sched_get_priority_min.S index ce28f8cd6..39c4d2cee 100644 --- a/libc/arch-x86/syscalls/sched_get_priority_min.S +++ b/libc/arch-x86/syscalls/sched_get_priority_min.S @@ -4,7 +4,7 @@ ENTRY(sched_get_priority_min) pushl %ebx - .cfi_def_cfa_offset 4 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_sched_get_priority_min, %eax diff --git a/libc/arch-x86/syscalls/sched_getparam.S b/libc/arch-x86/syscalls/sched_getparam.S index 2c3b7b9a0..47cb4af6a 100644 --- a/libc/arch-x86/syscalls/sched_getparam.S +++ b/libc/arch-x86/syscalls/sched_getparam.S @@ -4,10 +4,11 @@ ENTRY(sched_getparam) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_sched_getparam, %eax diff --git a/libc/arch-x86/syscalls/sched_getscheduler.S b/libc/arch-x86/syscalls/sched_getscheduler.S index 6a3842adb..07fbe6b72 100644 --- a/libc/arch-x86/syscalls/sched_getscheduler.S +++ b/libc/arch-x86/syscalls/sched_getscheduler.S @@ -4,7 +4,7 @@ ENTRY(sched_getscheduler) pushl %ebx - .cfi_def_cfa_offset 4 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_sched_getscheduler, %eax diff --git a/libc/arch-x86/syscalls/sched_rr_get_interval.S b/libc/arch-x86/syscalls/sched_rr_get_interval.S index c1055da6d..e7a103892 100644 --- a/libc/arch-x86/syscalls/sched_rr_get_interval.S +++ b/libc/arch-x86/syscalls/sched_rr_get_interval.S @@ -4,10 +4,11 @@ ENTRY(sched_rr_get_interval) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_sched_rr_get_interval, %eax diff --git a/libc/arch-x86/syscalls/sched_setaffinity.S b/libc/arch-x86/syscalls/sched_setaffinity.S index bd3d0ab3f..bb35259fc 100644 --- a/libc/arch-x86/syscalls/sched_setaffinity.S +++ b/libc/arch-x86/syscalls/sched_setaffinity.S @@ -4,12 +4,14 @@ ENTRY(sched_setaffinity) pushl %ebx - pushl %ecx - pushl %edx - .cfi_def_cfa_offset 12 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/sched_setparam.S b/libc/arch-x86/syscalls/sched_setparam.S index 232926824..3e93c4ce3 100644 --- a/libc/arch-x86/syscalls/sched_setparam.S +++ b/libc/arch-x86/syscalls/sched_setparam.S @@ -4,10 +4,11 @@ ENTRY(sched_setparam) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_sched_setparam, %eax diff --git a/libc/arch-x86/syscalls/sched_setscheduler.S b/libc/arch-x86/syscalls/sched_setscheduler.S index a3ce8ab58..fcabf122a 100644 --- a/libc/arch-x86/syscalls/sched_setscheduler.S +++ b/libc/arch-x86/syscalls/sched_setscheduler.S @@ -4,12 +4,14 @@ ENTRY(sched_setscheduler) pushl %ebx - pushl %ecx - pushl %edx - .cfi_def_cfa_offset 12 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/sched_yield.S b/libc/arch-x86/syscalls/sched_yield.S index fb563c492..a8b22e32d 100644 --- a/libc/arch-x86/syscalls/sched_yield.S +++ b/libc/arch-x86/syscalls/sched_yield.S @@ -4,7 +4,7 @@ ENTRY(sched_yield) pushl %ebx - .cfi_def_cfa_offset 4 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_sched_yield, %eax diff --git a/libc/arch-x86/syscalls/sendfile.S b/libc/arch-x86/syscalls/sendfile.S index 280a4ae5c..30bf3ad1b 100644 --- a/libc/arch-x86/syscalls/sendfile.S +++ b/libc/arch-x86/syscalls/sendfile.S @@ -4,14 +4,17 @@ ENTRY(sendfile) pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - .cfi_def_cfa_offset 16 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 - .cfi_rel_offset esi, 12 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 + pushl %esi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset esi, 0 mov 20(%esp), %ebx mov 24(%esp), %ecx mov 28(%esp), %edx diff --git a/libc/arch-x86/syscalls/sendfile64.S b/libc/arch-x86/syscalls/sendfile64.S index 383c8c6b2..5a7f2bb28 100644 --- a/libc/arch-x86/syscalls/sendfile64.S +++ b/libc/arch-x86/syscalls/sendfile64.S @@ -4,14 +4,17 @@ ENTRY(sendfile64) pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - .cfi_def_cfa_offset 16 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 - .cfi_rel_offset esi, 12 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 + pushl %esi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset esi, 0 mov 20(%esp), %ebx mov 24(%esp), %ecx mov 28(%esp), %edx diff --git a/libc/arch-x86/syscalls/sendmmsg.S b/libc/arch-x86/syscalls/sendmmsg.S index 46dd6cd4a..09a3292d1 100644 --- a/libc/arch-x86/syscalls/sendmmsg.S +++ b/libc/arch-x86/syscalls/sendmmsg.S @@ -4,10 +4,11 @@ ENTRY(sendmmsg) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov $20, %ebx mov %esp, %ecx addl $12, %ecx diff --git a/libc/arch-x86/syscalls/sendmsg.S b/libc/arch-x86/syscalls/sendmsg.S index 70bad2941..eaf7fb39e 100644 --- a/libc/arch-x86/syscalls/sendmsg.S +++ b/libc/arch-x86/syscalls/sendmsg.S @@ -4,10 +4,11 @@ ENTRY(sendmsg) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov $16, %ebx mov %esp, %ecx addl $12, %ecx diff --git a/libc/arch-x86/syscalls/sendto.S b/libc/arch-x86/syscalls/sendto.S index dbe520dc2..0cf5e0a28 100644 --- a/libc/arch-x86/syscalls/sendto.S +++ b/libc/arch-x86/syscalls/sendto.S @@ -4,10 +4,11 @@ ENTRY(sendto) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov $11, %ebx mov %esp, %ecx addl $12, %ecx diff --git a/libc/arch-x86/syscalls/setgid.S b/libc/arch-x86/syscalls/setgid.S index 69ac15bfd..b0b71852f 100644 --- a/libc/arch-x86/syscalls/setgid.S +++ b/libc/arch-x86/syscalls/setgid.S @@ -4,7 +4,7 @@ ENTRY(setgid) pushl %ebx - .cfi_def_cfa_offset 4 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_setgid32, %eax diff --git a/libc/arch-x86/syscalls/setgroups.S b/libc/arch-x86/syscalls/setgroups.S index f704c4648..be227cacd 100644 --- a/libc/arch-x86/syscalls/setgroups.S +++ b/libc/arch-x86/syscalls/setgroups.S @@ -4,10 +4,11 @@ ENTRY(setgroups) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_setgroups32, %eax diff --git a/libc/arch-x86/syscalls/setitimer.S b/libc/arch-x86/syscalls/setitimer.S index 157381652..4a323da0c 100644 --- a/libc/arch-x86/syscalls/setitimer.S +++ b/libc/arch-x86/syscalls/setitimer.S @@ -4,12 +4,14 @@ ENTRY(setitimer) pushl %ebx - pushl %ecx - pushl %edx - .cfi_def_cfa_offset 12 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/setns.S b/libc/arch-x86/syscalls/setns.S index 2c39a21eb..fa69b4ae5 100644 --- a/libc/arch-x86/syscalls/setns.S +++ b/libc/arch-x86/syscalls/setns.S @@ -4,10 +4,11 @@ ENTRY(setns) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_setns, %eax diff --git a/libc/arch-x86/syscalls/setpgid.S b/libc/arch-x86/syscalls/setpgid.S index ae69633c4..eba780c6d 100644 --- a/libc/arch-x86/syscalls/setpgid.S +++ b/libc/arch-x86/syscalls/setpgid.S @@ -4,10 +4,11 @@ ENTRY(setpgid) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_setpgid, %eax diff --git a/libc/arch-x86/syscalls/setpriority.S b/libc/arch-x86/syscalls/setpriority.S index b58cd1303..5ea05192e 100644 --- a/libc/arch-x86/syscalls/setpriority.S +++ b/libc/arch-x86/syscalls/setpriority.S @@ -4,12 +4,14 @@ ENTRY(setpriority) pushl %ebx - pushl %ecx - pushl %edx - .cfi_def_cfa_offset 12 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/setregid.S b/libc/arch-x86/syscalls/setregid.S index 561a65895..ae5bfcaff 100644 --- a/libc/arch-x86/syscalls/setregid.S +++ b/libc/arch-x86/syscalls/setregid.S @@ -4,10 +4,11 @@ ENTRY(setregid) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_setregid32, %eax diff --git a/libc/arch-x86/syscalls/setresgid.S b/libc/arch-x86/syscalls/setresgid.S index a21097508..64b5f7e92 100644 --- a/libc/arch-x86/syscalls/setresgid.S +++ b/libc/arch-x86/syscalls/setresgid.S @@ -4,12 +4,14 @@ ENTRY(setresgid) pushl %ebx - pushl %ecx - pushl %edx - .cfi_def_cfa_offset 12 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/setresuid.S b/libc/arch-x86/syscalls/setresuid.S index 920e68b7a..2a29fa51f 100644 --- a/libc/arch-x86/syscalls/setresuid.S +++ b/libc/arch-x86/syscalls/setresuid.S @@ -4,12 +4,14 @@ ENTRY(setresuid) pushl %ebx - pushl %ecx - pushl %edx - .cfi_def_cfa_offset 12 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/setreuid.S b/libc/arch-x86/syscalls/setreuid.S index 7f911adc4..200a83a48 100644 --- a/libc/arch-x86/syscalls/setreuid.S +++ b/libc/arch-x86/syscalls/setreuid.S @@ -4,10 +4,11 @@ ENTRY(setreuid) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_setreuid32, %eax diff --git a/libc/arch-x86/syscalls/setrlimit.S b/libc/arch-x86/syscalls/setrlimit.S index e103ecfac..64a46c0ca 100644 --- a/libc/arch-x86/syscalls/setrlimit.S +++ b/libc/arch-x86/syscalls/setrlimit.S @@ -4,10 +4,11 @@ ENTRY(setrlimit) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_setrlimit, %eax diff --git a/libc/arch-x86/syscalls/setsockopt.S b/libc/arch-x86/syscalls/setsockopt.S index f56f81292..e57c9d201 100644 --- a/libc/arch-x86/syscalls/setsockopt.S +++ b/libc/arch-x86/syscalls/setsockopt.S @@ -4,10 +4,11 @@ ENTRY(setsockopt) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov $14, %ebx mov %esp, %ecx addl $12, %ecx diff --git a/libc/arch-x86/syscalls/settimeofday.S b/libc/arch-x86/syscalls/settimeofday.S index 1ae4d588f..4b2eca9d1 100644 --- a/libc/arch-x86/syscalls/settimeofday.S +++ b/libc/arch-x86/syscalls/settimeofday.S @@ -4,10 +4,11 @@ ENTRY(settimeofday) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_settimeofday, %eax diff --git a/libc/arch-x86/syscalls/setuid.S b/libc/arch-x86/syscalls/setuid.S index 6549fd474..cf10ad6aa 100644 --- a/libc/arch-x86/syscalls/setuid.S +++ b/libc/arch-x86/syscalls/setuid.S @@ -4,7 +4,7 @@ ENTRY(setuid) pushl %ebx - .cfi_def_cfa_offset 4 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_setuid32, %eax diff --git a/libc/arch-x86/syscalls/setxattr.S b/libc/arch-x86/syscalls/setxattr.S index fae04dfbd..5edba2d7f 100644 --- a/libc/arch-x86/syscalls/setxattr.S +++ b/libc/arch-x86/syscalls/setxattr.S @@ -4,16 +4,20 @@ ENTRY(setxattr) pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - pushl %edi - .cfi_def_cfa_offset 20 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 - .cfi_rel_offset esi, 12 - .cfi_rel_offset edi, 16 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 + pushl %esi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset esi, 0 + pushl %edi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edi, 0 mov 24(%esp), %ebx mov 28(%esp), %ecx mov 32(%esp), %edx diff --git a/libc/arch-x86/syscalls/shutdown.S b/libc/arch-x86/syscalls/shutdown.S index 13e8fd940..f1d606a4b 100644 --- a/libc/arch-x86/syscalls/shutdown.S +++ b/libc/arch-x86/syscalls/shutdown.S @@ -4,10 +4,11 @@ ENTRY(shutdown) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov $13, %ebx mov %esp, %ecx addl $12, %ecx diff --git a/libc/arch-x86/syscalls/sigaltstack.S b/libc/arch-x86/syscalls/sigaltstack.S index 71fdb1202..64872df0b 100644 --- a/libc/arch-x86/syscalls/sigaltstack.S +++ b/libc/arch-x86/syscalls/sigaltstack.S @@ -4,10 +4,11 @@ ENTRY(sigaltstack) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_sigaltstack, %eax diff --git a/libc/arch-x86/syscalls/socketpair.S b/libc/arch-x86/syscalls/socketpair.S index 3681c4fac..4027752c8 100644 --- a/libc/arch-x86/syscalls/socketpair.S +++ b/libc/arch-x86/syscalls/socketpair.S @@ -4,10 +4,11 @@ ENTRY(socketpair) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov $8, %ebx mov %esp, %ecx addl $12, %ecx diff --git a/libc/arch-x86/syscalls/swapoff.S b/libc/arch-x86/syscalls/swapoff.S index 31f8be139..1657e6473 100644 --- a/libc/arch-x86/syscalls/swapoff.S +++ b/libc/arch-x86/syscalls/swapoff.S @@ -4,7 +4,7 @@ ENTRY(swapoff) pushl %ebx - .cfi_def_cfa_offset 4 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_swapoff, %eax diff --git a/libc/arch-x86/syscalls/swapon.S b/libc/arch-x86/syscalls/swapon.S index 687c4925c..16d061765 100644 --- a/libc/arch-x86/syscalls/swapon.S +++ b/libc/arch-x86/syscalls/swapon.S @@ -4,10 +4,11 @@ ENTRY(swapon) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_swapon, %eax diff --git a/libc/arch-x86/syscalls/symlinkat.S b/libc/arch-x86/syscalls/symlinkat.S index 1f33f7b6f..78f9fa795 100644 --- a/libc/arch-x86/syscalls/symlinkat.S +++ b/libc/arch-x86/syscalls/symlinkat.S @@ -4,12 +4,14 @@ ENTRY(symlinkat) pushl %ebx - pushl %ecx - pushl %edx - .cfi_def_cfa_offset 12 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/sync.S b/libc/arch-x86/syscalls/sync.S index f80296f05..a0cf66f96 100644 --- a/libc/arch-x86/syscalls/sync.S +++ b/libc/arch-x86/syscalls/sync.S @@ -4,7 +4,7 @@ ENTRY(sync) pushl %ebx - .cfi_def_cfa_offset 4 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_sync, %eax diff --git a/libc/arch-x86/syscalls/sysinfo.S b/libc/arch-x86/syscalls/sysinfo.S index 8b9a23e2e..1619edba9 100644 --- a/libc/arch-x86/syscalls/sysinfo.S +++ b/libc/arch-x86/syscalls/sysinfo.S @@ -4,7 +4,7 @@ ENTRY(sysinfo) pushl %ebx - .cfi_def_cfa_offset 4 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_sysinfo, %eax diff --git a/libc/arch-x86/syscalls/tgkill.S b/libc/arch-x86/syscalls/tgkill.S index e57645cf5..69ffdf886 100644 --- a/libc/arch-x86/syscalls/tgkill.S +++ b/libc/arch-x86/syscalls/tgkill.S @@ -4,12 +4,14 @@ ENTRY(tgkill) pushl %ebx - pushl %ecx - pushl %edx - .cfi_def_cfa_offset 12 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/timerfd_create.S b/libc/arch-x86/syscalls/timerfd_create.S index 33b298004..c0bc5b583 100644 --- a/libc/arch-x86/syscalls/timerfd_create.S +++ b/libc/arch-x86/syscalls/timerfd_create.S @@ -4,10 +4,11 @@ ENTRY(timerfd_create) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_timerfd_create, %eax diff --git a/libc/arch-x86/syscalls/timerfd_gettime.S b/libc/arch-x86/syscalls/timerfd_gettime.S index 66b004b6b..5dd7ad763 100644 --- a/libc/arch-x86/syscalls/timerfd_gettime.S +++ b/libc/arch-x86/syscalls/timerfd_gettime.S @@ -4,10 +4,11 @@ ENTRY(timerfd_gettime) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_timerfd_gettime, %eax diff --git a/libc/arch-x86/syscalls/timerfd_settime.S b/libc/arch-x86/syscalls/timerfd_settime.S index 3f4035e6d..bb027df93 100644 --- a/libc/arch-x86/syscalls/timerfd_settime.S +++ b/libc/arch-x86/syscalls/timerfd_settime.S @@ -4,14 +4,17 @@ ENTRY(timerfd_settime) pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - .cfi_def_cfa_offset 16 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 - .cfi_rel_offset esi, 12 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 + pushl %esi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset esi, 0 mov 20(%esp), %ebx mov 24(%esp), %ecx mov 28(%esp), %edx diff --git a/libc/arch-x86/syscalls/times.S b/libc/arch-x86/syscalls/times.S index b9e284570..075750df3 100644 --- a/libc/arch-x86/syscalls/times.S +++ b/libc/arch-x86/syscalls/times.S @@ -4,7 +4,7 @@ ENTRY(times) pushl %ebx - .cfi_def_cfa_offset 4 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_times, %eax diff --git a/libc/arch-x86/syscalls/truncate.S b/libc/arch-x86/syscalls/truncate.S index 019894c31..9270a5393 100644 --- a/libc/arch-x86/syscalls/truncate.S +++ b/libc/arch-x86/syscalls/truncate.S @@ -4,10 +4,11 @@ ENTRY(truncate) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_truncate, %eax diff --git a/libc/arch-x86/syscalls/truncate64.S b/libc/arch-x86/syscalls/truncate64.S index 99b71b0a6..89c2c4aa0 100644 --- a/libc/arch-x86/syscalls/truncate64.S +++ b/libc/arch-x86/syscalls/truncate64.S @@ -4,12 +4,14 @@ ENTRY(truncate64) pushl %ebx - pushl %ecx - pushl %edx - .cfi_def_cfa_offset 12 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/umask.S b/libc/arch-x86/syscalls/umask.S index 485b3269b..81df64d42 100644 --- a/libc/arch-x86/syscalls/umask.S +++ b/libc/arch-x86/syscalls/umask.S @@ -4,7 +4,7 @@ ENTRY(umask) pushl %ebx - .cfi_def_cfa_offset 4 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_umask, %eax diff --git a/libc/arch-x86/syscalls/umount2.S b/libc/arch-x86/syscalls/umount2.S index 100d38c39..cd21623a0 100644 --- a/libc/arch-x86/syscalls/umount2.S +++ b/libc/arch-x86/syscalls/umount2.S @@ -4,10 +4,11 @@ ENTRY(umount2) pushl %ebx - pushl %ecx .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_umount2, %eax diff --git a/libc/arch-x86/syscalls/uname.S b/libc/arch-x86/syscalls/uname.S index f1ba3b926..9d65e8528 100644 --- a/libc/arch-x86/syscalls/uname.S +++ b/libc/arch-x86/syscalls/uname.S @@ -4,7 +4,7 @@ ENTRY(uname) pushl %ebx - .cfi_def_cfa_offset 4 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_uname, %eax diff --git a/libc/arch-x86/syscalls/unlinkat.S b/libc/arch-x86/syscalls/unlinkat.S index 1a573d45d..68bf05bd0 100644 --- a/libc/arch-x86/syscalls/unlinkat.S +++ b/libc/arch-x86/syscalls/unlinkat.S @@ -4,12 +4,14 @@ ENTRY(unlinkat) pushl %ebx - pushl %ecx - pushl %edx - .cfi_def_cfa_offset 12 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/unshare.S b/libc/arch-x86/syscalls/unshare.S index 95fdbf60a..7e48cb1d2 100644 --- a/libc/arch-x86/syscalls/unshare.S +++ b/libc/arch-x86/syscalls/unshare.S @@ -4,7 +4,7 @@ ENTRY(unshare) pushl %ebx - .cfi_def_cfa_offset 4 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_unshare, %eax diff --git a/libc/arch-x86/syscalls/utimensat.S b/libc/arch-x86/syscalls/utimensat.S index 099f5517b..4b2a9b6f6 100644 --- a/libc/arch-x86/syscalls/utimensat.S +++ b/libc/arch-x86/syscalls/utimensat.S @@ -4,14 +4,17 @@ ENTRY(utimensat) pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - .cfi_def_cfa_offset 16 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 - .cfi_rel_offset esi, 12 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 + pushl %esi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset esi, 0 mov 20(%esp), %ebx mov 24(%esp), %ecx mov 28(%esp), %edx diff --git a/libc/arch-x86/syscalls/wait4.S b/libc/arch-x86/syscalls/wait4.S index b6196f8d6..bd4bd5010 100644 --- a/libc/arch-x86/syscalls/wait4.S +++ b/libc/arch-x86/syscalls/wait4.S @@ -4,14 +4,17 @@ ENTRY(wait4) pushl %ebx - pushl %ecx - pushl %edx - pushl %esi - .cfi_def_cfa_offset 16 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 - .cfi_rel_offset esi, 12 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 + pushl %esi + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset esi, 0 mov 20(%esp), %ebx mov 24(%esp), %ecx mov 28(%esp), %edx diff --git a/libc/arch-x86/syscalls/write.S b/libc/arch-x86/syscalls/write.S index 971cb3049..a4641969a 100644 --- a/libc/arch-x86/syscalls/write.S +++ b/libc/arch-x86/syscalls/write.S @@ -4,12 +4,14 @@ ENTRY(write) pushl %ebx - pushl %ecx - pushl %edx - .cfi_def_cfa_offset 12 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/writev.S b/libc/arch-x86/syscalls/writev.S index ab8e705a0..da9ae7c96 100644 --- a/libc/arch-x86/syscalls/writev.S +++ b/libc/arch-x86/syscalls/writev.S @@ -4,12 +4,14 @@ ENTRY(writev) pushl %ebx - pushl %ecx - pushl %edx - .cfi_def_cfa_offset 12 + .cfi_def_cfa_offset 8 .cfi_rel_offset ebx, 0 - .cfi_rel_offset ecx, 4 - .cfi_rel_offset edx, 8 + pushl %ecx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset ecx, 0 + pushl %edx + .cfi_adjust_cfa_offset 4 + .cfi_rel_offset edx, 0 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/tools/gensyscalls.py b/libc/tools/gensyscalls.py index 87d51e30f..5e4ddc59e 100755 --- a/libc/tools/gensyscalls.py +++ b/libc/tools/gensyscalls.py @@ -323,17 +323,20 @@ def x86_genstub(syscall): stack_bias = numparams*4 + 4 offset = 0 mov_result = "" - cfi_result = " .cfi_def_cfa_offset %d\n" % (numparams*4) + first_push = True for register in x86_registers[:numparams]: result += " pushl %%%s\n" % register + if first_push: + result += " .cfi_def_cfa_offset 8\n" + result += " .cfi_rel_offset %s, 0\n" % register + first_push = False + else: + result += " .cfi_adjust_cfa_offset 4\n" + result += " .cfi_rel_offset %s, 0\n" % register mov_result += " mov %d(%%esp), %%%s\n" % (stack_bias+offset, register) - cfi_result += " .cfi_rel_offset %s, %d\n" % (register, offset) offset += 4 - if numparams: - result += cfi_result - result += mov_result - + result += mov_result result += x86_call % syscall for register in reversed(x86_registers[:numparams]): @@ -353,10 +356,11 @@ def x86_genstub_socketcall(syscall): # save the regs we need result += " pushl %ebx\n" - result += " pushl %ecx\n" result += " .cfi_def_cfa_offset 8\n" result += " .cfi_rel_offset ebx, 0\n" - result += " .cfi_rel_offset ecx, 4\n" + result += " pushl %ecx\n" + result += " .cfi_adjust_cfa_offset 4\n" + result += " .cfi_rel_offset ecx, 0\n" stack_bias = 12 # set the call id (%ebx)