aboutsummaryrefslogtreecommitdiff
path: root/usr.bin/kdump
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2015-12-22 20:33:49 +0000
committerJohn Baldwin <jhb@FreeBSD.org>2015-12-22 20:33:49 +0000
commit265e58989d94820a0845000733a5908bcf0d3b00 (patch)
tree12efcb04d4bc19b74d2554032b084f8fee602ddf /usr.bin/kdump
parentb63d070ad17e361cda7b769aac13ed87767f1958 (diff)
downloadsrc-265e58989d94820a0845000733a5908bcf0d3b00.tar.gz
src-265e58989d94820a0845000733a5908bcf0d3b00.zip
Notes
Diffstat (limited to 'usr.bin/kdump')
-rw-r--r--usr.bin/kdump/Makefile14
-rw-r--r--usr.bin/kdump/kdump.c17
-rw-r--r--usr.bin/kdump/mkioctls118
3 files changed, 17 insertions, 132 deletions
diff --git a/usr.bin/kdump/Makefile b/usr.bin/kdump/Makefile
index 52c0a09bcee2..f149e80fa109 100644
--- a/usr.bin/kdump/Makefile
+++ b/usr.bin/kdump/Makefile
@@ -6,7 +6,7 @@
.PATH: ${.CURDIR}/../ktrace
PROG= kdump
-SRCS= kdump_subr.c kdump_subr.h kdump.c ioctl.c subr.c
+SRCS= kdump_subr.c kdump_subr.h kdump.c subr.c
CFLAGS+= -I${.CURDIR}/../ktrace -I${.CURDIR} -I${.CURDIR}/../.. -I.
LIBADD= sysdecode
@@ -15,15 +15,9 @@ LIBADD+= capsicum
CFLAGS+=-DHAVE_LIBCAPSICUM
.endif
-.if ${MK_PF} != "no"
-CFLAGS+=-DPF
-.endif
-
NO_WERROR?= YES
-CLEANFILES= ioctl.c kdump_subr.c kdump_subr.h
-
-beforedepend: ioctl.c
+CLEANFILES= kdump_subr.c kdump_subr.h
.if (${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386")
beforedepend: linux_syscalls.c
@@ -44,10 +38,6 @@ linux32_syscalls.c: linux32_syscalls.conf
${.CURDIR}/../../sys/${MACHINE_ARCH}/linux32/syscalls.master ${.CURDIR}/linux32_syscalls.conf
.endif
-ioctl.c: mkioctls
- env MACHINE=${MACHINE} CPP="${CPP}" \
- sh ${.CURDIR}/mkioctls print ${DESTDIR}${INCLUDEDIR} > ${.TARGET}
-
kdump_subr.h: mksubr
sh ${.CURDIR}/mksubr ${DESTDIR}${INCLUDEDIR} | \
sed -n 's/^\([a-z].*)\)$$/void \1;/p' >${.TARGET}
diff --git a/usr.bin/kdump/kdump.c b/usr.bin/kdump/kdump.c
index 8165bc719453..7af99fb58659 100644
--- a/usr.bin/kdump/kdump.c
+++ b/usr.bin/kdump/kdump.c
@@ -116,7 +116,6 @@ void ktrfault(struct ktr_fault *);
void ktrfaultend(struct ktr_faultend *);
void limitfd(int fd);
void usage(void);
-void ioctlname(unsigned long, int);
#define TIMESTAMP_NONE 0x0
#define TIMESTAMP_ABSOLUTE 0x1
@@ -693,6 +692,20 @@ dumpheader(struct ktr_header *kth)
#undef KTRACE
int nsyscalls = sizeof (syscallnames) / sizeof (syscallnames[0]);
+static void
+ioctlname(unsigned long val)
+{
+ const char *str;
+
+ str = sysdecode_ioctlname(val);
+ if (str != NULL)
+ printf("%s", str);
+ else if (decimal)
+ printf("%lu", val);
+ else
+ printf("%#lx", val);
+}
+
void
ktrsyscall(struct ktr_syscall *ktr, u_int flags)
{
@@ -741,7 +754,7 @@ ktrsyscall(struct ktr_syscall *ktr, u_int flags)
case SYS_ioctl: {
print_number(ip, narg, c);
putchar(c);
- ioctlname(*ip, decimal);
+ ioctlname(*ip);
c = ',';
ip++;
narg--;
diff --git a/usr.bin/kdump/mkioctls b/usr.bin/kdump/mkioctls
deleted file mode 100644
index a5633418192a..000000000000
--- a/usr.bin/kdump/mkioctls
+++ /dev/null
@@ -1,118 +0,0 @@
-#!/bin/sh
-#
-# $FreeBSD$
-#
-# When editing this script, keep in mind that truss also uses it.
-#
-
-set -e
-
-if [ $# -ne 2 -o \( $1 != "print" -a $1 != "return" \) ]; then
- echo "usage: sh $0 print|return include-dir"
- exit 1
-fi
-
-style="$1"
-includedir="$2"
-
-LC_ALL=C; export LC_ALL
-
-# Build a list of headers that have ioctls in them.
-# XXX should we use an ANSI cpp?
-ioctl_includes=$(
- cd $includedir
- find -H -s * -name '*.h' | \
- egrep -v '(.*disk.*|net/pfvar|net/if_pfsync)\.h' | \
- xargs egrep -l \
-'^#[ ]*define[ ]+[A-Za-z_][A-Za-z0-9_]*[ ]+_IO[^a-z0-9_]' |
- awk '{printf("#include <%s>\\n", $1)}'
-)
-
-: ${MACHINE=$(uname -m)}
-case "${MACHINE}" in
-*pc98*)
- ioctl_includes="$ioctl_includes#include <sys/diskpc98.h>\\n"
- ;;
-*)
- ioctl_includes="$ioctl_includes#include <sys/diskmbr.h>\\n"
- ;;
-esac
-
-awk -v x="$ioctl_includes" 'BEGIN {print x}' |
- $CPP -nostdinc -I$includedir -dM -DCOMPAT_43TTY - |
- awk -v ioctl_includes="$ioctl_includes" -v style="$style" '
-BEGIN {
- print "/* XXX obnoxious prerequisites. */"
- print "#define COMPAT_43"
- print "#define COMPAT_43TTY"
- print "#include <sys/param.h>"
- print "#include <sys/devicestat.h>"
- print "#include <sys/disklabel.h>"
- print "#include <sys/socket.h>"
- print "#include <sys/time.h>"
- print "#include <sys/tty.h>"
- print "#include <bsm/audit.h>"
- print "#include <net/ethernet.h>"
- print "#include <net/if.h>"
- print "#ifdef PF"
- print "#include <net/pfvar.h>"
- print "#include <net/if_pfsync.h>"
- print "#endif"
- print "#include <net/route.h>"
- print "#include <netinet/in.h>"
- print "#include <netinet/ip_mroute.h>"
- print "#include <netinet6/in6_var.h>"
- print "#include <netinet6/nd6.h>"
- print "#include <netinet6/ip6_mroute.h>"
- print "#include <stdio.h>"
- print "#include <cam/cam.h>"
- print "#include <stddef.h>"
- print "#include <stdint.h>"
- print ""
- print ioctl_includes
- print ""
- if (style == "print") {
- print "void ioctlname(unsigned long val, int decimal);"
- print ""
- print "void"
- print "ioctlname(unsigned long val, int decimal)"
- } else {
- print "const char *ioctlname(unsigned long val);"
- print ""
- print "const char *"
- print "ioctlname(unsigned long val)"
- }
- print "{"
- print "\tconst char *str = NULL;"
- print ""
-}
-
-/^#[ ]*define[ ]+[A-Za-z_][A-Za-z0-9_]*[ ]+_IO/ {
-
- # find where the name starts
- for (i = 1; i <= NF; i++)
- if ($i ~ /define/)
- break;
- ++i;
- #
- printf("\t");
- if (n++ > 0)
- printf("else ");
- printf("if (val == %s)\n", $i);
- printf("\t\tstr = \"%s\";\n", $i);
-}
-END {
- print ""
- if (style == "print") {
- print "\tif (str != NULL)"
- print "\t\tprintf(\"%s\", str);"
- print "\telse if (decimal)"
- print "\t\tprintf(\"%lu\", val);"
- print "\telse"
- print "\t\tprintf(\"%#lx\", val);"
- } else {
- print "\treturn (str);"
- }
- print "}"
-}
-'