diff options
author | Kamil Rytarowski <n54@gmx.com> | 2019-12-24 20:34:58 +0100 |
---|---|---|
committer | Kamil Rytarowski <n54@gmx.com> | 2019-12-24 20:34:58 +0100 |
commit | 4b8232d4f0bf5fd9f11ebef2b0f9e8e15f130fb3 (patch) | |
tree | 6df81b98ac0c04b102079909913c8de06f4bcd9d /compiler-rt/utils/generate_netbsd_syscalls.awk | |
parent | fc356dcc11c10003ff22acff667b0a9f5e6c1e0f (diff) | |
download | bcm5719-llvm-4b8232d4f0bf5fd9f11ebef2b0f9e8e15f130fb3.tar.gz bcm5719-llvm-4b8232d4f0bf5fd9f11ebef2b0f9e8e15f130fb3.zip |
[compiler-rt] Adapt for ptrace(2) changes in NetBSD-9.99.30
Enable compat support for now legacy PT_LWPINFO.
Support PT_LWPSTATUS and PT_LWPNEXT.
Diffstat (limited to 'compiler-rt/utils/generate_netbsd_syscalls.awk')
-rwxr-xr-x | compiler-rt/utils/generate_netbsd_syscalls.awk | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/compiler-rt/utils/generate_netbsd_syscalls.awk b/compiler-rt/utils/generate_netbsd_syscalls.awk index 3f6d5a024a6..cc7ba314ea5 100755 --- a/compiler-rt/utils/generate_netbsd_syscalls.awk +++ b/compiler-rt/utils/generate_netbsd_syscalls.awk @@ -19,7 +19,7 @@ # This script will emit compat code for the older releases. # # NetBSD minimal version supported 9.0. -# NetBSD current version supported 9.99.17. +# NetBSD current version supported 9.99.30. # #===------------------------------------------------------------------------===# @@ -733,6 +733,14 @@ function syscall_body(syscall, mode) pcmd(" PRE_READ(addr_, struct_ptrace_ptrace_siginfo_struct_sz);") pcmd("} else if (req_ == ptrace_pt_get_siginfo) {") pcmd(" PRE_WRITE(addr_, struct_ptrace_ptrace_siginfo_struct_sz);") + pcmd("} else if (req_ == ptrace_pt_lwpstatus) {") + pcmd(" struct __sanitizer_ptrace_lwpstatus *addr = (struct __sanitizer_ptrace_lwpstatus *)addr_;") + pcmd(" PRE_READ(&addr->pl_lwpid, sizeof(__sanitizer_lwpid_t));") + pcmd(" PRE_WRITE(addr, struct_ptrace_ptrace_lwpstatus_struct_sz);") + pcmd("} else if (req_ == ptrace_pt_lwpnext) {") + pcmd(" struct __sanitizer_ptrace_lwpstatus *addr = (struct __sanitizer_ptrace_lwpstatus *)addr_;") + pcmd(" PRE_READ(&addr->pl_lwpid, sizeof(__sanitizer_lwpid_t));") + pcmd(" PRE_WRITE(addr, struct_ptrace_ptrace_lwpstatus_struct_sz);") pcmd("} else if (req_ == ptrace_pt_setregs) {") pcmd(" PRE_READ(addr_, struct_ptrace_reg_struct_sz);") pcmd("} else if (req_ == ptrace_pt_getregs) {") @@ -769,6 +777,14 @@ function syscall_body(syscall, mode) pcmd(" POST_READ(addr_, struct_ptrace_ptrace_siginfo_struct_sz);") pcmd(" } else if (req_ == ptrace_pt_get_siginfo) {") pcmd(" POST_WRITE(addr_, struct_ptrace_ptrace_siginfo_struct_sz);") + pcmd(" } else if (req_ == ptrace_pt_lwpstatus) {") + pcmd(" struct __sanitizer_ptrace_lwpstatus *addr = (struct __sanitizer_ptrace_lwpstatus *)addr_;") + pcmd(" POST_READ(&addr->pl_lwpid, sizeof(__sanitizer_lwpid_t));") + pcmd(" POST_WRITE(addr, struct_ptrace_ptrace_lwpstatus_struct_sz);") + pcmd(" } else if (req_ == ptrace_pt_lwpnext) {") + pcmd(" struct __sanitizer_ptrace_lwpstatus *addr = (struct __sanitizer_ptrace_lwpstatus *)addr_;") + pcmd(" POST_READ(&addr->pl_lwpid, sizeof(__sanitizer_lwpid_t));") + pcmd(" POST_WRITE(addr, struct_ptrace_ptrace_lwpstatus_struct_sz);") pcmd(" } else if (req_ == ptrace_pt_setregs) {") pcmd(" POST_READ(addr_, struct_ptrace_reg_struct_sz);") pcmd(" } else if (req_ == ptrace_pt_getregs) {") |