aboutsummaryrefslogtreecommitdiffstats
path: root/dev
diff options
context:
space:
mode:
authorMattias Andrée <maandree@kth.se>2023-11-26 18:46:14 +0100
committerMattias Andrée <maandree@kth.se>2023-11-26 18:46:14 +0100
commitab5c381b13d71bff20166a1c0b1d4e8ea1ebefec (patch)
tree20b0e41af90ec5140dbcf957a5b30b8069bdbcfc /dev
parentm (diff)
downloadsctrace-ab5c381b13d71bff20166a1c0b1d4e8ea1ebefec.tar.gz
sctrace-ab5c381b13d71bff20166a1c0b1d4e8ea1ebefec.tar.bz2
sctrace-ab5c381b13d71bff20166a1c0b1d4e8ea1ebefec.tar.xz
Add system calls and scripts for finding new and extended system calls
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to 'dev')
-rwxr-xr-xdev/new-accept4-flags14
-rwxr-xr-xdev/new-access-flags14
-rwxr-xr-xdev/new-syscalls16
-rwxr-xr-xdev/whats-new13
4 files changed, 57 insertions, 0 deletions
diff --git a/dev/new-accept4-flags b/dev/new-accept4-flags
new file mode 100755
index 0000000..019681b
--- /dev/null
+++ b/dev/new-accept4-flags
@@ -0,0 +1,14 @@
+#!/bin/sh
+set -e
+cd -- "$(dirname -- "$0")"
+
+cat ../print.c | \
+ sed '1,/^print_accept4_flags\s*(/d;1,/^\s*FLAGS_BEGIN\b/d;/^\s*FLAGS_END\b/q' | \
+ sed '$d' | tr \(\) ,, | cut -d , -f 2 | sort \
+ > .accept4-flags.old
+
+cat /usr/include/bits/socket_type.h | tr '\t' ' ' | \
+ grep ' *SOCK_.*= *0[0-9x]' | grep -o 'SOCK_[^ =]*' | sort \
+ > .accept4-flags.new
+
+exec diff -u .accept4-flags.old .accept4-flags.new
diff --git a/dev/new-access-flags b/dev/new-access-flags
new file mode 100755
index 0000000..8f9ee7d
--- /dev/null
+++ b/dev/new-access-flags
@@ -0,0 +1,14 @@
+#!/bin/sh
+set -e
+cd -- "$(dirname -- "$0")"
+
+cat ../print.c | \
+ sed '1,/^print_access_flags\s*(/d;1,/^\s*FLAGS_BEGIN\b/d;/^\s*FLAGS_END_DEFAULT\b/q' | \
+ tr \(\) ,, | cut -d , -f 2 | sort \
+ > .access-flags.old
+
+cat /usr/include/unistd.h | tr '\t' ' ' | \
+ grep ' *[^ ]\+_OK\b' | grep -o '[^ ]\+_OK' | sort \
+ > .access-flags.new
+
+exec diff -u .access-flags.old .access-flags.new
diff --git a/dev/new-syscalls b/dev/new-syscalls
new file mode 100755
index 0000000..1db64ec
--- /dev/null
+++ b/dev/new-syscalls
@@ -0,0 +1,16 @@
+#!/bin/sh
+set -e
+cd -- "$(dirname -- "$0")"
+
+cat ../print.c | \
+ sed '1,/^print_systemcall\s*(/d;1,/^\s*switch\s*(/d;/^\s*default\s*:/q' | \
+ sed '$d' | tr \(\) ,, | cut -d , -f 2 | sort \
+ > .syscalls.old
+
+(cat /usr/include/bits/syscall.h | \
+ grep '#\s*define' | grep -o 'SYS[^ ]*' | cut -d _ -f 2-; \
+ cat .syscalls.old) | \
+ sort | uniq \
+ > .syscalls.new
+
+exec diff -u .syscalls.old .syscalls.new
diff --git a/dev/whats-new b/dev/whats-new
new file mode 100755
index 0000000..506a302
--- /dev/null
+++ b/dev/whats-new
@@ -0,0 +1,13 @@
+#!/bin/sh
+cd -- "$(dirname -- "$0")"
+status=0
+for cmd in \
+ new-syscalls \
+ new-accept4-flags \
+ new-access-flags
+do
+ if ! ./$cmd; then
+ status=1
+ fi
+done
+exit $status