summaryrefslogtreecommitdiffstats
path: root/compiler-rt/utils/generate_netbsd_syscalls.awk
diff options
context:
space:
mode:
authorKamil Rytarowski <n54@gmx.com>2019-12-24 20:34:58 +0100
committerKamil Rytarowski <n54@gmx.com>2019-12-24 20:34:58 +0100
commit4b8232d4f0bf5fd9f11ebef2b0f9e8e15f130fb3 (patch)
tree6df81b98ac0c04b102079909913c8de06f4bcd9d /compiler-rt/utils/generate_netbsd_syscalls.awk
parentfc356dcc11c10003ff22acff667b0a9f5e6c1e0f (diff)
downloadbcm5719-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-xcompiler-rt/utils/generate_netbsd_syscalls.awk18
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) {")
OpenPOWER on IntegriCloud