diff options
185 files changed, 695 insertions, 20 deletions
diff --git a/libc/arch-x86/syscalls/__brk.S b/libc/arch-x86/syscalls/__brk.S index ebde7ba..728bf81 100644 --- a/libc/arch-x86/syscalls/__brk.S +++ b/libc/arch-x86/syscalls/__brk.S @@ -4,6 +4,8 @@ ENTRY(__brk) pushl %ebx + .cfi_def_cfa_offset 4 + .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_brk, %eax int $0x80 diff --git a/libc/arch-x86/syscalls/__epoll_pwait.S b/libc/arch-x86/syscalls/__epoll_pwait.S index 2d424c6..9bcc142 100644 --- a/libc/arch-x86/syscalls/__epoll_pwait.S +++ b/libc/arch-x86/syscalls/__epoll_pwait.S @@ -9,6 +9,13 @@ ENTRY(__epoll_pwait) pushl %esi pushl %edi pushl %ebp + .cfi_def_cfa_offset 24 + .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 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 83f04a5..eaddc5e 100644 --- a/libc/arch-x86/syscalls/__exit.S +++ b/libc/arch-x86/syscalls/__exit.S @@ -4,6 +4,8 @@ ENTRY(__exit) pushl %ebx + .cfi_def_cfa_offset 4 + .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_exit, %eax int $0x80 diff --git a/libc/arch-x86/syscalls/__fcntl64.S b/libc/arch-x86/syscalls/__fcntl64.S index dda2b17..faefa65 100644 --- a/libc/arch-x86/syscalls/__fcntl64.S +++ b/libc/arch-x86/syscalls/__fcntl64.S @@ -6,6 +6,10 @@ ENTRY(__fcntl64) pushl %ebx pushl %ecx pushl %edx + .cfi_def_cfa_offset 12 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 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 1f0cc80..dfd04af 100644 --- a/libc/arch-x86/syscalls/__fstatfs64.S +++ b/libc/arch-x86/syscalls/__fstatfs64.S @@ -6,6 +6,10 @@ ENTRY(__fstatfs64) pushl %ebx pushl %ecx pushl %edx + .cfi_def_cfa_offset 12 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 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 cef5f18..d1da871 100644 --- a/libc/arch-x86/syscalls/__getcpu.S +++ b/libc/arch-x86/syscalls/__getcpu.S @@ -6,6 +6,10 @@ ENTRY(__getcpu) pushl %ebx pushl %ecx pushl %edx + .cfi_def_cfa_offset 12 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 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 5a0dae2..a9834e2 100644 --- a/libc/arch-x86/syscalls/__getcwd.S +++ b/libc/arch-x86/syscalls/__getcwd.S @@ -5,6 +5,9 @@ ENTRY(__getcwd) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 72fd8a5..99d33bb 100644 --- a/libc/arch-x86/syscalls/__getpriority.S +++ b/libc/arch-x86/syscalls/__getpriority.S @@ -5,6 +5,9 @@ ENTRY(__getpriority) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 6caf918..ad617f0 100644 --- a/libc/arch-x86/syscalls/__ioctl.S +++ b/libc/arch-x86/syscalls/__ioctl.S @@ -6,6 +6,10 @@ ENTRY(__ioctl) pushl %ebx pushl %ecx pushl %edx + .cfi_def_cfa_offset 12 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 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 a24b021..2dab8a9 100644 --- a/libc/arch-x86/syscalls/__llseek.S +++ b/libc/arch-x86/syscalls/__llseek.S @@ -8,6 +8,12 @@ ENTRY(__llseek) pushl %edx pushl %esi pushl %edi + .cfi_def_cfa_offset 20 + .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 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 6308c9b..963abf3 100644 --- a/libc/arch-x86/syscalls/__mmap2.S +++ b/libc/arch-x86/syscalls/__mmap2.S @@ -9,6 +9,13 @@ ENTRY(__mmap2) pushl %esi pushl %edi pushl %ebp + .cfi_def_cfa_offset 24 + .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 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 7bb833c..6b05bec 100644 --- a/libc/arch-x86/syscalls/__openat.S +++ b/libc/arch-x86/syscalls/__openat.S @@ -7,6 +7,11 @@ ENTRY(__openat) pushl %ecx pushl %edx pushl %esi + .cfi_def_cfa_offset 16 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 + .cfi_rel_offset esi, 12 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 553fad1..e5af93c 100644 --- a/libc/arch-x86/syscalls/__ppoll.S +++ b/libc/arch-x86/syscalls/__ppoll.S @@ -8,6 +8,12 @@ ENTRY(__ppoll) pushl %edx pushl %esi pushl %edi + .cfi_def_cfa_offset 20 + .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 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 a464c9a..984a67e 100644 --- a/libc/arch-x86/syscalls/__pselect6.S +++ b/libc/arch-x86/syscalls/__pselect6.S @@ -9,6 +9,13 @@ ENTRY(__pselect6) pushl %esi pushl %edi pushl %ebp + .cfi_def_cfa_offset 24 + .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 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 7dc46d9..d3b8031 100644 --- a/libc/arch-x86/syscalls/__ptrace.S +++ b/libc/arch-x86/syscalls/__ptrace.S @@ -7,6 +7,11 @@ ENTRY(__ptrace) pushl %ecx pushl %edx pushl %esi + .cfi_def_cfa_offset 16 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 + .cfi_rel_offset esi, 12 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 bde2c60..b644906 100644 --- a/libc/arch-x86/syscalls/__reboot.S +++ b/libc/arch-x86/syscalls/__reboot.S @@ -7,6 +7,11 @@ ENTRY(__reboot) pushl %ecx pushl %edx pushl %esi + .cfi_def_cfa_offset 16 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 + .cfi_rel_offset esi, 12 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 47c33be..1c5fdcc 100644 --- a/libc/arch-x86/syscalls/__rt_sigaction.S +++ b/libc/arch-x86/syscalls/__rt_sigaction.S @@ -7,6 +7,11 @@ ENTRY(__rt_sigaction) pushl %ecx pushl %edx pushl %esi + .cfi_def_cfa_offset 16 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 + .cfi_rel_offset esi, 12 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 e4a0981..5522195 100644 --- a/libc/arch-x86/syscalls/__rt_sigpending.S +++ b/libc/arch-x86/syscalls/__rt_sigpending.S @@ -5,6 +5,9 @@ ENTRY(__rt_sigpending) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 0fa1106..0df7301 100644 --- a/libc/arch-x86/syscalls/__rt_sigprocmask.S +++ b/libc/arch-x86/syscalls/__rt_sigprocmask.S @@ -7,6 +7,11 @@ ENTRY(__rt_sigprocmask) pushl %ecx pushl %edx pushl %esi + .cfi_def_cfa_offset 16 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 + .cfi_rel_offset esi, 12 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 aa4eae6..0e7dbdf 100644 --- a/libc/arch-x86/syscalls/__rt_sigsuspend.S +++ b/libc/arch-x86/syscalls/__rt_sigsuspend.S @@ -5,6 +5,9 @@ ENTRY(__rt_sigsuspend) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 a97ef77..cfbc7a6 100644 --- a/libc/arch-x86/syscalls/__rt_sigtimedwait.S +++ b/libc/arch-x86/syscalls/__rt_sigtimedwait.S @@ -7,6 +7,11 @@ ENTRY(__rt_sigtimedwait) pushl %ecx pushl %edx pushl %esi + .cfi_def_cfa_offset 16 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 + .cfi_rel_offset esi, 12 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 c9de997..a9b9f79 100644 --- a/libc/arch-x86/syscalls/__sched_getaffinity.S +++ b/libc/arch-x86/syscalls/__sched_getaffinity.S @@ -6,6 +6,10 @@ ENTRY(__sched_getaffinity) pushl %ebx pushl %ecx pushl %edx + .cfi_def_cfa_offset 12 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 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 0dc0e33..ce06233 100644 --- a/libc/arch-x86/syscalls/__set_thread_area.S +++ b/libc/arch-x86/syscalls/__set_thread_area.S @@ -4,6 +4,8 @@ ENTRY(__set_thread_area) pushl %ebx + .cfi_def_cfa_offset 4 + .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_set_thread_area, %eax int $0x80 diff --git a/libc/arch-x86/syscalls/__set_tid_address.S b/libc/arch-x86/syscalls/__set_tid_address.S index 0c66d47..6a3943d 100644 --- a/libc/arch-x86/syscalls/__set_tid_address.S +++ b/libc/arch-x86/syscalls/__set_tid_address.S @@ -4,6 +4,8 @@ ENTRY(__set_tid_address) pushl %ebx + .cfi_def_cfa_offset 4 + .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_set_tid_address, %eax int $0x80 diff --git a/libc/arch-x86/syscalls/__sigaction.S b/libc/arch-x86/syscalls/__sigaction.S index 45274df..8824a85 100644 --- a/libc/arch-x86/syscalls/__sigaction.S +++ b/libc/arch-x86/syscalls/__sigaction.S @@ -6,6 +6,10 @@ ENTRY(__sigaction) pushl %ebx pushl %ecx pushl %edx + .cfi_def_cfa_offset 12 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/__statfs64.S b/libc/arch-x86/syscalls/__statfs64.S index 1db5f69..7a91f1d 100644 --- a/libc/arch-x86/syscalls/__statfs64.S +++ b/libc/arch-x86/syscalls/__statfs64.S @@ -6,6 +6,10 @@ ENTRY(__statfs64) pushl %ebx pushl %ecx pushl %edx + .cfi_def_cfa_offset 12 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/__syslog.S b/libc/arch-x86/syscalls/__syslog.S index dec69e8..1da01be 100644 --- a/libc/arch-x86/syscalls/__syslog.S +++ b/libc/arch-x86/syscalls/__syslog.S @@ -6,6 +6,10 @@ ENTRY(__syslog) pushl %ebx pushl %ecx pushl %edx + .cfi_def_cfa_offset 12 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 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 6a30721..68480d1 100644 --- a/libc/arch-x86/syscalls/__timer_create.S +++ b/libc/arch-x86/syscalls/__timer_create.S @@ -6,6 +6,10 @@ ENTRY(__timer_create) pushl %ebx pushl %ecx pushl %edx + .cfi_def_cfa_offset 12 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 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 5119cae..a2732e1 100644 --- a/libc/arch-x86/syscalls/__timer_delete.S +++ b/libc/arch-x86/syscalls/__timer_delete.S @@ -4,6 +4,8 @@ ENTRY(__timer_delete) pushl %ebx + .cfi_def_cfa_offset 4 + .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_timer_delete, %eax int $0x80 diff --git a/libc/arch-x86/syscalls/__timer_getoverrun.S b/libc/arch-x86/syscalls/__timer_getoverrun.S index fbe7e42..a340bfe 100644 --- a/libc/arch-x86/syscalls/__timer_getoverrun.S +++ b/libc/arch-x86/syscalls/__timer_getoverrun.S @@ -4,6 +4,8 @@ ENTRY(__timer_getoverrun) pushl %ebx + .cfi_def_cfa_offset 4 + .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_timer_getoverrun, %eax int $0x80 diff --git a/libc/arch-x86/syscalls/__timer_gettime.S b/libc/arch-x86/syscalls/__timer_gettime.S index ec4a5e9..4aeb8eb 100644 --- a/libc/arch-x86/syscalls/__timer_gettime.S +++ b/libc/arch-x86/syscalls/__timer_gettime.S @@ -5,6 +5,9 @@ ENTRY(__timer_gettime) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 abd2754..f93bca4 100644 --- a/libc/arch-x86/syscalls/__timer_settime.S +++ b/libc/arch-x86/syscalls/__timer_settime.S @@ -7,6 +7,11 @@ ENTRY(__timer_settime) pushl %ecx pushl %edx pushl %esi + .cfi_def_cfa_offset 16 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 + .cfi_rel_offset esi, 12 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 c22a9c5..cda5238 100644 --- a/libc/arch-x86/syscalls/__waitid.S +++ b/libc/arch-x86/syscalls/__waitid.S @@ -8,6 +8,12 @@ ENTRY(__waitid) pushl %edx pushl %esi pushl %edi + .cfi_def_cfa_offset 20 + .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 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 04dc16b..2ff5faf 100644 --- a/libc/arch-x86/syscalls/_exit.S +++ b/libc/arch-x86/syscalls/_exit.S @@ -4,6 +4,8 @@ ENTRY(_exit) pushl %ebx + .cfi_def_cfa_offset 4 + .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_exit_group, %eax int $0x80 diff --git a/libc/arch-x86/syscalls/accept.S b/libc/arch-x86/syscalls/accept.S index f2912c8..f7e8a58 100644 --- a/libc/arch-x86/syscalls/accept.S +++ b/libc/arch-x86/syscalls/accept.S @@ -5,6 +5,9 @@ ENTRY(accept) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 mov $5, %ebx mov %esp, %ecx addl $12, %ecx diff --git a/libc/arch-x86/syscalls/acct.S b/libc/arch-x86/syscalls/acct.S index 02416ba..6abaffc 100644 --- a/libc/arch-x86/syscalls/acct.S +++ b/libc/arch-x86/syscalls/acct.S @@ -4,6 +4,8 @@ ENTRY(acct) pushl %ebx + .cfi_def_cfa_offset 4 + .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_acct, %eax int $0x80 diff --git a/libc/arch-x86/syscalls/bind.S b/libc/arch-x86/syscalls/bind.S index 0628ddb..7c2acb5 100644 --- a/libc/arch-x86/syscalls/bind.S +++ b/libc/arch-x86/syscalls/bind.S @@ -5,6 +5,9 @@ ENTRY(bind) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 1c55147..aa7b432 100644 --- a/libc/arch-x86/syscalls/capget.S +++ b/libc/arch-x86/syscalls/capget.S @@ -5,6 +5,9 @@ ENTRY(capget) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 485d2b0..6c31083 100644 --- a/libc/arch-x86/syscalls/capset.S +++ b/libc/arch-x86/syscalls/capset.S @@ -5,6 +5,9 @@ ENTRY(capset) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 b944bf8..a51ac6e 100644 --- a/libc/arch-x86/syscalls/chdir.S +++ b/libc/arch-x86/syscalls/chdir.S @@ -4,6 +4,8 @@ ENTRY(chdir) pushl %ebx + .cfi_def_cfa_offset 4 + .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_chdir, %eax int $0x80 diff --git a/libc/arch-x86/syscalls/chroot.S b/libc/arch-x86/syscalls/chroot.S index 5ea29ae..be8f686 100644 --- a/libc/arch-x86/syscalls/chroot.S +++ b/libc/arch-x86/syscalls/chroot.S @@ -4,6 +4,8 @@ ENTRY(chroot) pushl %ebx + .cfi_def_cfa_offset 4 + .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_chroot, %eax int $0x80 diff --git a/libc/arch-x86/syscalls/clock_getres.S b/libc/arch-x86/syscalls/clock_getres.S index 9af9278..ce7e6f7 100644 --- a/libc/arch-x86/syscalls/clock_getres.S +++ b/libc/arch-x86/syscalls/clock_getres.S @@ -5,6 +5,9 @@ ENTRY(clock_getres) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 0aff332..b1cdb1a 100644 --- a/libc/arch-x86/syscalls/clock_gettime.S +++ b/libc/arch-x86/syscalls/clock_gettime.S @@ -5,6 +5,9 @@ ENTRY(clock_gettime) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 572d4a0..6c025e3 100644 --- a/libc/arch-x86/syscalls/clock_nanosleep.S +++ b/libc/arch-x86/syscalls/clock_nanosleep.S @@ -7,6 +7,11 @@ ENTRY(clock_nanosleep) pushl %ecx pushl %edx pushl %esi + .cfi_def_cfa_offset 16 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 + .cfi_rel_offset esi, 12 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 8aaf9d8..7c863e1 100644 --- a/libc/arch-x86/syscalls/clock_settime.S +++ b/libc/arch-x86/syscalls/clock_settime.S @@ -5,6 +5,9 @@ ENTRY(clock_settime) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 2ceb2e1..3eb3be1 100644 --- a/libc/arch-x86/syscalls/close.S +++ b/libc/arch-x86/syscalls/close.S @@ -4,6 +4,8 @@ ENTRY(close) pushl %ebx + .cfi_def_cfa_offset 4 + .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_close, %eax int $0x80 diff --git a/libc/arch-x86/syscalls/connect.S b/libc/arch-x86/syscalls/connect.S index 37336ee..c0d73ca 100644 --- a/libc/arch-x86/syscalls/connect.S +++ b/libc/arch-x86/syscalls/connect.S @@ -5,6 +5,9 @@ ENTRY(connect) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 mov $3, %ebx mov %esp, %ecx addl $12, %ecx diff --git a/libc/arch-x86/syscalls/delete_module.S b/libc/arch-x86/syscalls/delete_module.S index 197a23a..11ff762 100644 --- a/libc/arch-x86/syscalls/delete_module.S +++ b/libc/arch-x86/syscalls/delete_module.S @@ -5,6 +5,9 @@ ENTRY(delete_module) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 5854471..98070e2 100644 --- a/libc/arch-x86/syscalls/dup.S +++ b/libc/arch-x86/syscalls/dup.S @@ -4,6 +4,8 @@ ENTRY(dup) pushl %ebx + .cfi_def_cfa_offset 4 + .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_dup, %eax int $0x80 diff --git a/libc/arch-x86/syscalls/dup3.S b/libc/arch-x86/syscalls/dup3.S index bb7c92f..4380e6a 100644 --- a/libc/arch-x86/syscalls/dup3.S +++ b/libc/arch-x86/syscalls/dup3.S @@ -6,6 +6,10 @@ ENTRY(dup3) pushl %ebx pushl %ecx pushl %edx + .cfi_def_cfa_offset 12 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 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 e2e1e41..ca5d4d1 100644 --- a/libc/arch-x86/syscalls/epoll_create1.S +++ b/libc/arch-x86/syscalls/epoll_create1.S @@ -4,6 +4,8 @@ ENTRY(epoll_create1) pushl %ebx + .cfi_def_cfa_offset 4 + .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_epoll_create1, %eax int $0x80 diff --git a/libc/arch-x86/syscalls/epoll_ctl.S b/libc/arch-x86/syscalls/epoll_ctl.S index c71119d..df345cd 100644 --- a/libc/arch-x86/syscalls/epoll_ctl.S +++ b/libc/arch-x86/syscalls/epoll_ctl.S @@ -7,6 +7,11 @@ ENTRY(epoll_ctl) pushl %ecx pushl %edx pushl %esi + .cfi_def_cfa_offset 16 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 + .cfi_rel_offset esi, 12 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 376a4f6..333bca4 100644 --- a/libc/arch-x86/syscalls/eventfd.S +++ b/libc/arch-x86/syscalls/eventfd.S @@ -5,6 +5,9 @@ ENTRY(eventfd) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 8e6c432..95523bc 100644 --- a/libc/arch-x86/syscalls/execve.S +++ b/libc/arch-x86/syscalls/execve.S @@ -6,6 +6,10 @@ ENTRY(execve) pushl %ebx pushl %ecx pushl %edx + .cfi_def_cfa_offset 12 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 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 be95a0e..0ad6224 100644 --- a/libc/arch-x86/syscalls/faccessat.S +++ b/libc/arch-x86/syscalls/faccessat.S @@ -7,6 +7,11 @@ ENTRY(faccessat) pushl %ecx pushl %edx pushl %esi + .cfi_def_cfa_offset 16 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 + .cfi_rel_offset esi, 12 mov 20(%esp), %ebx mov 24(%esp), %ecx mov 28(%esp), %edx diff --git a/libc/arch-x86/syscalls/fchdir.S b/libc/arch-x86/syscalls/fchdir.S index a798322..4298c2a 100644 --- a/libc/arch-x86/syscalls/fchdir.S +++ b/libc/arch-x86/syscalls/fchdir.S @@ -4,6 +4,8 @@ ENTRY(fchdir) pushl %ebx + .cfi_def_cfa_offset 4 + .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_fchdir, %eax int $0x80 diff --git a/libc/arch-x86/syscalls/fchmod.S b/libc/arch-x86/syscalls/fchmod.S index 3dcf5dc..d4ef36f 100644 --- a/libc/arch-x86/syscalls/fchmod.S +++ b/libc/arch-x86/syscalls/fchmod.S @@ -5,6 +5,9 @@ ENTRY(fchmod) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 254fcb8..4fb6995 100644 --- a/libc/arch-x86/syscalls/fchmodat.S +++ b/libc/arch-x86/syscalls/fchmodat.S @@ -7,6 +7,11 @@ ENTRY(fchmodat) pushl %ecx pushl %edx pushl %esi + .cfi_def_cfa_offset 16 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 + .cfi_rel_offset esi, 12 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 76298c4..326fe16 100644 --- a/libc/arch-x86/syscalls/fchown.S +++ b/libc/arch-x86/syscalls/fchown.S @@ -6,6 +6,10 @@ ENTRY(fchown) pushl %ebx pushl %ecx pushl %edx + .cfi_def_cfa_offset 12 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 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 fb295c4..802dc44 100644 --- a/libc/arch-x86/syscalls/fchownat.S +++ b/libc/arch-x86/syscalls/fchownat.S @@ -8,6 +8,12 @@ ENTRY(fchownat) pushl %edx pushl %esi pushl %edi + .cfi_def_cfa_offset 20 + .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 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 9ddf03b..02e09be 100644 --- a/libc/arch-x86/syscalls/fdatasync.S +++ b/libc/arch-x86/syscalls/fdatasync.S @@ -4,6 +4,8 @@ ENTRY(fdatasync) pushl %ebx + .cfi_def_cfa_offset 4 + .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_fdatasync, %eax int $0x80 diff --git a/libc/arch-x86/syscalls/fgetxattr.S b/libc/arch-x86/syscalls/fgetxattr.S index 2250c93..99a920d 100644 --- a/libc/arch-x86/syscalls/fgetxattr.S +++ b/libc/arch-x86/syscalls/fgetxattr.S @@ -7,6 +7,11 @@ ENTRY(fgetxattr) pushl %ecx pushl %edx pushl %esi + .cfi_def_cfa_offset 16 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 + .cfi_rel_offset esi, 12 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 1ebd9bd..a1691fc 100644 --- a/libc/arch-x86/syscalls/flistxattr.S +++ b/libc/arch-x86/syscalls/flistxattr.S @@ -6,6 +6,10 @@ ENTRY(flistxattr) pushl %ebx pushl %ecx pushl %edx + .cfi_def_cfa_offset 12 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 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 c19edc7..a4388e9 100644 --- a/libc/arch-x86/syscalls/flock.S +++ b/libc/arch-x86/syscalls/flock.S @@ -5,6 +5,9 @@ ENTRY(flock) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 52b1288..6377974 100644 --- a/libc/arch-x86/syscalls/fremovexattr.S +++ b/libc/arch-x86/syscalls/fremovexattr.S @@ -5,6 +5,9 @@ ENTRY(fremovexattr) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 f0e75e2..2f926a5 100644 --- a/libc/arch-x86/syscalls/fsetxattr.S +++ b/libc/arch-x86/syscalls/fsetxattr.S @@ -8,6 +8,12 @@ ENTRY(fsetxattr) pushl %edx pushl %esi pushl %edi + .cfi_def_cfa_offset 20 + .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 mov 24(%esp), %ebx mov 28(%esp), %ecx mov 32(%esp), %edx diff --git a/libc/arch-x86/syscalls/fstat.S b/libc/arch-x86/syscalls/fstat.S index b37fc3f..daa4d7f 100644 --- a/libc/arch-x86/syscalls/fstat.S +++ b/libc/arch-x86/syscalls/fstat.S @@ -5,6 +5,9 @@ ENTRY(fstat) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_fstat64, %eax diff --git a/libc/arch-x86/syscalls/fstatat.S b/libc/arch-x86/syscalls/fstatat.S index ec517c5..7be868c 100644 --- a/libc/arch-x86/syscalls/fstatat.S +++ b/libc/arch-x86/syscalls/fstatat.S @@ -7,6 +7,11 @@ ENTRY(fstatat) pushl %ecx pushl %edx pushl %esi + .cfi_def_cfa_offset 16 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 + .cfi_rel_offset esi, 12 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 4f589f4..71183cb 100644 --- a/libc/arch-x86/syscalls/fsync.S +++ b/libc/arch-x86/syscalls/fsync.S @@ -4,6 +4,8 @@ ENTRY(fsync) pushl %ebx + .cfi_def_cfa_offset 4 + .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_fsync, %eax int $0x80 diff --git a/libc/arch-x86/syscalls/ftruncate.S b/libc/arch-x86/syscalls/ftruncate.S index e64ead4..1003077 100644 --- a/libc/arch-x86/syscalls/ftruncate.S +++ b/libc/arch-x86/syscalls/ftruncate.S @@ -5,6 +5,9 @@ ENTRY(ftruncate) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 9d34c4f..586086d 100644 --- a/libc/arch-x86/syscalls/ftruncate64.S +++ b/libc/arch-x86/syscalls/ftruncate64.S @@ -6,6 +6,10 @@ ENTRY(ftruncate64) pushl %ebx pushl %ecx pushl %edx + .cfi_def_cfa_offset 12 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 mov 16(%esp), %ebx mov 20(%esp), %ecx mov 24(%esp), %edx diff --git a/libc/arch-x86/syscalls/futex.S b/libc/arch-x86/syscalls/futex.S index 7328785..7a52913 100644 --- a/libc/arch-x86/syscalls/futex.S +++ b/libc/arch-x86/syscalls/futex.S @@ -9,6 +9,13 @@ ENTRY(futex) pushl %esi pushl %edi pushl %ebp + .cfi_def_cfa_offset 24 + .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 mov 28(%esp), %ebx mov 32(%esp), %ecx mov 36(%esp), %edx diff --git a/libc/arch-x86/syscalls/getdents.S b/libc/arch-x86/syscalls/getdents.S index 1d681ee..9823feb 100644 --- a/libc/arch-x86/syscalls/getdents.S +++ b/libc/arch-x86/syscalls/getdents.S @@ -6,6 +6,10 @@ ENTRY(getdents) pushl %ebx pushl %ecx pushl %edx + .cfi_def_cfa_offset 12 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 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 7c563fd..e4247e7 100644 --- a/libc/arch-x86/syscalls/getgroups.S +++ b/libc/arch-x86/syscalls/getgroups.S @@ -5,6 +5,9 @@ ENTRY(getgroups) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 491cc8d..2deebc9 100644 --- a/libc/arch-x86/syscalls/getitimer.S +++ b/libc/arch-x86/syscalls/getitimer.S @@ -5,6 +5,9 @@ ENTRY(getitimer) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 4328320..e894093 100644 --- a/libc/arch-x86/syscalls/getpeername.S +++ b/libc/arch-x86/syscalls/getpeername.S @@ -5,6 +5,9 @@ ENTRY(getpeername) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 ff69cbc..c50a09f 100644 --- a/libc/arch-x86/syscalls/getpgid.S +++ b/libc/arch-x86/syscalls/getpgid.S @@ -4,6 +4,8 @@ ENTRY(getpgid) pushl %ebx + .cfi_def_cfa_offset 4 + .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_getpgid, %eax int $0x80 diff --git a/libc/arch-x86/syscalls/getresgid.S b/libc/arch-x86/syscalls/getresgid.S index 3bfa9b9..ad74e56 100644 --- a/libc/arch-x86/syscalls/getresgid.S +++ b/libc/arch-x86/syscalls/getresgid.S @@ -6,6 +6,10 @@ ENTRY(getresgid) pushl %ebx pushl %ecx pushl %edx + .cfi_def_cfa_offset 12 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 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 c296ba8..6cf60b3 100644 --- a/libc/arch-x86/syscalls/getresuid.S +++ b/libc/arch-x86/syscalls/getresuid.S @@ -6,6 +6,10 @@ ENTRY(getresuid) pushl %ebx pushl %ecx pushl %edx + .cfi_def_cfa_offset 12 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 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 1bf19d0..5e75b6b 100644 --- a/libc/arch-x86/syscalls/getrlimit.S +++ b/libc/arch-x86/syscalls/getrlimit.S @@ -5,6 +5,9 @@ ENTRY(getrlimit) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 b86d48d..2dfd005 100644 --- a/libc/arch-x86/syscalls/getrusage.S +++ b/libc/arch-x86/syscalls/getrusage.S @@ -5,6 +5,9 @@ ENTRY(getrusage) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 3e3997c..1f60309 100644 --- a/libc/arch-x86/syscalls/getsid.S +++ b/libc/arch-x86/syscalls/getsid.S @@ -4,6 +4,8 @@ ENTRY(getsid) pushl %ebx + .cfi_def_cfa_offset 4 + .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_getsid, %eax int $0x80 diff --git a/libc/arch-x86/syscalls/getsockname.S b/libc/arch-x86/syscalls/getsockname.S index bd4fa1b..5c22bdf 100644 --- a/libc/arch-x86/syscalls/getsockname.S +++ b/libc/arch-x86/syscalls/getsockname.S @@ -5,6 +5,9 @@ ENTRY(getsockname) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 4f2c19a..9c02d23 100644 --- a/libc/arch-x86/syscalls/getsockopt.S +++ b/libc/arch-x86/syscalls/getsockopt.S @@ -5,6 +5,9 @@ ENTRY(getsockopt) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 f711b16..10c5de9 100644 --- a/libc/arch-x86/syscalls/gettimeofday.S +++ b/libc/arch-x86/syscalls/gettimeofday.S @@ -5,6 +5,9 @@ ENTRY(gettimeofday) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 93a1c41..f491a0c 100644 --- a/libc/arch-x86/syscalls/getxattr.S +++ b/libc/arch-x86/syscalls/getxattr.S @@ -7,6 +7,11 @@ ENTRY(getxattr) pushl %ecx pushl %edx pushl %esi + .cfi_def_cfa_offset 16 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 + .cfi_rel_offset esi, 12 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 4ed64f5..1a159d3 100644 --- a/libc/arch-x86/syscalls/init_module.S +++ b/libc/arch-x86/syscalls/init_module.S @@ -6,6 +6,10 @@ ENTRY(init_module) pushl %ebx pushl %ecx pushl %edx + .cfi_def_cfa_offset 12 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 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 9222e62..424698d 100644 --- a/libc/arch-x86/syscalls/inotify_add_watch.S +++ b/libc/arch-x86/syscalls/inotify_add_watch.S @@ -6,6 +6,10 @@ ENTRY(inotify_add_watch) pushl %ebx pushl %ecx pushl %edx + .cfi_def_cfa_offset 12 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 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 11496a5..1b437c6 100644 --- a/libc/arch-x86/syscalls/inotify_init1.S +++ b/libc/arch-x86/syscalls/inotify_init1.S @@ -4,6 +4,8 @@ ENTRY(inotify_init1) pushl %ebx + .cfi_def_cfa_offset 4 + .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_inotify_init1, %eax int $0x80 diff --git a/libc/arch-x86/syscalls/inotify_rm_watch.S b/libc/arch-x86/syscalls/inotify_rm_watch.S index 83f5ccd..18ec3ca 100644 --- a/libc/arch-x86/syscalls/inotify_rm_watch.S +++ b/libc/arch-x86/syscalls/inotify_rm_watch.S @@ -5,6 +5,9 @@ ENTRY(inotify_rm_watch) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 46bf8b5..6dfc767 100644 --- a/libc/arch-x86/syscalls/ioprio_get.S +++ b/libc/arch-x86/syscalls/ioprio_get.S @@ -5,6 +5,9 @@ ENTRY(ioprio_get) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 ba292eb..bcefacb 100644 --- a/libc/arch-x86/syscalls/ioprio_set.S +++ b/libc/arch-x86/syscalls/ioprio_set.S @@ -6,6 +6,10 @@ ENTRY(ioprio_set) pushl %ebx pushl %ecx pushl %edx + .cfi_def_cfa_offset 12 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 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 250e991..499158b 100644 --- a/libc/arch-x86/syscalls/kill.S +++ b/libc/arch-x86/syscalls/kill.S @@ -5,6 +5,9 @@ ENTRY(kill) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 22a4b3a..f422ac8 100644 --- a/libc/arch-x86/syscalls/klogctl.S +++ b/libc/arch-x86/syscalls/klogctl.S @@ -6,6 +6,10 @@ ENTRY(klogctl) pushl %ebx pushl %ecx pushl %edx + .cfi_def_cfa_offset 12 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 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 1100a01..def7c66 100644 --- a/libc/arch-x86/syscalls/lgetxattr.S +++ b/libc/arch-x86/syscalls/lgetxattr.S @@ -7,6 +7,11 @@ ENTRY(lgetxattr) pushl %ecx pushl %edx pushl %esi + .cfi_def_cfa_offset 16 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 + .cfi_rel_offset esi, 12 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 6aae8f5..ffb1b5d 100644 --- a/libc/arch-x86/syscalls/linkat.S +++ b/libc/arch-x86/syscalls/linkat.S @@ -8,6 +8,12 @@ ENTRY(linkat) pushl %edx pushl %esi pushl %edi + .cfi_def_cfa_offset 20 + .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 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 7fe8a5a..7e4d2f3 100644 --- a/libc/arch-x86/syscalls/listen.S +++ b/libc/arch-x86/syscalls/listen.S @@ -5,6 +5,9 @@ ENTRY(listen) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 a1c3888..5b94a72 100644 --- a/libc/arch-x86/syscalls/listxattr.S +++ b/libc/arch-x86/syscalls/listxattr.S @@ -6,6 +6,10 @@ ENTRY(listxattr) pushl %ebx pushl %ecx pushl %edx + .cfi_def_cfa_offset 12 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 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 66b25cd..1c64591 100644 --- a/libc/arch-x86/syscalls/llistxattr.S +++ b/libc/arch-x86/syscalls/llistxattr.S @@ -6,6 +6,10 @@ ENTRY(llistxattr) pushl %ebx pushl %ecx pushl %edx + .cfi_def_cfa_offset 12 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 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 2d5009f..d67b221 100644 --- a/libc/arch-x86/syscalls/lremovexattr.S +++ b/libc/arch-x86/syscalls/lremovexattr.S @@ -5,6 +5,9 @@ ENTRY(lremovexattr) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 1ed5310..5a58b81 100644 --- a/libc/arch-x86/syscalls/lseek.S +++ b/libc/arch-x86/syscalls/lseek.S @@ -6,6 +6,10 @@ ENTRY(lseek) pushl %ebx pushl %ecx pushl %edx + .cfi_def_cfa_offset 12 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 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 adaffcb..f2dba39 100644 --- a/libc/arch-x86/syscalls/lsetxattr.S +++ b/libc/arch-x86/syscalls/lsetxattr.S @@ -8,6 +8,12 @@ ENTRY(lsetxattr) pushl %edx pushl %esi pushl %edi + .cfi_def_cfa_offset 20 + .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 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 52d62a7..edd37b5 100644 --- a/libc/arch-x86/syscalls/madvise.S +++ b/libc/arch-x86/syscalls/madvise.S @@ -6,6 +6,10 @@ ENTRY(madvise) pushl %ebx pushl %ecx pushl %edx + .cfi_def_cfa_offset 12 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 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 9e0bbef..44ea364 100644 --- a/libc/arch-x86/syscalls/mincore.S +++ b/libc/arch-x86/syscalls/mincore.S @@ -6,6 +6,10 @@ ENTRY(mincore) pushl %ebx pushl %ecx pushl %edx + .cfi_def_cfa_offset 12 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 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 602208e..d80e3fb 100644 --- a/libc/arch-x86/syscalls/mkdirat.S +++ b/libc/arch-x86/syscalls/mkdirat.S @@ -6,6 +6,10 @@ ENTRY(mkdirat) pushl %ebx pushl %ecx pushl %edx + .cfi_def_cfa_offset 12 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 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 643d310..20560df 100644 --- a/libc/arch-x86/syscalls/mknodat.S +++ b/libc/arch-x86/syscalls/mknodat.S @@ -7,6 +7,11 @@ ENTRY(mknodat) pushl %ecx pushl %edx pushl %esi + .cfi_def_cfa_offset 16 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 + .cfi_rel_offset esi, 12 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 4a663ee..78cfa58 100644 --- a/libc/arch-x86/syscalls/mlock.S +++ b/libc/arch-x86/syscalls/mlock.S @@ -5,6 +5,9 @@ ENTRY(mlock) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 ac3d606..4e78fef 100644 --- a/libc/arch-x86/syscalls/mlockall.S +++ b/libc/arch-x86/syscalls/mlockall.S @@ -4,6 +4,8 @@ ENTRY(mlockall) pushl %ebx + .cfi_def_cfa_offset 4 + .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_mlockall, %eax int $0x80 diff --git a/libc/arch-x86/syscalls/mount.S b/libc/arch-x86/syscalls/mount.S index a7b4c12..cc1a518 100644 --- a/libc/arch-x86/syscalls/mount.S +++ b/libc/arch-x86/syscalls/mount.S @@ -8,6 +8,12 @@ ENTRY(mount) pushl %edx pushl %esi pushl %edi + .cfi_def_cfa_offset 20 + .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 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 75340ba..9c30af4 100644 --- a/libc/arch-x86/syscalls/mprotect.S +++ b/libc/arch-x86/syscalls/mprotect.S @@ -6,6 +6,10 @@ ENTRY(mprotect) pushl %ebx pushl %ecx pushl %edx + .cfi_def_cfa_offset 12 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 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 3e77ebe..1439ef5 100644 --- a/libc/arch-x86/syscalls/mremap.S +++ b/libc/arch-x86/syscalls/mremap.S @@ -7,6 +7,11 @@ ENTRY(mremap) pushl %ecx pushl %edx pushl %esi + .cfi_def_cfa_offset 16 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 + .cfi_rel_offset esi, 12 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 8a7c68d..d330967 100644 --- a/libc/arch-x86/syscalls/msync.S +++ b/libc/arch-x86/syscalls/msync.S @@ -6,6 +6,10 @@ ENTRY(msync) pushl %ebx pushl %ecx pushl %edx + .cfi_def_cfa_offset 12 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 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 868d00b..ce6197d 100644 --- a/libc/arch-x86/syscalls/munlock.S +++ b/libc/arch-x86/syscalls/munlock.S @@ -5,6 +5,9 @@ ENTRY(munlock) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 b0b524d..be7eec6 100644 --- a/libc/arch-x86/syscalls/munmap.S +++ b/libc/arch-x86/syscalls/munmap.S @@ -5,6 +5,9 @@ ENTRY(munmap) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 632baf5..9faa06b 100644 --- a/libc/arch-x86/syscalls/nanosleep.S +++ b/libc/arch-x86/syscalls/nanosleep.S @@ -5,6 +5,9 @@ ENTRY(nanosleep) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_nanosleep, %eax diff --git a/libc/arch-x86/syscalls/perf_event_open.S b/libc/arch-x86/syscalls/perf_event_open.S index 931282a..ebbe1f0 100644 --- a/libc/arch-x86/syscalls/perf_event_open.S +++ b/libc/arch-x86/syscalls/perf_event_open.S @@ -8,6 +8,12 @@ ENTRY(perf_event_open) pushl %edx pushl %esi pushl %edi + .cfi_def_cfa_offset 20 + .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 mov 24(%esp), %ebx mov 28(%esp), %ecx mov 32(%esp), %edx diff --git a/libc/arch-x86/syscalls/personality.S b/libc/arch-x86/syscalls/personality.S index 1d89a7c..8116e2d 100644 --- a/libc/arch-x86/syscalls/personality.S +++ b/libc/arch-x86/syscalls/personality.S @@ -4,6 +4,8 @@ ENTRY(personality) pushl %ebx + .cfi_def_cfa_offset 4 + .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_personality, %eax int $0x80 diff --git a/libc/arch-x86/syscalls/pipe2.S b/libc/arch-x86/syscalls/pipe2.S index 66c4bf1..c2e11a2 100644 --- a/libc/arch-x86/syscalls/pipe2.S +++ b/libc/arch-x86/syscalls/pipe2.S @@ -5,6 +5,9 @@ ENTRY(pipe2) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 cd09df7..1a5daca 100644 --- a/libc/arch-x86/syscalls/prctl.S +++ b/libc/arch-x86/syscalls/prctl.S @@ -8,6 +8,12 @@ ENTRY(prctl) pushl %edx pushl %esi pushl %edi + .cfi_def_cfa_offset 20 + .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 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 0a6ae2d..32a76c5 100644 --- a/libc/arch-x86/syscalls/pread64.S +++ b/libc/arch-x86/syscalls/pread64.S @@ -8,6 +8,12 @@ ENTRY(pread64) pushl %edx pushl %esi pushl %edi + .cfi_def_cfa_offset 20 + .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 mov 24(%esp), %ebx mov 28(%esp), %ecx mov 32(%esp), %edx diff --git a/libc/arch-x86/syscalls/pwrite64.S b/libc/arch-x86/syscalls/pwrite64.S index 7ad8ccf..b003435 100644 --- a/libc/arch-x86/syscalls/pwrite64.S +++ b/libc/arch-x86/syscalls/pwrite64.S @@ -8,6 +8,12 @@ ENTRY(pwrite64) pushl %edx pushl %esi pushl %edi + .cfi_def_cfa_offset 20 + .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 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 a02435e..ad1c19a 100644 --- a/libc/arch-x86/syscalls/read.S +++ b/libc/arch-x86/syscalls/read.S @@ -6,6 +6,10 @@ ENTRY(read) pushl %ebx pushl %ecx pushl %edx + .cfi_def_cfa_offset 12 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 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 02d32ba..a4d634f 100644 --- a/libc/arch-x86/syscalls/readahead.S +++ b/libc/arch-x86/syscalls/readahead.S @@ -7,6 +7,11 @@ ENTRY(readahead) pushl %ecx pushl %edx pushl %esi + .cfi_def_cfa_offset 16 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 + .cfi_rel_offset esi, 12 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 8548deb..37df8d8 100644 --- a/libc/arch-x86/syscalls/readlinkat.S +++ b/libc/arch-x86/syscalls/readlinkat.S @@ -7,6 +7,11 @@ ENTRY(readlinkat) pushl %ecx pushl %edx pushl %esi + .cfi_def_cfa_offset 16 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 + .cfi_rel_offset esi, 12 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 ebd9caf..05445c0 100644 --- a/libc/arch-x86/syscalls/readv.S +++ b/libc/arch-x86/syscalls/readv.S @@ -6,6 +6,10 @@ ENTRY(readv) pushl %ebx pushl %ecx pushl %edx + .cfi_def_cfa_offset 12 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 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 c266e93..df489c8 100644 --- a/libc/arch-x86/syscalls/recvfrom.S +++ b/libc/arch-x86/syscalls/recvfrom.S @@ -5,6 +5,9 @@ ENTRY(recvfrom) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 mov $12, %ebx mov %esp, %ecx addl $12, %ecx diff --git a/libc/arch-x86/syscalls/recvmsg.S b/libc/arch-x86/syscalls/recvmsg.S index df29059..a587b00 100644 --- a/libc/arch-x86/syscalls/recvmsg.S +++ b/libc/arch-x86/syscalls/recvmsg.S @@ -5,6 +5,9 @@ ENTRY(recvmsg) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 1a974be..99192f0 100644 --- a/libc/arch-x86/syscalls/removexattr.S +++ b/libc/arch-x86/syscalls/removexattr.S @@ -5,6 +5,9 @@ ENTRY(removexattr) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 8d2a0ed..831b24c 100644 --- a/libc/arch-x86/syscalls/renameat.S +++ b/libc/arch-x86/syscalls/renameat.S @@ -7,6 +7,11 @@ ENTRY(renameat) pushl %ecx pushl %edx pushl %esi + .cfi_def_cfa_offset 16 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 + .cfi_rel_offset esi, 12 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 089b576..0b7c269 100644 --- a/libc/arch-x86/syscalls/sched_get_priority_max.S +++ b/libc/arch-x86/syscalls/sched_get_priority_max.S @@ -4,6 +4,8 @@ ENTRY(sched_get_priority_max) pushl %ebx + .cfi_def_cfa_offset 4 + .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_sched_get_priority_max, %eax int $0x80 diff --git a/libc/arch-x86/syscalls/sched_get_priority_min.S b/libc/arch-x86/syscalls/sched_get_priority_min.S index 9e52f30..ce28f8c 100644 --- a/libc/arch-x86/syscalls/sched_get_priority_min.S +++ b/libc/arch-x86/syscalls/sched_get_priority_min.S @@ -4,6 +4,8 @@ ENTRY(sched_get_priority_min) pushl %ebx + .cfi_def_cfa_offset 4 + .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_sched_get_priority_min, %eax int $0x80 diff --git a/libc/arch-x86/syscalls/sched_getparam.S b/libc/arch-x86/syscalls/sched_getparam.S index 2221eca..2c3b7b9 100644 --- a/libc/arch-x86/syscalls/sched_getparam.S +++ b/libc/arch-x86/syscalls/sched_getparam.S @@ -5,6 +5,9 @@ ENTRY(sched_getparam) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 167a5d5..6a3842a 100644 --- a/libc/arch-x86/syscalls/sched_getscheduler.S +++ b/libc/arch-x86/syscalls/sched_getscheduler.S @@ -4,6 +4,8 @@ ENTRY(sched_getscheduler) pushl %ebx + .cfi_def_cfa_offset 4 + .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_sched_getscheduler, %eax int $0x80 diff --git a/libc/arch-x86/syscalls/sched_rr_get_interval.S b/libc/arch-x86/syscalls/sched_rr_get_interval.S index ee2ef0e..c1055da 100644 --- a/libc/arch-x86/syscalls/sched_rr_get_interval.S +++ b/libc/arch-x86/syscalls/sched_rr_get_interval.S @@ -5,6 +5,9 @@ ENTRY(sched_rr_get_interval) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 5ef78ee..bd3d0ab 100644 --- a/libc/arch-x86/syscalls/sched_setaffinity.S +++ b/libc/arch-x86/syscalls/sched_setaffinity.S @@ -6,6 +6,10 @@ ENTRY(sched_setaffinity) pushl %ebx pushl %ecx pushl %edx + .cfi_def_cfa_offset 12 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 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 d993759..2329268 100644 --- a/libc/arch-x86/syscalls/sched_setparam.S +++ b/libc/arch-x86/syscalls/sched_setparam.S @@ -5,6 +5,9 @@ ENTRY(sched_setparam) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 aa73874..a3ce8ab 100644 --- a/libc/arch-x86/syscalls/sched_setscheduler.S +++ b/libc/arch-x86/syscalls/sched_setscheduler.S @@ -6,6 +6,10 @@ ENTRY(sched_setscheduler) pushl %ebx pushl %ecx pushl %edx + .cfi_def_cfa_offset 12 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 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 41642f1..fb563c4 100644 --- a/libc/arch-x86/syscalls/sched_yield.S +++ b/libc/arch-x86/syscalls/sched_yield.S @@ -4,6 +4,8 @@ ENTRY(sched_yield) pushl %ebx + .cfi_def_cfa_offset 4 + .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_sched_yield, %eax int $0x80 diff --git a/libc/arch-x86/syscalls/sendfile.S b/libc/arch-x86/syscalls/sendfile.S index 9bebc99..280a4ae 100644 --- a/libc/arch-x86/syscalls/sendfile.S +++ b/libc/arch-x86/syscalls/sendfile.S @@ -7,6 +7,11 @@ ENTRY(sendfile) pushl %ecx pushl %edx pushl %esi + .cfi_def_cfa_offset 16 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 + .cfi_rel_offset esi, 12 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 7032e8a..383c8c6 100644 --- a/libc/arch-x86/syscalls/sendfile64.S +++ b/libc/arch-x86/syscalls/sendfile64.S @@ -7,6 +7,11 @@ ENTRY(sendfile64) pushl %ecx pushl %edx pushl %esi + .cfi_def_cfa_offset 16 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 + .cfi_rel_offset esi, 12 mov 20(%esp), %ebx mov 24(%esp), %ecx mov 28(%esp), %edx diff --git a/libc/arch-x86/syscalls/sendmsg.S b/libc/arch-x86/syscalls/sendmsg.S index 410731f..70bad29 100644 --- a/libc/arch-x86/syscalls/sendmsg.S +++ b/libc/arch-x86/syscalls/sendmsg.S @@ -5,6 +5,9 @@ ENTRY(sendmsg) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 c63bf08..dbe520d 100644 --- a/libc/arch-x86/syscalls/sendto.S +++ b/libc/arch-x86/syscalls/sendto.S @@ -5,6 +5,9 @@ ENTRY(sendto) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 a15eab1..69ac15b 100644 --- a/libc/arch-x86/syscalls/setgid.S +++ b/libc/arch-x86/syscalls/setgid.S @@ -4,6 +4,8 @@ ENTRY(setgid) pushl %ebx + .cfi_def_cfa_offset 4 + .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_setgid32, %eax int $0x80 diff --git a/libc/arch-x86/syscalls/setgroups.S b/libc/arch-x86/syscalls/setgroups.S index 9c2879a..f704c46 100644 --- a/libc/arch-x86/syscalls/setgroups.S +++ b/libc/arch-x86/syscalls/setgroups.S @@ -5,6 +5,9 @@ ENTRY(setgroups) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 0a2328d..1573816 100644 --- a/libc/arch-x86/syscalls/setitimer.S +++ b/libc/arch-x86/syscalls/setitimer.S @@ -6,6 +6,10 @@ ENTRY(setitimer) pushl %ebx pushl %ecx pushl %edx + .cfi_def_cfa_offset 12 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 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 6bdb98c..2c39a21 100644 --- a/libc/arch-x86/syscalls/setns.S +++ b/libc/arch-x86/syscalls/setns.S @@ -5,6 +5,9 @@ ENTRY(setns) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 8923239..ae69633 100644 --- a/libc/arch-x86/syscalls/setpgid.S +++ b/libc/arch-x86/syscalls/setpgid.S @@ -5,6 +5,9 @@ ENTRY(setpgid) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 6a887f6..b58cd13 100644 --- a/libc/arch-x86/syscalls/setpriority.S +++ b/libc/arch-x86/syscalls/setpriority.S @@ -6,6 +6,10 @@ ENTRY(setpriority) pushl %ebx pushl %ecx pushl %edx + .cfi_def_cfa_offset 12 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 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 8748c10..561a658 100644 --- a/libc/arch-x86/syscalls/setregid.S +++ b/libc/arch-x86/syscalls/setregid.S @@ -5,6 +5,9 @@ ENTRY(setregid) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 22eb02d..a210975 100644 --- a/libc/arch-x86/syscalls/setresgid.S +++ b/libc/arch-x86/syscalls/setresgid.S @@ -6,6 +6,10 @@ ENTRY(setresgid) pushl %ebx pushl %ecx pushl %edx + .cfi_def_cfa_offset 12 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 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 3a66ea6..920e68b 100644 --- a/libc/arch-x86/syscalls/setresuid.S +++ b/libc/arch-x86/syscalls/setresuid.S @@ -6,6 +6,10 @@ ENTRY(setresuid) pushl %ebx pushl %ecx pushl %edx + .cfi_def_cfa_offset 12 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 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 16dd64e..7f911ad 100644 --- a/libc/arch-x86/syscalls/setreuid.S +++ b/libc/arch-x86/syscalls/setreuid.S @@ -5,6 +5,9 @@ ENTRY(setreuid) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 cc69245..e103ecf 100644 --- a/libc/arch-x86/syscalls/setrlimit.S +++ b/libc/arch-x86/syscalls/setrlimit.S @@ -5,6 +5,9 @@ ENTRY(setrlimit) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 e927c23..f56f812 100644 --- a/libc/arch-x86/syscalls/setsockopt.S +++ b/libc/arch-x86/syscalls/setsockopt.S @@ -5,6 +5,9 @@ ENTRY(setsockopt) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 6c3b00b..1ae4d58 100644 --- a/libc/arch-x86/syscalls/settimeofday.S +++ b/libc/arch-x86/syscalls/settimeofday.S @@ -5,6 +5,9 @@ ENTRY(settimeofday) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 e7db8da..6549fd4 100644 --- a/libc/arch-x86/syscalls/setuid.S +++ b/libc/arch-x86/syscalls/setuid.S @@ -4,6 +4,8 @@ ENTRY(setuid) pushl %ebx + .cfi_def_cfa_offset 4 + .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_setuid32, %eax int $0x80 diff --git a/libc/arch-x86/syscalls/setxattr.S b/libc/arch-x86/syscalls/setxattr.S index 98cafb4..fae04df 100644 --- a/libc/arch-x86/syscalls/setxattr.S +++ b/libc/arch-x86/syscalls/setxattr.S @@ -8,6 +8,12 @@ ENTRY(setxattr) pushl %edx pushl %esi pushl %edi + .cfi_def_cfa_offset 20 + .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 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 d1ea589..13e8fd9 100644 --- a/libc/arch-x86/syscalls/shutdown.S +++ b/libc/arch-x86/syscalls/shutdown.S @@ -5,6 +5,9 @@ ENTRY(shutdown) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 58a2997..71fdb12 100644 --- a/libc/arch-x86/syscalls/sigaltstack.S +++ b/libc/arch-x86/syscalls/sigaltstack.S @@ -5,6 +5,9 @@ ENTRY(sigaltstack) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_sigaltstack, %eax diff --git a/libc/arch-x86/syscalls/signalfd4.S b/libc/arch-x86/syscalls/signalfd4.S index 6e0c20b..1fe6c68 100644 --- a/libc/arch-x86/syscalls/signalfd4.S +++ b/libc/arch-x86/syscalls/signalfd4.S @@ -7,6 +7,11 @@ ENTRY(signalfd4) pushl %ecx pushl %edx pushl %esi + .cfi_def_cfa_offset 16 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 + .cfi_rel_offset esi, 12 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 1bc6bd7..282681e 100644 --- a/libc/arch-x86/syscalls/socket.S +++ b/libc/arch-x86/syscalls/socket.S @@ -5,6 +5,9 @@ ENTRY(socket) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 mov $1, %ebx mov %esp, %ecx addl $12, %ecx diff --git a/libc/arch-x86/syscalls/socketpair.S b/libc/arch-x86/syscalls/socketpair.S index e2a98d3..3681c4f 100644 --- a/libc/arch-x86/syscalls/socketpair.S +++ b/libc/arch-x86/syscalls/socketpair.S @@ -5,6 +5,9 @@ ENTRY(socketpair) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 1d08319..31f8be1 100644 --- a/libc/arch-x86/syscalls/swapoff.S +++ b/libc/arch-x86/syscalls/swapoff.S @@ -4,6 +4,8 @@ ENTRY(swapoff) pushl %ebx + .cfi_def_cfa_offset 4 + .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_swapoff, %eax int $0x80 diff --git a/libc/arch-x86/syscalls/swapon.S b/libc/arch-x86/syscalls/swapon.S index f6f47c6..687c492 100644 --- a/libc/arch-x86/syscalls/swapon.S +++ b/libc/arch-x86/syscalls/swapon.S @@ -5,6 +5,9 @@ ENTRY(swapon) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 6011560..1f33f7b 100644 --- a/libc/arch-x86/syscalls/symlinkat.S +++ b/libc/arch-x86/syscalls/symlinkat.S @@ -6,6 +6,10 @@ ENTRY(symlinkat) pushl %ebx pushl %ecx pushl %edx + .cfi_def_cfa_offset 12 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 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 518b39e..f80296f 100644 --- a/libc/arch-x86/syscalls/sync.S +++ b/libc/arch-x86/syscalls/sync.S @@ -4,6 +4,8 @@ ENTRY(sync) pushl %ebx + .cfi_def_cfa_offset 4 + .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_sync, %eax int $0x80 diff --git a/libc/arch-x86/syscalls/sysinfo.S b/libc/arch-x86/syscalls/sysinfo.S index 8fde6e4..8b9a23e 100644 --- a/libc/arch-x86/syscalls/sysinfo.S +++ b/libc/arch-x86/syscalls/sysinfo.S @@ -4,6 +4,8 @@ ENTRY(sysinfo) pushl %ebx + .cfi_def_cfa_offset 4 + .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_sysinfo, %eax int $0x80 diff --git a/libc/arch-x86/syscalls/tgkill.S b/libc/arch-x86/syscalls/tgkill.S index 9bd0b6f..e57645c 100644 --- a/libc/arch-x86/syscalls/tgkill.S +++ b/libc/arch-x86/syscalls/tgkill.S @@ -6,6 +6,10 @@ ENTRY(tgkill) pushl %ebx pushl %ecx pushl %edx + .cfi_def_cfa_offset 12 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 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 8546c34..33b2980 100644 --- a/libc/arch-x86/syscalls/timerfd_create.S +++ b/libc/arch-x86/syscalls/timerfd_create.S @@ -5,6 +5,9 @@ ENTRY(timerfd_create) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 5f39080..66b004b 100644 --- a/libc/arch-x86/syscalls/timerfd_gettime.S +++ b/libc/arch-x86/syscalls/timerfd_gettime.S @@ -5,6 +5,9 @@ ENTRY(timerfd_gettime) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 c017ca8..3f4035e 100644 --- a/libc/arch-x86/syscalls/timerfd_settime.S +++ b/libc/arch-x86/syscalls/timerfd_settime.S @@ -7,6 +7,11 @@ ENTRY(timerfd_settime) pushl %ecx pushl %edx pushl %esi + .cfi_def_cfa_offset 16 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 + .cfi_rel_offset esi, 12 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 7ada376..b9e2845 100644 --- a/libc/arch-x86/syscalls/times.S +++ b/libc/arch-x86/syscalls/times.S @@ -4,6 +4,8 @@ ENTRY(times) pushl %ebx + .cfi_def_cfa_offset 4 + .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_times, %eax int $0x80 diff --git a/libc/arch-x86/syscalls/tkill.S b/libc/arch-x86/syscalls/tkill.S index 326efa3..f8da369 100644 --- a/libc/arch-x86/syscalls/tkill.S +++ b/libc/arch-x86/syscalls/tkill.S @@ -5,6 +5,9 @@ ENTRY(tkill) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 mov 12(%esp), %ebx mov 16(%esp), %ecx movl $__NR_tkill, %eax diff --git a/libc/arch-x86/syscalls/truncate.S b/libc/arch-x86/syscalls/truncate.S index 0625621..019894c 100644 --- a/libc/arch-x86/syscalls/truncate.S +++ b/libc/arch-x86/syscalls/truncate.S @@ -5,6 +5,9 @@ ENTRY(truncate) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 0a45f8a..99b71b0 100644 --- a/libc/arch-x86/syscalls/truncate64.S +++ b/libc/arch-x86/syscalls/truncate64.S @@ -6,6 +6,10 @@ ENTRY(truncate64) pushl %ebx pushl %ecx pushl %edx + .cfi_def_cfa_offset 12 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 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 3534340..485b326 100644 --- a/libc/arch-x86/syscalls/umask.S +++ b/libc/arch-x86/syscalls/umask.S @@ -4,6 +4,8 @@ ENTRY(umask) pushl %ebx + .cfi_def_cfa_offset 4 + .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_umask, %eax int $0x80 diff --git a/libc/arch-x86/syscalls/umount2.S b/libc/arch-x86/syscalls/umount2.S index f5f9c66..100d38c 100644 --- a/libc/arch-x86/syscalls/umount2.S +++ b/libc/arch-x86/syscalls/umount2.S @@ -5,6 +5,9 @@ ENTRY(umount2) pushl %ebx pushl %ecx + .cfi_def_cfa_offset 8 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 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 6203567..f1ba3b9 100644 --- a/libc/arch-x86/syscalls/uname.S +++ b/libc/arch-x86/syscalls/uname.S @@ -4,6 +4,8 @@ ENTRY(uname) pushl %ebx + .cfi_def_cfa_offset 4 + .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_uname, %eax int $0x80 diff --git a/libc/arch-x86/syscalls/unlinkat.S b/libc/arch-x86/syscalls/unlinkat.S index 8527c0b..1a573d4 100644 --- a/libc/arch-x86/syscalls/unlinkat.S +++ b/libc/arch-x86/syscalls/unlinkat.S @@ -6,6 +6,10 @@ ENTRY(unlinkat) pushl %ebx pushl %ecx pushl %edx + .cfi_def_cfa_offset 12 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 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 00214bd..95fdbf6 100644 --- a/libc/arch-x86/syscalls/unshare.S +++ b/libc/arch-x86/syscalls/unshare.S @@ -4,6 +4,8 @@ ENTRY(unshare) pushl %ebx + .cfi_def_cfa_offset 4 + .cfi_rel_offset ebx, 0 mov 8(%esp), %ebx movl $__NR_unshare, %eax int $0x80 diff --git a/libc/arch-x86/syscalls/utimensat.S b/libc/arch-x86/syscalls/utimensat.S index 7869ebc..099f551 100644 --- a/libc/arch-x86/syscalls/utimensat.S +++ b/libc/arch-x86/syscalls/utimensat.S @@ -7,6 +7,11 @@ ENTRY(utimensat) pushl %ecx pushl %edx pushl %esi + .cfi_def_cfa_offset 16 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 + .cfi_rel_offset esi, 12 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 c887b6c..b6196f8 100644 --- a/libc/arch-x86/syscalls/wait4.S +++ b/libc/arch-x86/syscalls/wait4.S @@ -7,6 +7,11 @@ ENTRY(wait4) pushl %ecx pushl %edx pushl %esi + .cfi_def_cfa_offset 16 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 + .cfi_rel_offset esi, 12 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 60989af..971cb30 100644 --- a/libc/arch-x86/syscalls/write.S +++ b/libc/arch-x86/syscalls/write.S @@ -6,6 +6,10 @@ ENTRY(write) pushl %ebx pushl %ecx pushl %edx + .cfi_def_cfa_offset 12 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 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 f7e8a93..ab8e705 100644 --- a/libc/arch-x86/syscalls/writev.S +++ b/libc/arch-x86/syscalls/writev.S @@ -6,6 +6,10 @@ ENTRY(writev) pushl %ebx pushl %ecx pushl %edx + .cfi_def_cfa_offset 12 + .cfi_rel_offset ebx, 0 + .cfi_rel_offset ecx, 4 + .cfi_rel_offset edx, 8 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 58d1afd..7b1afbb 100755 --- a/libc/tools/gensyscalls.py +++ b/libc/tools/gensyscalls.py @@ -147,7 +147,7 @@ mips_call = "/* " + warning + " */\n" + \ # x86 assembler templates for each syscall stub # -x86_registers = [ "%ebx", "%ecx", "%edx", "%esi", "%edi", "%ebp" ] +x86_registers = [ "ebx", "ecx", "edx", "esi", "edi", "ebp" ] x86_call = """\ movl $%(__NR_name)s, %%eax @@ -289,20 +289,26 @@ def mips_genstub(syscall): def x86_genstub(syscall): result = syscall_stub_header % syscall - stack_bias = 4 numparams = count_generic_param_registers(syscall["params"]) - for r in range(numparams): - result += " pushl " + x86_registers[r] + "\n" - stack_bias += 4 - - for r in range(numparams): - result += " mov %d(%%esp), %s" % (stack_bias+r*4, x86_registers[r]) + "\n" + stack_bias = numparams*4 + 4 + offset = 0 + mov_result = "" + cfi_result = " .cfi_def_cfa_offset %d\n" % (numparams*4) + for register in x86_registers[:numparams]: + result += " pushl %%%s\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 += x86_call % syscall - for r in range(numparams): - result += " popl " + x86_registers[numparams-r-1] + "\n" + for register in reversed(x86_registers[:numparams]): + result += " popl %%%s\n" % register result += x86_return % syscall return result @@ -315,27 +321,28 @@ def x86_genstub_socketcall(syscall): # from the original function called (socket()) result = syscall_stub_header % syscall - stack_bias = 4 # save the regs we need - result += " pushl %ebx" + "\n" - stack_bias += 4 - result += " pushl %ecx" + "\n" - stack_bias += 4 + 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" + stack_bias = 12 # set the call id (%ebx) - result += " mov $%d, %%ebx" % syscall["socketcall_id"] + "\n" + result += " mov $%d, %%ebx\n" % syscall["socketcall_id"] # set the pointer to the rest of the args into %ecx - result += " mov %esp, %ecx" + "\n" - result += " addl $%d, %%ecx" % (stack_bias) + "\n" + result += " mov %esp, %ecx\n" + result += " addl $%d, %%ecx\n" % (stack_bias) # now do the syscall code itself result += x86_call % syscall # now restore the saved regs - result += " popl %ecx" + "\n" - result += " popl %ebx" + "\n" + result += " popl %ecx\n" + result += " popl %ebx\n" # epilog result += x86_return % syscall |
